Opened 17 years ago
Closed 4 years ago
#2105 closed bug (fixed)
BeLiveR5 hangs on splash screen
Reported by: | kaoutsis | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | R1/beta3 |
Component: | - General | Version: | R1/alpha4.1 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Attachments (1)
Change History (8)
comment:1 by , 17 years ago
comment:2 by , 13 years ago
Still hangs in hrev42434. After some debugging and source observation, here is what happens :
- The splash screen is created in the BApplication constructor, and shown there.
- It uses BTranslationUtils to load its picture.
- BTranslationUtils->GetBitmap tries to lock the application BLooper. Since the constructor is not finished, Run() was not called, so it waits on that.
- The constructor does more things ; later it wants to close the splash screen, and to do this, it tries to Lock() it. But the splashscreen is still trying to lock the application...
So, the app Run() will never get called. We have a deadlock!
Attached is a minimal application replicating the issue.
Seems like on BeOS, TranslationUtils didn't need to lock the BApplication ?
comment:3 by , 13 years ago
I'm not sure if it's worth to fix that. In any case, the problem stems from the BTranslatorRoster::Private class which adds itself as a handler to be_app, in order to provide node monitoring support for the translators. This tremendously cuts speeds up loading things from via translators, as they don't have to be reloaded every time you load something using it. I tried to save adding another looper for all teams that use the translation kit.
Alternatively, we could just add a port, and evaluate the notifications only every time the kit is used.
In any case, we should try to have a single usable implementation of such an add-on listener somewhere (I know that there is one in our storage kit, but I'm not really confident with that one).
comment:4 by , 12 years ago
The original BeLive can now be found here: http://dev.osdrawer.net/attachments/download/51/BeLiveR5.zip
And this is still a problem on R1/alpha4.1
comment:6 by , 12 years ago
Version: | R1/pre-alpha1 → R1/alpha4.1 |
---|
comment:7 by , 8 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:8 by , 4 years ago
Milestone: | R1 → R1/beta3 |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
Fixed in hrev54492.
revision is hrev25058