Opened 10 years ago

Last modified 16 months ago

#2970 new bug

Adamation personalStudio 1.5 trial don't work on Haiku 28283

Reported by: miqlas Owned by: modeenf
Priority: normal Milestone: R1
Component: Applications Version: R1/pre-alpha1
Keywords: Cc: stippi, Barrett
Blocked By: Blocking:
Has a Patch: no Platform: x86

Description

I installed the Adamation pS 1.5 trial (i downloaded it from BeShare, personalStudio_1.5_en_tri.pkg), but i can't run it.

Attachments (7)

MediaEncoder.diff (5.7 KB) - added by BeSman 9 years ago.
This is a patch which implements BMediaEncoder classes, sorry but I cant test it becose found only one app which using it - PersonalStudio, and its crash somewhere else...maybe try to compile haiku media kit on BeOS and test it there…
media.diff (9.1 KB) - added by modeenf 7 years ago.
First take :)
media.2.diff (25.8 KB) - added by modeenf 7 years ago.
LegacyPackageInstaller-1039-debug-02-12-2015-17-56-19.report (21.6 KB) - added by vidrep 3 years ago.
personalStudio-1204-debug-02-12-2015-17-58-28.report (19.7 KB) - added by vidrep 3 years ago.
PersonalStudio_log (939 bytes) - added by vidrep 3 years ago.
personalStudio.strace (38.2 KB) - added by Barrett 3 years ago.
personal studio hang up strace

Download all attachments as: .zip

Change History (32)

comment:1 Changed 10 years ago by miqlas

It says in terminal:

~> /boot/apps/personalStudio_1.5/personalStudio
couldn't find MediaServerPort
couldn't find MediaAddonServerPort
UNIMPLEMENTED status_t get_next_file_format(int32 *, media_file_format *)
Kill Thread

And in debugger:

(gdb) bt
#0  0x0000029c in ?? ()
#1  0x00574638 in _sm_sort_ability_helper_list ()
   from /boot/apps/personalStudio_1.5/lib/libamedia.so
#2  0x00574546 in id_file ()
   from /boot/apps/personalStudio_1.5/lib/libamedia.so
#3  0x005737b2 in SMInit () from /boot/apps/personalStudio_1.5/lib/libamedia.so
#4  0x003be88a in AApplication::InitLibSuperMedia ()
#5  0x003bc717 in AApplication::AApplication ()
#6  0x002d57e5 in APersonalStudioApp::APersonalStudioApp ()
#7  0x002da523 in main ()

comment:2 Changed 10 years ago by modeenf

Owner: changed from axeld to modeenf

comment:3 Changed 9 years ago by miqlas

I tested again, it says in Terminal:

