Bug 4917

Summary: X server crashes under Build Appliance while switching between pcmanfm and terminals applications
Product: [Build System, Metadata & Runtime] Runtime Reporter: Cristian Iorga <cristian.iorga>
Component: build-applianceAssignee: Ross Burton <ross.burton>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium+ CC: jessica.zhang, ross.burton, sgw
Version: unspecified   
Target Milestone: 1.5 M3   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)
Attachments:
Description Flags
X-server-crash-under-BA-using-pcmanfm none

Description Cristian Iorga 2013-07-25 16:32:25 UTC
Created attachment 1359 [details]
X-server-crash-under-BA-using-pcmanfm

X server crashes under Build Appliance while switching between pcmanfm and terminals applications in matchbox WM.

Build Appliance has the pcmanfm filemanager integrated.
(not integrated in poky master)

Testcase:
1. Start Build Appliance
2. From a graphical terminal start pcmanfm
3. Switch away from pcmanfm window to the terminal window
4. Repeat if needed until X server crashes (should happen fairly quick, after 1-2 switches)

Issue: switching applications should not crash X server.
Comment 1 Ross Burton 2013-07-25 16:42:53 UTC
Can you extract the log file and ideally replicate that with a gdb attached to the X server?
Comment 2 Saul Wold 2013-07-25 16:51:08 UTC
Can you reproduce this outside the BuildApp, like in core-image-sato with the additional items to use pcmanfm?

What items would one add to CORE_IMAGE_EXTRA_INSTALL?

Is this work in Master or on a branch?
Comment 3 Cristian Iorga 2013-07-26 05:58:58 UTC
Debugging via gdb is next on list.
Also, I will try to reproduce the issue with core-image-sato + pcmanfm.
PCManFM is not yet integrated in Build Appliance, but is integrated in core-image-sato, so building it is enough is order to try to reproduce it.
Comment 4 Cristian Iorga 2013-07-26 13:50:11 UTC
cat /var/log/messages

....................
............
Jul 26 13:46:10 qemux86-64 authpriv.notice sudo:     root : TTY=unknown ; PWD=/home/root ; USER=builder ; COMMAND=/bin/sh -c /etc/mini_x/session.d/builder_hob_start.sh
Jul 26 13:46:10 qemux86-64 daemon.info connmand[355]: eth0 {add} route 81.169.141.235 gw 10.237.105.1 scope 0 <UNIVERSE>
Jul 26 13:46:30 qemux86-64 auth.info sshd[556]: Connection closed by 10.237.105.54 [preauth]
Jul 26 13:46:41 qemux86-64 auth.info sshd[558]: Connection closed by 10.237.105.54 [preauth]
Jul 26 13:46:43 qemux86-64 auth.info sshd[560]: Connection closed by 10.237.105.54 [preauth]
Jul 26 13:46:54 qemux86-64 auth.info sshd[562]: Accepted none for root from 10.237.105.54 port 41064 ssh2
Jul 26 13:46:54 qemux86-64 auth.info sshd[564]: lastlog_openseek: Couldn't stat /var/log/lastlog: No such file or directory
Jul 26 13:46:54 qemux86-64 auth.info sshd[564]: lastlog_openseek: Couldn't stat /var/log/lastlog: No such file or directory
Jul 26 13:48:18 qemux86-64 daemon.warn connmand[355]: Online check failed for 0x6c0650 Wired
Jul 26 13:48:18 qemux86-64 daemon.info connmand[355]: eth0 {del} route 81.169.141.235 gw 10.237.105.1 scope 0 <UNIVERSE>
Jul 26 13:48:19 qemux86-64 user.info kernel: traps: matchbox-window[465] trap divide error ip:7f896cc0d34b sp:7fff3b38cd30 error:0 in libmb.so.1.0.9[7f896cbfe000+16000]
Comment 5 Ross Burton 2013-07-26 14:03:15 UTC
Ah, the wm is crashing.  A gdb backtrace with symbols would be much appreciated.
Comment 6 Cristian Iorga 2013-07-26 14:23:29 UTC
(gdb) attach 458
Attaching to process 458
Reading symbols from /usr/bin/matchbox-window-manager...(no debugging symbols found)...done.
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?

