Opened 12 years ago

Closed 10 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:
Has a Patch: no 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 Changed 12 years ago by axeld

Priority: normalcritical

Bug #893 is a duplicate of this one.

comment:2 Changed 12 years ago by jackburton

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 Changed 12 years ago by axeld

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 Changed 11 years ago by diver

Resolution: fixed
Status: closedreopened

Happens again 2 times in hrev22510, reopening.

comment:5 Changed 11 years ago by diver

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

comment:6 Changed 10 years ago by jackburton

Can you still reproduce this one ?

comment:7 Changed 10 years ago by diver

I can't, feel free to close it.

comment:8 Changed 10 years ago by jackburton

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.