~> /boot/apps/personalStudio_1.5/personalStudio
UNIMPLEMENTED BMediaEncoder::BMediaEncoder()
UNIMPLEMENTED BMediaBufferEncoder::BMediaBufferEncoder()
UNIMPLEMENTED status_t BMediaEncoder::SetTo(const media_codec_info *)
UNIMPLEMENTED status_t BMediaEncoder::SetFormat(media_format *, media_format *, media_file_format * = 0)
UNIMPLEMENTED status_t BMediaEncoder::InitCheck() const
UNIMPLEMENTED status_t BMediaEncoder::GetEncodeParameters(encode_parameters *) const
PluginManager::CreateDecoder: can't get decoder for format: Bad media format
UNIMPLEMENTED BMediaEncoder::BMediaEncoder()
UNIMPLEMENTED BMediaBufferEncoder::BMediaBufferEncoder()
UNIMPLEMENTED status_t BMediaEncoder::SetTo(const media_codec_info *)
UNIMPLEMENTED status_t BMediaEncoder::SetFormat(media_format *, media_format *, media_file_format * = 0)
UNIMPLEMENTED status_t BMediaEncoder::InitCheck() const
UNIMPLEMENTED status_t BMediaEncoder::GetEncodeParameters(encode_parameters *) const
UNIMPLEMENTED BMediaEncoder::BMediaEncoder()
UNIMPLEMENTED BMediaBufferEncoder::BMediaBufferEncoder()
UNIMPLEMENTED status_t BMediaEncoder::SetTo(const media_codec_info *)
UNIMPLEMENTED status_t BMediaEncoder::SetFormat(media_format *, media_format *, media_file_format * = 0)
UNIMPLEMENTED status_t BMediaEncoder::InitCheck() const
UNIMPLEMENTED status_t BMediaEncoder::GetEncodeParameters(encode_parameters *) const
UNIMPLEMENTED BMediaEncoder::BMediaEncoder()
UNIMPLEMENTED BMediaBufferEncoder::BMediaBufferEncoder()
UNIMPLEMENTED status_t BMediaEncoder::SetTo(const media_codec_info *)
UNIMPLEMENTED status_t BMediaEncoder::SetFormat(media_format *, media_format *, media_file_format * = 0)
UNIMPLEMENTED status_t BMediaEncoder::InitCheck() const
UNIMPLEMENTED status_t BMediaEncoder::GetEncodeParameters(encode_parameters *) const
PluginManager::CreateDecoder: can't get decoder for format: Bad media format
UNIMPLEMENTED BMediaEncoder::~BMediaEncoder()
UNIMPLEMENTED BMediaEncoder::BMediaEncoder()
UNIMPLEMENTED BMediaBufferEncoder::BMediaBufferEncoder()
UNIMPLEMENTED status_t BMediaEncoder::SetTo(const media_codec_info *)
UNIMPLEMENTED status_t BMediaEncoder::SetFormat(media_format *, media_format *, media_file_format * = 0)
UNIMPLEMENTED status_t BMediaEncoder::InitCheck() const
UNIMPLEMENTED status_t BMediaEncoder::GetEncodeParameters(encode_parameters *) const
UNIMPLEMENTED BMediaEncoder::~BMediaEncoder()
UNIMPLEMENTED BMediaEncoder::BMediaEncoder()
UNIMPLEMENTED BMediaBufferEncoder::BMediaBufferEncoder()
UNIMPLEMENTED status_t BMediaEncoder::SetTo(const media_codec_info *)
UNIMPLEMENTED status_t BMediaEncoder::SetFormat(media_format *, media_format *, media_file_format * = 0)
UNIMPLEMENTED status_t BMediaEncoder::InitCheck() const
UNIMPLEMENTED status_t BMediaEncoder::GetEncodeParameters(encode_parameters *) const
UNIMPLEMENTED BMediaEncoder::~BMediaEncoder()
UNIMPLEMENTED BMediaEncoder::BMediaEncoder()
UNIMPLEMENTED BMediaBufferEncoder::BMediaBufferEncoder()
UNIMPLEMENTED status_t BMediaEncoder::SetTo(const media_codec_info *)
UNIMPLEMENTED status_t BMediaEncoder::SetFormat(media_format *, media_format *, media_file_format * = 0)
UNIMPLEMENTED status_t BMediaEncoder::InitCheck() const
UNIMPLEMENTED status_t BMediaEncoder::GetEncodeParameters(encode_parameters *) const
PluginManager::CreateDecoder: can't get decoder for format: Bad media format
UNIMPLEMENTED BMediaEncoder::BMediaEncoder()
UNIMPLEMENTED BMediaBufferEncoder::BMediaBufferEncoder()
UNIMPLEMENTED status_t BMediaEncoder::SetTo(const media_codec_info *)
UNIMPLEMENTED status_t BMediaEncoder::SetFormat(media_format *, media_format *, media_file_format * = 0)
UNIMPLEMENTED status_t BMediaEncoder::InitCheck() const
UNIMPLEMENTED status_t BMediaEncoder::GetEncodeParameters(encode_parameters *) const
PluginManager::CreateDecoder: can't get decoder for format: Bad media format
UNIMPLEMENTED BMediaEncoder::BMediaEncoder()
UNIMPLEMENTED BMediaBufferEncoder::BMediaBufferEncoder()
UNIMPLEMENTED status_t BMediaEncoder::SetTo(const media_codec_info *)
UNIMPLEMENTED status_t BMediaEncoder::SetFormat(media_format *, media_format *, media_file_format * = 0)
UNIMPLEMENTED status_t BMediaEncoder::InitCheck() const
UNIMPLEMENTED status_t BMediaEncoder::GetEncodeParameters(encode_parameters *) const
PluginManager::CreateDecoder: can't get decoder for format: Bad media format
UNIMPLEMENTED BMediaEncoder::BMediaEncoder()
UNIMPLEMENTED BMediaBufferEncoder::BMediaBufferEncoder()
UNIMPLEMENTED status_t BMediaEncoder::SetTo(const media_codec_info *)
UNIMPLEMENTED status_t BMediaEncoder::SetFormat(media_format *, media_format *, media_file_format * = 0)
UNIMPLEMENTED status_t BMediaEncoder::InitCheck() const
UNIMPLEMENTED status_t BMediaEncoder::GetEncodeParameters(encode_parameters *) const
UNIMPLEMENTED BMediaEncoder::BMediaEncoder()
UNIMPLEMENTED BMediaBufferEncoder::BMediaBufferEncoder()
UNIMPLEMENTED status_t BMediaEncoder::SetTo(const media_codec_info *)
UNIMPLEMENTED status_t BMediaEncoder::SetFormat(media_format *, media_format *, media_file_format * = 0)
UNIMPLEMENTED status_t BMediaEncoder::InitCheck() const
UNIMPLEMENTED status_t BMediaEncoder::GetEncodeParameters(encode_parameters *) const
UNIMPLEMENTED BMediaEncoder::BMediaEncoder()
UNIMPLEMENTED BMediaBufferEncoder::BMediaBufferEncoder()
UNIMPLEMENTED status_t BMediaEncoder::SetTo(const media_codec_info *)
UNIMPLEMENTED status_t BMediaEncoder::SetFormat(media_format *, media_format *, media_file_format * = 0)
UNIMPLEMENTED status_t BMediaEncoder::InitCheck() const
UNIMPLEMENTED status_t BMediaEncoder::GetEncodeParameters(encode_parameters *) const
PluginManager::CreateDecoder: can't get decoder for format: Bad media format
UNIMPLEMENTED BMediaEncoder::BMediaEncoder()
UNIMPLEMENTED BMediaBufferEncoder::BMediaBufferEncoder()
UNIMPLEMENTED status_t BMediaEncoder::SetTo(const media_codec_info *)
UNIMPLEMENTED status_t BMediaEncoder::SetFormat(media_format *, media_format *, media_file_format * = 0)
UNIMPLEMENTED status_t BMediaEncoder::InitCheck() const
UNIMPLEMENTED status_t BMediaEncoder::GetEncodeParameters(encode_parameters *) const
UNIMPLEMENTED BMediaEncoder::BMediaEncoder()
UNIMPLEMENTED BMediaBufferEncoder::BMediaBufferEncoder()
UNIMPLEMENTED status_t BMediaEncoder::SetTo(const media_codec_info *)
UNIMPLEMENTED status_t BMediaEncoder::SetFormat(media_format *, media_format *, media_file_format * = 0)
UNIMPLEMENTED status_t BMediaEncoder::InitCheck() const
UNIMPLEMENTED status_t BMediaEncoder::GetEncodeParameters(encode_parameters *) const
AFontEngine::FindFace - NOT FOUND: 'Swis721 BT'  'Roman'
AFontEngine::FindFace - NOT FOUND: 'Swis721 BT'  'Bold'
AFontEngine::FindFace - NOT FOUND: 'Swis721 BT'  'Roman'
AFontEngine::FindFace - NOT FOUND: 'Swis721 BT'  'Roman'
AFontInstance::Init: No font 'Swis721 BT' / 'Roman'
AFontEngine::FindFace - NOT FOUND: 'Swis721 BT'  'Roman'
AFontInstance::Init: No font 'Swis721 BT' / 'Roman'
AFontEngine::FindFace - NOT FOUND: 'Swis721 BT'  'Roman'
AFontInstance::Init: No font 'Swis721 BT' / 'Roman'