(gdb) bt
#0  0x00007fac20873230 in poll () from /lib/libc.so.6
#1  0x00007fac1f313602 in ?? () from /usr/lib/libxcb.so.1
#2  0x00007fac1f314c7f in xcb_wait_for_event () from /usr/lib/libxcb.so.1
#3  0x00007fac215d8858 in _XReadEvents () from /usr/lib/libX11.so.6
#4  0x00007fac215c8378 in XNextEvent () from /usr/lib/libX11.so.6
#5  0x000000000040768b in ?? ()
#6  0x00000000004045d9 in ?? ()
#7  0x00007fac207b9bd5 in __libc_start_main () from /lib/libc.so.6
#8  0x0000000000404615 in ?? ()

(gdb) continue
Continuing.

Program received signal SIGFPE, Arithmetic exception.
0x00007fac21ae334b in mb_pixbuf_img_scale_down () from /usr/lib/libmb.so.1
(gdb) bt
#0  0x00007fac21ae334b in mb_pixbuf_img_scale_down () from /usr/lib/libmb.so.1
#1  0x00007fac21ae37da in mb_pixbuf_img_scale () from /usr/lib/libmb.so.1
#2  0x0000000000412e35 in ?? ()
#3  0x000000000041439d in ?? ()
#4  0x000000000040d278 in ?? ()
#5  0x000000000040d586 in ?? ()
#6  0x00000000004076b8 in ?? ()
#7  0x00000000004045d9 in ?? ()
#8  0x00007fac207b9bd5 in __libc_start_main () from /lib/libc.so.6
#9  0x0000000000404615 in ?? ()
(gdb) 

(gdb) bt
#0  0x00007fac20873230 in poll () from /lib/libc.so.6
#1  0x00007fac1f313602 in ?? () from /usr/lib/libxcb.so.1
#2  0x00007fac1f314c7f in xcb_wait_for_event () from /usr/lib/libxcb.so.1
#3  0x00007fac215d8858 in _XReadEvents () from /usr/lib/libX11.so.6
#4  0x00007fac215c8378 in XNextEvent () from /usr/lib/libX11.so.6
#5  0x000000000040768b in ?? ()
#6  0x00000000004045d9 in ?? ()
#7  0x00007fac207b9bd5 in __libc_start_main () from /lib/libc.so.6
#8  0x0000000000404615 in ?? ()
(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) n
Program not restarted.
(gdb) continue
Continuing.

Program received signal SIGFPE, Arithmetic exception.
0x00007fac21ae334b in mb_pixbuf_img_scale_down () from /usr/lib/libmb.so.1
(gdb) bt
#0  0x00007fac21ae334b in mb_pixbuf_img_scale_down () from /usr/lib/libmb.so.1
#1  0x00007fac21ae37da in mb_pixbuf_img_scale () from /usr/lib/libmb.so.1
#2  0x0000000000412e35 in ?? ()
#3  0x000000000041439d in ?? ()
#4  0x000000000040d278 in ?? ()
#5  0x000000000040d586 in ?? ()
#6  0x00000000004076b8 in ?? ()
#7  0x00000000004045d9 in ?? ()
#8  0x00007fac207b9bd5 in __libc_start_main () from /lib/libc.so.6
#9  0x0000000000404615 in ?? ()
(gdb)
Comment 7 Ross Burton 2013-07-26 14:31:08 UTC
Did you install both libmatchbox-dbg and matchbox-window-manager-dbg?
Comment 8 Cristian Iorga 2013-07-26 14:33:27 UTC
Related bug:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=538415
Comment 9 Cristian Iorga 2013-08-12 16:44:55 UTC
root@qemux86-64:~# ps | grep matchbox
  669 root     54272 S    matchbox-window-manager
  708 root      222m S    matchbox-terminal
  741 builder   221m S    matchbox-terminal
  762 root      4416 R    grep matchbox
