Opened 11 years ago
Last modified 6 years ago
#10923 assigned bug
[kernel] Descent 1X freezes the OS
Reported by: | diver | Owned by: | stippi |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | Servers/app_server | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
Descent 1X found at http://www.bebits.com/app/343 frrezes Haiku on launch
Attachments (1)
Change History (6)
by , 11 years ago
Attachment: | Descent.zip added |
---|
comment:1 by , 8 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:2 by , 6 years ago
Component: | System/Kernel → Servers/app_server |
---|---|
Owner: | changed from | to
comment:3 by , 6 years ago
Yeah, a slightly deeper investigation in KDL shows that Descent has somehow acquired the HWInterface lock and isn't letting it go, and so app_server is deadlocked trying to acquire it itself.
Probably app_server should be made robust against these kinds of problems; we can't expect applications to not misbehave here. But I'm not sure how to do that here, so this really is a problem for someone who understands how app_server fits together better.
comment:4 by , 6 years ago
Well, when an app uses BWindowScreen and keeps the accelerant all for itself, there isn't much we can do. It's possible the game attempts to run, but our accelerant don't implement most of the acceleration hooks so it doesn't manage to draw its things?
comment:5 by , 6 years ago
Does it use BdirectWindow or BWindowScreen? The former is working well and it's well tested, the latter has been tested on a limited range of applications.
So at least on VirtualBox, this is a "soft hang" and not a freeze; the mouse cursor continues to function and windows can be moved around, but none redraw. On VMware, this is a "hard hang", although the game's window redraws for a few seconds before everything freezes completely.
Probably a BDirectWindow/app_server communication bug, then. Reassigning to stippi, he said he'd try to get back into Haiku development over the holidays, and this seems like a good place to start? :)