And in debugger:

[tcsetpgrp failed in terminal_inferior: Invalid Argument]
[Switching to team /boot/apps/personalStudio_1.5/personalStudio (10640) thread personalStudio (10640)]
0x0088d4c3 in _IO_seekoff_unlocked () from /boot/system/lib/libroot.so
(gdb) bt
#0  0x0088d4c3 in _IO_seekoff_unlocked () from /boot/system/lib/libroot.so
#1  0x00889c8d in fseek () from /boot/system/lib/libroot.so
#2  0x003958b8 in AImageArchive::ReadEncoded ()
#3  0x00395319 in AImageArchive::BorrowImage ()
#4  0x00339922 in ATextWell::Initialize ()
#5  0x003395c2 in ATextWell::ATextWell ()
#6  0x0042a244 in ATextWell::Factory ()
#7  0x00393073 in AReanimator::CreateGraphic ()
#8  0x00393349 in AReanimator::Instantiate_Recurse ()
#9  0x003933e2 in AReanimator::Instantiate_Recurse ()
#10 0x003933e2 in AReanimator::Instantiate_Recurse ()
#11 0x003930d1 in AReanimator::ComeToLife ()
#12 0x0031be03 in AGUI::Instantiate ()
#13 0x002d7d80 in APersonalStudioApp::DisplayCanvasWindow ()
#14 0x002d7046 in APersonalStudioApp::ReadyToRun ()
#15 0x0064de69 in BApplication::DispatchMessage ()
   from /boot/system/lib/libbe.so
