Opened 14 years ago

Closed 11 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


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 axeld, 14 years ago

Priority: normalcritical

Bug #893 is a duplicate of this one.

comment:2 by jackburton, 14 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 axeld, 14 years ago

Resolution: fixed
Status: newclosed

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 diver, 13 years ago

Resolution: fixed
Status: closedreopened

Happens again 2 times in hrev22510, reopening.

comment:5 by diver, 13 years ago

I could reproduce this deadlock by changing Bold Font 2-20 times.

comment:6 by jackburton, 11 years ago

Can you still reproduce this one ?

comment:7 by diver, 11 years ago

I can't, feel free to close it.

comment:8 by jackburton, 11 years ago

Resolution: fixed
Status: reopenedclosed

There have been many changes and the bug is not reproducible anymore. Closing.

Note: See TracTickets for help on using tickets.