root@qemux86-64:~# gdb attach 669
GNU gdb (GDB) 7.6
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-poky-linux".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
attach: No such file or directory.
Attaching to process 669
Reading symbols from /usr/bin/matchbox-window-manager...Reading symbols from /usr/bin/.debug/matchbox-window-manager...done.
done.

warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
Reading symbols from /usr/lib/libmb.so.1...Reading symbols from /usr/lib/.debug/libmb.so.1.0.9...done.
done.
Loaded symbols for /usr/lib/libmb.so.1
Reading symbols from /usr/lib/libXsettings-client.so.0...Reading symbols from /usr/lib/.debug/libXsettings-client.so.0.0.0...done.
done.
Loaded symbols for /usr/lib/libXsettings-client.so.0
Reading symbols from /usr/lib/libX11.so.6...Reading symbols from /usr/lib/.debug/libX11.so.6.3.0...done.
done.
Loaded symbols for /usr/lib/libX11.so.6
Reading symbols from /usr/lib/libXext.so.6...Reading symbols from /usr/lib/.debug/libXext.so.6.4.0...done.
done.
Loaded symbols for /usr/lib/libXext.so.6
Reading symbols from /usr/lib/libexpat.so.1...Reading symbols from /usr/lib/.debug/libexpat.so.1.6.0...done.
done.
Loaded symbols for /usr/lib/libexpat.so.1
Reading symbols from /usr/lib/libstartup-notification-1.so.0...Reading symbols from /usr/lib/.debug/libstartup-notification-1.so.0.0.0...done.
done.
Loaded symbols for /usr/lib/libstartup-notification-1.so.0
Reading symbols from /usr/lib/libXfixes.so.3...Reading symbols from /usr/lib/.debug/libXfixes.so.3.1.0...done.
done.
Loaded symbols for /usr/lib/libXfixes.so.3
Reading symbols from /usr/lib/libXcursor.so.1...Reading symbols from /usr/lib/.debug/libXcursor.so.1.0.2...done.
done.
Loaded symbols for /usr/lib/libXcursor.so.1
Reading symbols from /lib/libc.so.6...Reading symbols from /lib/.debug/libc-2.17.90.so...done.
done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /usr/lib/libXft.so.2...Reading symbols from /usr/lib/.debug/libXft.so.2.3.1...done.
done.
Loaded symbols for /usr/lib/libXft.so.2
Reading symbols from /usr/lib/libfontconfig.so.1...Reading symbols from /usr/lib/.debug/libfontconfig.so.1.6.2...done.
done.
Loaded symbols for /usr/lib/libfontconfig.so.1
Reading symbols from /usr/lib/libfreetype.so.6...Reading symbols from /usr/lib/.debug/libfreetype.so.6.10.1...done.
done.
Loaded symbols for /usr/lib/libfreetype.so.6
Reading symbols from /usr/lib/libXrender.so.1...Reading symbols from /usr/lib/.debug/libXrender.so.1.3.0...done.
done.
Loaded symbols for /usr/lib/libXrender.so.1
Reading symbols from /usr/lib/libjpeg.so.8...Reading symbols from /usr/lib/.debug/libjpeg.so.8.4.0...done.
done.
Loaded symbols for /usr/lib/libjpeg.so.8
Reading symbols from /usr/lib/libpng16.so.16...Reading symbols from /usr/lib/.debug/libpng16.so.16.3.0...done.
done.
Loaded symbols for /usr/lib/libpng16.so.16
Reading symbols from /lib/libm.so.6...Reading symbols from /lib/.debug/libm-2.17.90.so...done.
done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libz.so.1...Reading symbols from /lib/.debug/libz.so.1.2.8...done.
done.
Loaded symbols for /lib/libz.so.1
Reading symbols from /usr/lib/libxcb.so.1...Reading symbols from /usr/lib/.debug/libxcb.so.1.1.0...done.
done.
Loaded symbols for /usr/lib/libxcb.so.1
Reading symbols from /usr/lib/libXau.so.6...Reading symbols from /usr/lib/.debug/libXau.so.6.0.0...done.
done.
Loaded symbols for /usr/lib/libXau.so.6
Reading symbols from /usr/lib/libXdmcp.so.6...Reading symbols from /usr/lib/.debug/libXdmcp.so.6.0.0...done.
done.
Loaded symbols for /usr/lib/libXdmcp.so.6
Reading symbols from /lib/libdl.so.2...Reading symbols from /lib/.debug/libdl-2.17.90.so...done.
done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /usr/lib/libxcb-util.so.1...Reading symbols from /usr/lib/.debug/libxcb-util.so.1.0.0...done.
done.
Loaded symbols for /usr/lib/libxcb-util.so.1
Reading symbols from /usr/lib/libX11-xcb.so.1...Reading symbols from /usr/lib/.debug/libX11-xcb.so.1.0.0...done.
done.
Loaded symbols for /usr/lib/libX11-xcb.so.1
Reading symbols from /lib/ld-linux-x86-64.so.2...Reading symbols from /lib/.debug/ld-2.17.90.so...done.
done.
Loaded symbols for /lib/ld-linux-x86-64.so.2
0x00007f971c9c8230 in __poll_nocancel () at ../sysdeps/unix/syscall-template.S:81
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
(gdb) c
Continuing.