#16 0x00659069 in BLooper::task_looper () from /boot/system/lib/libbe.so
#17 0x0064cab5 in BApplication::Run () from /boot/system/lib/libbe.so
#18 0x002da570 in main ()

comment:4 Changed 9 years ago by miqlas

And in the syslog:

KERN: libnetwork.so running in R5 compatibility mode.
KERN: vm_soft_fault: va 0x506f7000 not covered by area in address space
KERN: vm_page_fault: vm_soft_fault returned error 'Bad address' on fault at 0x506f72b8, ip 0x88d4c3, write 0, user 1, thread 0x2990
KERN: vm_page_fault: thread "personalStudio" (10640) in team "personalStudio" (10640) tried to read address 0x506f72b8, ip 0x88d4c3 ("libroot.so_seg0ro" +0x554c3)
KERN: debug_server: Thread 10640 entered the debugger: Segment violation
KERN: stack trace, current PC 0x88d4c3  _IO_seekoff_unlocked + 0xcb:
KERN:   (0x7ffee75c)  0x889c8d  fseek + 0x4d
KERN:   (0x7ffee7ac)  0x3958b8  ReadEncoded__C13AImageArchivePvPCcUl + 0x78
KERN:   (0x7ffee7d4)  0x395319  BorrowImage__13AImageArchivePCcUlT1b + 0xcd
KERN:   (0x7ffee944)  0x339922  Initialize__9ATextWell + 0x1d6
KERN:   (0x7ffee9b4)  0x3395c2  __9ATextWellP8xml_node + 0xe2
KERN:   (0x7ffee9c8)  0x42a244  Factory__9ATextWellP8xml_node + 0x34
KERN:   (0x7ffee9ec)  0x393073  CreateGraphic__11AReanimatorP8xml_node + 0x5f
KERN:   (0x7ffeea08)  0x393349  Instantiate_Recurse__11AReanimatorP8xml_nodeb + 0x2d
KERN:   (0x7ffeea44)  0x3933e2  Instantiate_Recurse__11AReanimatorP8xml_nodeb + 0xc6
KERN:   (0x7ffeea84)  0x3933e2  Instantiate_Recurse__11AReanimatorP8xml_nodeb + 0xc6
KERN:   (0x7ffeeac4)  0x3930d1  ComeToLife__11AReanimatorP8xml_nodebT2 + 0x45
KERN:   (0x7ffeeadc)  0x31be03  Instantiate__4AGUIPCc + 0xdf
KERN:   (0x7ffeeb14)  0x2d7d80  DisplayCanvasWindow__18APersonalStudioAppP4AGUIb + 0x2c
KERN:   (0x7ffeebe0)  0x2d7046  ReadyToRun__18APersonalStudioApp + 0x35a
KERN:   (0x7ffeecdc)  0x64de69  DispatchMessage__12BApplicationP8BMessageP8BHandler + 0x2f9
KERN:   (0x7ffeeecc)  0x659069  task_looper__7BLooper + 0x211
KERN:   (0x7ffeef0c)  0x64cab5  Run__12BApplication + 0x75
KERN:   (0x7ffeef4c)  0x2da570  main + 0x140
KERN:   (0x7ffeef80)  0x2d56a5  _start + 0x61
KERN:   (0x7ffeefac)  0x105b52  runtime_loader + 0x14a

