Version: (using KDE 4.2.96) OS: Linux Installed from: Gentoo Packages (As I run KDE with French translation, I doesn't know the correct original terms) When I add the 'World clock' plasmoid on the desktop with a drag-and-drop, the plasma dialog and plasma desktop freeze. If I try to close the dialog, KDE proposes me to terminate plasma-desktop. If I terminate plasma-desktop, KDE doesn't restart it ! Even in KRunner, if I type just 'plasma', it doesn't suggest me 'plasma-desktop'. We have to know to complete name 'plasma-desktop'. IMHO, there are 2 problems : * Correct the freeze for the 'World clock' (or remove it) * Create a watchdog mechanism to restart plasma-desktop
Using latest KDE 4.3 branch (kdeedu revision 998733) I cannot reproduce. When I drag and drop the widget from the Add Widgets dialog, there's a message that it nees to create a map which is done pretty fast (a progress bar shows it but I barely had time to see it) and then the applet is drawn and working well. I suggest you try plasmoidviewer worldclock and see the output from that, maybe through gdb to get a backtrace when it freezes. Please state your revision number of you can. Thanks in advance.
Interesting: Bug 193495 mentions this bug in two cases, one using Gentoo and the other Sabayon (gentoo derivative) Bug 197237 also mentions this bug on Gentoo too. (with CPU usage 100%, are you too getting this?) It could be a downstream issue. (marble related? is marble running as an standalone app?) Thanks
I can launch the standalone application Marble and it works fine. 'plasmoidviewer worldclock' works too. But, I can't still add the plasmoid to the desktop (with Add button or drag and drop) : plasma-desktop process takes 100% and freezes.
*** Bug 197237 has been marked as a duplicate of this bug. ***
*** Bug 193495 has been marked as a duplicate of this bug. ***
Once plasma is freeze, can you test the following ? : You may need to recompile kdebase-workspace and kdeedu/marble with debug symbols - Open Konsole - Type "pidof plasma-destop" + Return (you will get a number "PID") - Type "gdb --pid PID" + Return (where PID is the number you got before) Wait until GDB loads - In GDB prompt type "bt full" + press Return a couple of times. You will get a backtrace which you should paste here later. Thanks
The bug seems to be really tricky (linked to Qt and font management) : (gdb) bt full #0 FcStrCaseWalkerNext (w=0xbfd1b580) at fcstr.c:167 r = 117 'u' #1 0x41e7bc86 in IA__FcStrCmpIgnoreCase (s1=0x9de3078 "Luxi Sans", s2=0x9de21b0 "Liberation Mono") at fcstr.c:224 w1 = {read = 0x0, src = 0x9de307a "xi Sans", utf8 = "��\215\000`l�"} w2 = {read = 0x0, src = 0x9de21b1 "iberation Mono", utf8 = "8O�\t\000\000"} c1 = 108 'l' c2 = <value optimized out> #2 0x41e671cb in FcConfigCompareValue (left_o=0xaae7475c, op=FcOpEqual, right_o=0xbfd1b654) at fccfg.c:754 left = {type = FcTypeString, u = {s = 0x9de3078 "Luxi Sans", i = 165556344, b = 165556344, d = 3009964110.9434166, m = 0x9de3078, c = 0x9de3078, f = 0x9de3078, l = 0x9de3078}} right = {type = FcTypeString, u = {s = 0x9de21b0 "Liberation Mono", i = 165552560, b = 165552560, d = 3010926670.9416122, m = 0x9de21b0, c = 0x9de21b0, f = 0x9de21b0, l = 0x9de21b0}} ret = <value optimized out> #3 0x41e68141 in IA__FcConfigSubstituteWithPat (config=0x9dc2000, p=0xaae74668, p_pat=0x0, kind=FcMatchPattern) at fccfg.c:1160 s = (FcSubst *) 0x9de3178 i = <value optimized out> t = (FcTest *) 0x9de3158 e = (FcEdit *) 0x0 l = (FcValueList *) 0xaae75c30 m = (FcPattern *) 0xaae74668 #4 0x41e68747 in IA__FcConfigSubstitute (config=0x0, p=0xaae74668, kind=FcMatchPattern) at fccfg.c:1584 No locals. #5 0x42dacd93 in tryPatternLoad (p=<value optimized out>, screen=<value optimized out>, request=<value optimized out>, script=Could not find the frame base for "tryPatternLoad". ) at text/qfontdatabase_x11.cpp:1593 pattern = <value optimized out> res = Could not find the frame base for "tryPatternLoad". Current language: auto; currently c Same thing, some seconds after : (gdb) bt full #0 FcCompareValueList (object=1, v1orig=0xaab15838, v2orig=0xb7d29468, bestValue=0x0, value=0xbfd1b5d8, result=0xbfd1b6e8) at fcmatch.c:325 v1 = (FcValueListPtr) 0xaab19480 v2 = (FcValueListPtr) 0xb7d29468 v = -16777218 best = 1001 bestStrong = 1001 bestWeak = 1004 j = 268 match = (FcMatcher *) 0x41e8ea00 #1 0x41e75e31 in FcCompare (pat=0xaab15d00, fnt=0xb7d293c0, value=0xbfd1b5d8, result=0xbfd1b6e8) at fcmatch.c:404 elt_i1 = (FcPatternElt *) 0x46 elt_i2 = <value optimized out> i = <value optimized out> i1 = 0 i2 = 0 #2 0x41e76690 in FcFontSetMatchInternal (config=<value optimized out>, sets=0xbfd1b68c, nsets=1, p=0xaab15d00, result=0xbfd1b6e8) at fcmatch.c:496 score = {0 <repeats 16 times>} bestscore = {0, 0, 1, 1001, 8, 0, 867001, 0, 1, 1, 1, 1, 1001, 0, 1001, 2147483647001} f = 500 s = (FcFontSet *) 0x9dd5018 best = (FcPattern *) 0xb7dd01a8 i = <value optimized out> set = 0 #3 0x41e76b29 in IA__FcFontMatch (config=0x9dc2000, p=0xaab15d00, result=0xbfd1b6e8) at fcmatch.c:580 sets = {0x9dd5018, 0x1} nsets = <value optimized out> best = <value optimized out> #4 0x42dacdbb in tryPatternLoad (p=<value optimized out>, screen=<value optimized out>, request=<value optimized out>, script=Could not find the frame base for "tryPatternLoad". ) at text/qfontdatabase_x11.cpp:1596 pattern = <value optimized out> res = Could not find the frame base for "tryPatternLoad". Current language: auto; currently c
Created attachment 35454 [details] Output of command
Yes I still have this problem. See my attached output of `plasmoidviewer worldclock'. And this window appears when I run it: http://img268.imageshack.us/img268/5337/worldclock.jpg
Created attachment 35456 [details] plasmoidviewer worlclock: the image is not painted Always include screenshot in the bug report instead of linking to a website which might expire.
So, it seems that the problem of Serge Koksharov is different of mine, as plasmoidviewer works in my case (but, I thing he doesn't use excatly the same version : some messages of the output are different). More over, the output of the command stops when requesting 'style reset' : Starting to load Plugins. === MarbleDirs: === Local Path: "/home/fcoiffie/.marble/data" Plugin Local Path: "/home/fcoiffie/.marble/plugins" Marble Data Path (Run Time) : "" Marble Data Path (Compile Time): "/usr/share/apps/marble/data" Marble Plugin Path (Run Time) : "" Marble Plugin Path (Compile Time): "/usr/lib/kde4/plugins/marble" System Path: "/usr/share/apps/marble/data" Plugin System Path: "/usr/lib/kde4/plugins/marble" =================== render plugin found "/usr/lib/kde4/plugins/marble/CompassFloatItem.so" render plugin found "/usr/lib/kde4/plugins/marble/CrosshairsPlugin.so" render plugin found "/usr/lib/kde4/plugins/marble/FileViewFloatItem.so" render plugin found "/usr/lib/kde4/plugins/marble/GeoRendererPlugin.so" render plugin found "/usr/lib/kde4/plugins/marble/GraticulePlugin.so" render plugin found "/usr/lib/kde4/plugins/marble/MapScaleFloatItem.so" render plugin found "/usr/lib/kde4/plugins/marble/NavigationFloatItem.so" render plugin found "/usr/lib/kde4/plugins/marble/OverviewMap.so" render plugin found "/usr/lib/kde4/plugins/marble/Photo.so" network plugin found "/usr/lib/kde4/plugins/marble/QNamNetworkPlugin.so" render plugin found "/usr/lib/kde4/plugins/marble/StarsPlugin.so" render plugin found "/usr/lib/kde4/plugins/marble/Wikipedia.so" Time elapsed: 73 ms PhotoPlugin: Initialize Object::connect: No such signal Marble::PlacemarkManager::geoDataDocumentLoaded( GeoDataDocument& ) Object::connect: No such signal Marble::PlacemarkManager::geoDataDocumentAdded( GeoDataDocument* ) Use workaround: 0 Starting to load Plugins. === MarbleDirs: === Local Path: "/home/fcoiffie/.marble/data" Plugin Local Path: "/home/fcoiffie/.marble/plugins" Marble Data Path (Run Time) : "" Marble Data Path (Compile Time): "/usr/share/apps/marble/data" Marble Plugin Path (Run Time) : "" Marble Plugin Path (Compile Time): "/usr/lib/kde4/plugins/marble" System Path: "/usr/share/apps/marble/data" Plugin System Path: "/usr/lib/kde4/plugins/marble" =================== render plugin found "/usr/lib/kde4/plugins/marble/CompassFloatItem.so" render plugin found "/usr/lib/kde4/plugins/marble/CrosshairsPlugin.so" render plugin found "/usr/lib/kde4/plugins/marble/FileViewFloatItem.so" render plugin found "/usr/lib/kde4/plugins/marble/GeoRendererPlugin.so" render plugin found "/usr/lib/kde4/plugins/marble/GraticulePlugin.so" render plugin found "/usr/lib/kde4/plugins/marble/MapScaleFloatItem.so" render plugin found "/usr/lib/kde4/plugins/marble/NavigationFloatItem.so" render plugin found "/usr/lib/kde4/plugins/marble/OverviewMap.so" render plugin found "/usr/lib/kde4/plugins/marble/Photo.so" network plugin found "/usr/lib/kde4/plugins/marble/QNamNetworkPlugin.so" render plugin found "/usr/lib/kde4/plugins/marble/StarsPlugin.so" render plugin found "/usr/lib/kde4/plugins/marble/Wikipedia.so" Time elapsed: 99 ms Model: Time elapsed: 297 ms kiloBytes 8192 "Setting tile cache to 8192 kilobytes." loadMapTheme "earth/bluemarble/bluemarble.dgml" DGML2 Name : "Satellite View" adding container: "cityplacemarks" false starting parser for "cityplacemarks" "Loading Default Placemark Cache File:/usr/kde/3.5/share/apps/marble/data/placemarks/cityplacemarks.cache" adding container: "baseplacemarks" false adding container: "elevplacemarks" false starting parser for "baseplacemarks" starting parser for "elevplacemarks" adding container: "observatoryplacemarks" false "Loading Default Placemark Cache File:/usr/kde/3.5/share/apps/marble/data/placemarks/baseplacemarks.cache" "Loading Default Placemark Cache File:/usr/kde/3.5/share/apps/marble/data/placemarks/elevplacemarks.cache" adding container: "otherplacemarks" false newGeoDataDocumentAdded "baseplacemarks" newGeoDataDocumentAdded "elevplacemarks" Loading ended true placemarksLoaded Loading ended true placemarksLoaded starting parser for "observatoryplacemarks" No recent Default Placemark Cache File available for "observatoryplacemarks" No Default Placemark Source File for "observatoryplacemarks" starting parser for "otherplacemarks" "Loading Default Placemark Cache File:/usr/kde/3.5/share/apps/marble/data/placemarks/otherplacemarks.cache" newGeoDataDocumentAdded "otherplacemarks" Loading ended true placemarksLoaded adding container: "boundaryplacemarks" true starting parser for "boundaryplacemarks" "Loading Default Placemark Cache File:/usr/kde/3.5/share/apps/marble/data/placemarks/boundaryplacemarks.cache" THEME CHANGED: *** "earth/bluemarble/bluemarble.dgml" newGeoDataDocumentAdded "boundaryplacemarks" Loading ended true placemarksLoaded In MarbleMap the property "compass" was set to false GeoSceneSettings: Property "compass" to false In MarbleMap the property "scalebar" was set to false GeoSceneSettings: Property "scalebar" to false In MarbleMap the property "coordinate-grid" was set to false GeoSceneSettings: Property "coordinate-grid" to false In MarbleMap the property "places" was set to false GeoSceneSettings: Property "places" to false In MarbleMap the property "cities" was set to false GeoSceneSettings: Property "cities" to false In MarbleMap the property "otherplaces" was set to false GeoSceneSettings: Property "otherplaces" to false GeoSceneSettings: Property "overviewmap" to false void SunLocator::setShow( bool ) MarbleMap: Updating the sun shading map... MarbleModel::update() void SunLocator::update() MarbleMap: Updating the sun shading map... MarbleModel::update() MarbleMap: Updating the sun shading map... MarbleModel::update() void SunLocator::update() MarbleMap: Updating the sun shading map... MarbleModel::update() MarbleMap: Updating the sun shading map... MarbleModel::update() Containername: "baseplacemarks.kml" to be finalized: false 6 Containername: "elevplacemarks.kml" to be finalized: false 5 Containername: "otherplacemarks.kml" to be finalized: false 3 Containername: "boundaryplacemarks" to be finalized: false 2 newGeoDataDocumentAdded "cityplacemarks" Loading ended true placemarksLoaded TileLoader::update() TileLoader::update() TileLoader::update() TileLoader::update() TileLoader::update() Containername: "cityplacemarks.kml" to be finalized: true 1 Style reset requested.
Created attachment 35459 [details] WorldClock backtrace
I recompiled plasma-workspace & marble with debugging symbols enabled (added -ggdb to CFLAGS and changed optimisation flag from -O2 to -O1). On Gentoo system process which deadlocks called `plasma', not `plasma-desktop`. Please see attached backtrace.
Pasting directly relevant bits #14 0x00007f9dc9cbee09 in Marble::WorldClock::recalculateFonts (this=0x1292140) at /var/tmp/portage/kde-base/marble-4.2.4/work/marble-4.2.4/marble/src/plasmoid/worldclock.cpp:302 font = {static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7f9de5d9b020 "QFont", data = 0x7f9de5d9b0e0, extradata = 0x0}}, d = 0x41a64a0, resolve_mask = 51} metrics = {d = 0x41a64a0} rect = {x1 = 1, y1 = -28, x2 = 80, y2 = 7} timestr = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 118796}, alloc = 0, size = 0, data = 0x7f9de69517fa, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 194}, alloc = 0, size = 0, ---Type <return> to continue, or q <return> to quit--- data = 0x7f9de695181a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x2685680, static codecForCStrings = 0x0} locstr = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 118796}, alloc = 0, size = 0, data = 0x7f9de69517fa, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 194}, alloc = 0, size = 0, data = 0x7f9de695181a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x2685620, static codecForCStrings = 0x0} timeRect = {x1 = 117, y1 = 44, x2 = 235, y2 = 103} locationRect = {x1 = 117, y1 = 103, x2 = 235, y2 = 132} lastSize = 2539 #15 0x00007f9dc9cc0b1f in Marble::WorldClock::paintInterface (this=0x1292140, p=0x7ffff0fbd6b0, option=<value optimized out>, contentsRect=@0x7ffff0fbd470) at /var/tmp/portage/kde-base/marble-4.2.4/work/marble-4.2.4/marble/src/plasmoid/worldclock.cpp:329 pixmap = <incomplete type> gp = {<Marble::ClipPainter> = {<QPainter> = {static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7f9de5d9ae20 "QPainter", data = 0x7f9de5d9aec0, extradata = 0x0}}, d_ptr = 0x4079000000000000}, d = 0x7f9de38cfa00}, d = 0x286e990} mapRect = {x1 = 19227592, y1 = 0, x2 = 200, y2 = 0} tzx = <value optimized out> tzy = <value optimized out> ok = <value optimized out> locstr = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 118796}, alloc = 0, size = 0, data = 0x7f9de69517fa, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 194}, alloc = 0, size = 0, data = 0x7f9de695181a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x405dc00000000000, static codecForCStrings = 0x0} timestr = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 118796}, alloc = 0, size = 0, data = 0x7f9de69517fa, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 194}, alloc = 0, size = 0, data = 0x7f9de695181a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x0, static codecForCStrings = 0x0} #16 0x00007f9de87ee9c3 in Plasma::Applet::paint () from /usr/lib64/libplasma.so.3
test! Ignore this comment.
There is a similar backtrace where they deduced the freeze cause: bug 189633. Can you check it and try to check your fonts installation ? Hopefully, if you uninstall you bitmap-version of the Helvetica font the freeze will stop happening. (It could be unrelated too. ) Also, coould you recheck using plasmoidviewer but maximizing the window? (it seems the problem is related to the size of the widget) Thanks
Yes, after I disabled `Helvetica' font in KDE Font Installer `WorldClock' plasmoid started working. In `plasmoidviewer' window maximizes correctly without this font and not painted at all if font is present.
After uninstalling bitmap fonts (75 and 100 DPI fonts), the 'wolrd clock' works too. But a workaround to be able to keep these fonts, could be useful.
test! please ignore this comment
So, as it was confirmed that this is caused by the same problem described on bug 189633. I'm merging them. Thanks *** This bug has been marked as a duplicate of bug 189633 ***