Opened 18 years ago
Closed 15 years ago
#885 closed bug (fixed)
[app_server] deadlock on font change
Reported by: | diver | Owned by: | axeld |
---|---|---|---|
Priority: | critical | Milestone: | R1 |
Component: | Servers/app_server | Version: | R1/pre-alpha1 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
I can reproduce it only on real hw now. After i compile recent haiku sources and boot it, i set resolution to 1152*864@77.1 Hzafter that i lauched Fonts from Terminal and changed default to DjVu font (as it support cyrillic glyphs), a second later app_server freezed.
Change History (8)
comment:1 by , 18 years ago
Priority: | normal → critical |
---|
comment:2 by , 18 years ago
Axel, I might be wrong, but the case for AS_SET_SYSTEM_FONT, in ServerApp, looks suspicious.
There we acquire the gFontManager lock, then we instantiate a LockedDesktopSettings, which in turn tries to acquire the gFontManager lock again (in DesktopSettingsPrivate::_Load()).
comment:3 by , 18 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
While AS_SET_SYSTEM_FONT was indeed to blame, DesktopSettingsPrivate::_Load() was not called in this context. However, ServerFont::SetFamilyAndStyle() implicitly locks the font manager, and thus, it dead locked with the case above: you must not hold the font manager lock when locking the desktop. Fixed in hrev19051.
comment:4 by , 17 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Happens again 2 times in hrev22510, reopening.
comment:8 by , 15 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
There have been many changes and the bug is not reproducible anymore. Closing.
Bug #893 is a duplicate of this one.