Changed 9 years ago by BeSman

Attachment: MediaEncoder.diff added

This is a patch which implements BMediaEncoder classes, sorry but I cant test it becose found only one app which using it - PersonalStudio, and its crash somewhere else...maybe try to compile haiku media kit on BeOS and test it there...

comment:5 Changed 9 years ago by stippi

Good work on that patch. A few points:

  • Can you comment on why you don't need to call get_next_encoder() in a loop in BMediaEncoder::SetTo(const media_format *output_format)? I don't quite recall the semantics of that function right now.
  • Some coding style violations: The opening bracket for functions always goes on a separate line.
  • AttachToDecoder() is not checking fEncoder for being valid. Also, shouldn't this be a private method?

Thanks a lot for working on this!

comment:6 Changed 9 years ago by stippi

Forgot to mention: GetEncodeParameters and SetEncodeParameters also need to return B_NO_INIT if fEncoder is NULL.

More coding style violations:

  • Always a space between if, for, while and so on and the opening bracket.
  • The "else" goes on the same line as the closing bracket of the preceeding "if".

comment:7 in reply to:  5 Changed 8 years ago by modeenf

Replying to stippi:

Good work on that patch. A few points:

  • Can you comment on why you don't need to call get_next_encoder() in a loop in BMediaEncoder::SetTo(const media_format *output_format)? I don't quite recall the semantics of that function right now.

No it needs to do the loop an then return the found encoder so this have been changed

  • Some coding style violations: The opening bracket for functions always goes on a separate line.

Fixed.

  • AttachToDecoder() is not checking fEncoder for being valid. Also, shouldn't this be a private method?

Fixed

Thanks a lot for working on this!

I have looked in to this but as you perhaps have seen I wanted to get my network card to work :) I have also done the same changes and checks in MediaDecoder following BeBook

Do you want to have a diff to play with or should i commit? Also what have we that one can test this?

comment:8 Changed 7 years ago by modeenf

debugging Media kit gives same response as tiket #6748

comment:9 Changed 7 years ago by stippi

Cc: stippi added

comment:10 Changed 7 years ago by stippi

modeenf, Can you first upload your changed and fixed patches?

Changed 7 years ago by modeenf

Attachment: media.diff added

First take :)

comment:11 Changed 7 years ago by modeenf

Has a Patch: set

comment:12 Changed 7 years ago by modeenf

Added a first version :)

I must say that I don't know that much on what's missing..

Changed 7 years ago by modeenf

Attachment: media.2.diff added

comment:13 Changed 7 years ago by modeenf

New diff. (big one) Now I have no crash in PersonalStudio 1.5 but it hangs before a windows shows..

