! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
xfwm4 crashes on startup
Status:
RESOLVED: FIXED

Comments

Description Samuel Verstraete editbugs 2010-03-15 19:41:23 CET
Debug build reveals this:

DBG[main.c:541] main(): xfwm4 starting
DBG[main.c:412] initialize(): xfwm4 starting, using GTK+-2.18.5
composite event base: 0
composite error base: 0
composite version: 0.4
damage event base: 103
damage error base: 162
fixes event base: 99
fixes error base: 153
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:451] myDisplayGrabServer(): grabbing server
DBG[display.c:455] myDisplayGrabServer(): grabs : 1
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 2
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 3
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 2
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 1
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 2
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 3
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 2
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 1
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 2
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 3
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 2
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 1
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 2
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 3
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 2
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 1
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 2
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 1
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 2
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 1
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 2
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 3
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 2
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 1
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 2
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 1
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 2
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 3
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 2
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 1
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:471] myDisplayUngrabServer(): ungrabbing server
DBG[display.c:475] myDisplayUngrabServer(): grabs : 0
DBG[xfce-sm-client.c:723] xfce_sm_client_parse_argv(): setting restart and clone commands (/usr/bin/xfwm4, /usr/bin/xfwm4)
TRACE[xfce-sm-client.c:1251] xfce_sm_client_set_property_from_command(): entering (RestartCommand, 0x652fe0, APPEND)
TRACE[xfce-sm-client.c:1251] xfce_sm_client_set_property_from_command(): entering (CloneCommand, 0x653050, REMOVE)
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:451] myDisplayGrabServer(): grabbing server
DBG[display.c:455] myDisplayGrabServer(): grabs : 1
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:471] myDisplayUngrabServer(): ungrabbing server
DBG[display.c:475] myDisplayUngrabServer(): grabs : 0
XError: BadWindow (invalid Window parameter)
==>  XID 0x400148, Request 3, Error 3 <==
XError: BadWindow (invalid Window parameter)
==>  XID 0x400148, Request 3, Error 3 <==
Comment 1 Olivier Fourdan editbugs 2010-03-15 20:05:27 CET
I do not see it crashing in your log.

Can you please provide a gdb backtrace instead?

Does it start from a terminal?
Comment 2 Samuel Verstraete editbugs 2010-03-16 11:57:07 CET
gtk+-2 : version 2.18.8 (2.18.5 has same results)


backtrace: 

(gdb) run
Starting program: /usr/bin/xfwm4
[Thread debugging using libthread_db enabled]
DBG[main.c:541] main(): xfwm4 starting
DBG[main.c:412] initialize(): xfwm4 starting, using GTK+-2.18.5
composite event base: 0
composite error base: 0
composite version: 0.4
damage event base: 103
damage error base: 162
fixes event base: 99
fixes error base: 153
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:451] myDisplayGrabServer(): grabbing server
DBG[display.c:455] myDisplayGrabServer(): grabs : 1
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 2
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 3
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 2
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 1
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 2
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 3
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 2
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 1
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 2
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 3
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 2
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 1
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 2
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 3
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 2
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 1
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 2
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 1
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 2
DBG[display.c:463] myDisplayUngrabServer(): entering myDisplayUngrabServer
DBG[display.c:475] myDisplayUngrabServer(): grabs : 1
DBG[display.c:448] myDisplayGrabServer(): entering myDisplayGrabServer
DBG[display.c:455] myDisplayGrabServer(): grabs : 2

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff60de790 in gdk_pixbuf_get_width ()
   from /usr/lib/../lib64/libgdk_pixbuf-2.0.so.0
(gdb) bt
#0  0x00007ffff60de790 in gdk_pixbuf_get_width ()
   from /usr/lib/../lib64/libgdk_pixbuf-2.0.so.0
#1  0x0000000000429562 in xfwmPixmapRenderGdkPixbuf (pm=0x73f350, pixbuf=0x0)
    at mypixmap.c:912
#2  0x000000000040cb63 in clientUpdateIconPix (c=0x73ef50) at client.c:1508
#3  0x0000000000410898 in clientFrame (display_info=0x67f600,
    w=<value optimized out>, recapture=<value optimized out>) at client.c:1946
#4  0x0000000000411161 in clientFrameAll (screen_info=0x6a9400)
    at client.c:2139
#5  0x000000000042451b in initialize (argc=<value optimized out>,
    argv=<value optimized out>) at main.c:514
#6  main (argc=<value optimized out>, argv=<value optimized out>) at main.c:574
Comment 3 Olivier Fourdan editbugs 2010-03-16 13:59:49 CET
I suspect this commit to be the culprit:

http://git.xfce.org/xfce/xfwm4/commit/?id=c1a867e65bf68dda3be3d48edcb63d4305192f7e

And more precisely that part:

-    return xfce_inline_icon_at_size (default_icon_data, width, height);
+    return NULL; /*xfce_inline_icon_at_size (default_icon_data, width, height);*/

Why this change is part of a commit about session management is beyond me.
Comment 4 Olivier Fourdan editbugs 2010-03-16 14:10:55 CET
Can you try with git commit e6bdc3b?
Comment 5 Olivier Fourdan editbugs 2010-03-16 16:30:33 CET
Err, I mean 1e543b7
Comment 6 Samuel Verstraete editbugs 2010-03-16 17:17:03 CET
(In reply to comment #5)
> Err, I mean 1e543b7

yep that one fixed it

Bug #6313

Reported by:
Samuel Verstraete
Reported on: 2010-03-15
Last modified on: 2010-03-16

People

Assignee:
Olivier Fourdan
CC List:
0 users

Version

Version:
unspecified

Attachments

Additional information