Program received signal SIGFPE, Arithmetic exception.
0x00007f971dc3834b in mb_pixbuf_img_scale_down (pb=pb@entry=0x629ba0, img=img@entry=0x638ca0, new_width=new_width@entry=16, new_height=0)
    at /usr/src/debug/libmatchbox/1.10-r0/libmatchbox-1.10/libmb/mbpixbuf.c:1666
1666	    ysample[i] = i*img->height/new_height * img->width;
(gdb) bt 
#0  0x00007f971dc3834b in mb_pixbuf_img_scale_down (pb=pb@entry=0x629ba0, img=img@entry=0x638ca0, new_width=new_width@entry=16, new_height=0)
    at /usr/src/debug/libmatchbox/1.10-r0/libmatchbox-1.10/libmb/mbpixbuf.c:1666
#1  0x00007f971dc387da in mb_pixbuf_img_scale (pb=0x629ba0, img=img@entry=0x638ca0, new_width=new_width@entry=16, new_height=new_height@entry=16)
    at /usr/src/debug/libmatchbox/1.10-r0/libmatchbox-1.10/libmb/mbpixbuf.c:1818
#2  0x0000000000412e35 in theme_frame_icon_paint (t=t@entry=0x633c30, c=0x644d60, img_dest=img_dest@entry=0x62b780, x=5, y=y@entry=24)
    at /usr/src/debug/matchbox-wm/1.2+gitAUTOINC+686178379e-r0/git/src/mbtheme.c:161
#3  0x000000000041439d in theme_frame_menu_paint (theme=theme@entry=0x633c30, c=c@entry=0x63a320) at /usr/src/debug/matchbox-wm/1.2+gitAUTOINC+686178379e-r0/git/src/mbtheme.c:1136
#4  0x000000000040d278 in select_client_redraw (c=0x63a320, use_cache=<optimized out>) at /usr/src/debug/matchbox-wm/1.2+gitAUTOINC+686178379e-r0/git/src/select_client.c:314
#5  0x000000000040d586 in select_client_new (w=0x61e010) at /usr/src/debug/matchbox-wm/1.2+gitAUTOINC+686178379e-r0/git/src/select_client.c:135
#6  0x00000000004076b8 in wm_event_loop (w=w@entry=0x61e010) at /usr/src/debug/matchbox-wm/1.2+gitAUTOINC+686178379e-r0/git/src/wm.c:914
#7  0x00000000004045d9 in main (argc=1, argv=0x7fff2614e678) at /usr/src/debug/matchbox-wm/1.2+gitAUTOINC+686178379e-r0/git/src/main.c:48
(gdb)
Comment 10 Ross Burton 2013-08-14 11:40:29 UTC
Patches sent.