Stephan : do you have time to have a look at it?

Last edited 7 years ago by modeenf (previous) (diff)

comment:14 Changed 4 years ago by Barrett

Cc: Barrett added

comment:15 Changed 4 years ago by Barrett

I'm managing to get the patch applied, but it will take some weeks probably : p

comment:16 Changed 4 years ago by modeenf

Take what time you need ;)

I'm glad for what ever you can do :)

comment:17 Changed 3 years ago by Barrett

Finally I've got the time to submit the initial implementation, there is still some work to do and things to clarify as how the BeOS implementation behaved under certain conditions is pretty obscure. Unfortunately, PersonalStudio isn't running still, and I should probably switch to a gcc2 based build to accomplish so, always in the hope that it's not using undocumented API.

Thanks for the patch!

comment:18 Changed 3 years ago by vidrep

hrev49898 x86_gcc2 Attempt to install trial version of Adamation PersonalStudio LegacyPackageInstaller triggers debugger (debug report attached) Second installation attempt appears successful Opening PersonalStudio from terminal triggers debugger (debug report attached) Output from terminal session attached.

Changed 3 years ago by vidrep

Attachment: PersonalStudio_log added

comment:19 Changed 3 years ago by diver

LegacyPackageInstaller crash is being tracked in #11882.

comment:20 Changed 3 years ago by stippi

From the personalStudio log, it looks like it may be expecting to load an image (for example icons) from a certain location, but doesn't find it. Maybe the path re-mapping in the legacy installer needs to map more paths, so that personalStudio finds the image(s) after installation. Analysing the package and comparing with final install locations might reveal what the problem is.

comment:21 Changed 3 years ago by Barrett

I would follow this path then, but I have not idea on how to analyze or extract the raw pkg. Any suggestion?

comment:22 Changed 3 years ago by Barrett

It seems it get locked while trying to read an xml file :

		0x72934858	0x20b9e38	__mutex_lock + 0x74 
		0x72934888	0x2132ede	BPrivate::hoardLock(mutex&) + 0x1a 
		0x729348c8	0x21360ff	BPrivate::processHeap::free(void*) + 0x113 
		0x729348f8	0x21377a1	free + 0xa9 
		0x72934928	0x20e49f4	_IO_fclose + 0xdc 
		0x72934950	0x1acd165	xml_parser::read(char*) + 0x39 
		0x729349d0	0x1aca867	xml_file::DoRead(bool) + 0xa7 
		0x729349fc	0x1acf59a	ALangFile::Initialize(char*) + 0x9a 
		0x72934a28	0x19d8792	AGraph2D::Initialize_Start(char*) + 0x32 
		0x72934c68	0x1991a6e	__18APersonalStudioAppPCcPv + 0x2ae 
		0x72934ca4	0x199651e	main + 0xee 
		0x72934cc8	0x19916a0	_start + 0x5c 
		0x72934d18	0x22ed80f	runtime_loader + 0xdf 
		00000000	0x62126250	commpage_thread_exit + 0 

Looking at the trace, it seems locked in a _kern_seek. It may be missing some paths, but it seems the reason for not trying to show the window.

comment:23 Changed 3 years ago by diver

strace personalStudio | grep personalStudio_1.5 shows that the last file it tries to read is pS_lang.xml. PackageBuilder from R5 DevTools used to be able to extract files from .pkg under Haiku but it seems that it no longer works. It now shows an alert with "Encountered an error when decompressing file".

comment:24 Changed 3 years ago by Barrett

Finally it seems the problem isn't in ourt package installer. I'm attaching the last strace info, as said in the latest post it is locked in a series of _kernel_seek. Another thing to note is that the Decoder always fails, but no clue if it may be related to this seek loop (I guess no).

Changed 3 years ago by Barrett

Attachment: personalStudio.strace added

personal studio hang up strace

comment:25 Changed 16 months ago by waddlesplash

Has a Patch: unset
Note: See TracTickets for help on using tickets.