Bug 853

Summary: matchbox-panel segfaults, X becomes unusable
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Darren Hart <dvhart>
Component: graphicsAssignee: Ke Yu <ke.yu>
Status: VERIFIED FIXED QA Contact:
Severity: critical    
Priority: High CC: meta.mr.watcher, meta.watcher, sgw
Version: 1.0   
Target Milestone: 1.0 M4   
Hardware: Blacksand   
OS: x86   
Whiteboard: n450 solution comitted to meta-intel, pending info from Yu re atom-pc (16/Mar/2011)
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---

Description Darren Hart 2011-03-11 12:02:58 UTC
Image: poky-image-sato-live
Media: USB Key
Build: Bernard (d16085b67b05e6c10f9e29381313e2b3370ca8ff)
Machine: meta-intel/meta-n450 (4bbfc4f08b0e906ba4182f0ad2baad77a5938db9)

The sato desktop loads as expected, but the USB keyboard and mouse don't respond to input. The console reports the following:

matchbox-panel[2107]: segfault at c ip 4f1d794d sp bf88d190 error 4 in libgdk-x]

Restarting the X-server from the console, results in another segfault with some more context:

root@n450:~# sudo /etc/init.d/xserver-nodm restart
Stopping XServer
[drm] Big FIFO is enabled
[drm] Big FIFO is enabled
[drm] Big FIFO is enabled
[drm] Big FIFO is disabled
[drm] Big FIFO is disabled
Starting Xserver

_XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root

X.Org X Server 1.9.3
Release Date: 2010-12-13
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.35-22-server x86_64 
Current Operating System: Linux n450 2.6.34.7-yocto-standard #1 PREEMPT Fri Mar6
Kernel command line: initrd=initrd LABEL=boot usbcore.autosuspend=1 console=tty 
Build Date: 11 March 2011  10:14:58AM
 
Current version of pixman: 0.20.2
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Fri Mar 11 19:07:49 2011
(==) Using config file: "/etc/X11/xorg.conf"
FATAL: Module fbcon not found.
[drm:drm_edid_is_valid] *ERROR* Raw EDID:

[drm:drm_edid_is_valid] *ERROR* Raw EDID:

[drm:drm_edid_is_valid] *ERROR* Raw EDID:

[drm:drm_edid_is_valid] *ERROR* Raw EDID:

i915 0000:00:02.0: VGA-1: EDID invalid.
[drm:drm_edid_is_valid] *ERROR* Raw EDID:

[drm:drm_edid_is_valid] *ERROR* Raw EDID:

[drm:drm_edid_is_valid] *ERROR* Raw EDID:

[drm:drm_edid_is_valid] *ERROR* Raw EDID:

i915 0000:00:02.0: VGA-1: EDID invalid.
(EE) intel(0): failed to open /sys/class/backlight/acpi_video0/brightness for bd
(EE) intel(0): failed to open /sys/class/backlight/acpi_video0/brightness for bd
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Internal error:   Could not resolve keysym XF86TouchpadOn
> Internal error:   Could not resolve keysym XF86TouchpadOff
Errors from xkbcomp are not fatal to the X server
D-BUS per-session daemon address is: unix:abstract=/tmp/dbus-Gq7ll2uEo1,guid=718
/etc/X11/Xsession: /etc/formfactor/config: line 33: fbset: not found
/etc/X11/Xsession: /etc/formfactor/config: line 37: fbset: not found
/etc/X11/Xsession: /etc/formfactor/config: line 41: fbset: not found
/etc/X11/Xsession.d/80matchboxkeyboard.shbg: /etc/formfactor/config: line 33: fd
/etc/matchbox/session: /etc/formfactor/config: line 33: fbset: not found
/etc/X11/Xsession.d/80matchboxkeyboard.shbg: /etc/formfactor/config: line 37: fd
/etc/matchbox/session: /etc/formfactor/config: line 37: fbset: not found
/etc/X11/Xsession.d/80matchboxkeyboard.shbg: /etc/formfactor/config: line 41: fd
/etc/matchbox/session: /etc/formfactor/config: line 41: fbset: not found
matchbox: Cant find a keycode for keysym 269025056
matchbox: ignoring key shortcut XF86Calendar=!$contacts

matchbox: Cant find a keycode for keysym 2809
matchbox: ignoring key shortcut telephone=!$dates

matchbox: Cant find a keycode for keysym 269025050
matchbox: ignoring key shortcut XF86Start=!matchbox-remote -desktop

[settings daemon] Forking. run with -n to prevent fork

** (matchbox-panel:2232): WARNING **: Couldnt initialize ACPI battery

matchbox-panel[2232]: segfault at c ip 4f1d794d sp bfa8fbf0 error 4 in libgdk-x]
root@n450:~# 
** (matchbox-desktop:2231): WARNING **: Error loading icon: Icon 'system-file-me

** (matchbox-desktop:2231): WARNING **: Error loading icon: Icon 'preferences-de

** (matchbox-desktop:2231): WARNING **: Error loading icon: Icon 'computer' note
Comment 1 Ke Yu 2011-03-12 03:00:43 UTC
Hi Darren,

 the log  "_XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root",  shows it may be caused by the rootless X. so could you try to start the x by root? you can do it by removing the /etc/X11/Xusername in target, so that X will start with default user, i.e. root
Comment 2 Ke Yu 2011-03-12 03:10:41 UTC
Also for the the log "
 The XKEYBOARD keymap compiler (xkbcomp) reports:
> Internal error:   Could not resolve keysym XF86TouchpadOn
> Internal error:   Could not resolve keysym XF86TouchpadOff
"

according to the similar bug report in Ubuntu (http://www.mail-archive.com/ubuntu-bugs@lists.ubuntu.com/msg2779127.html), this issue has been fixed in xserver-xorg-input-synaptics in 1.4.0, so i work out a patch to upgrade the xf86-input-synaptics from 1.3.0 to 1.4.0:
http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/commit/?h=kyu3/xf86-input-synaptics-1.4.0&id=743aecf15742c3add2a554e9b55bf89ec3a6fc9e
could you also have a try to see if it works?

I don't have a n450 H/W on hand, so really thanks if you can try in your n450 platform
Comment 3 Ke Yu 2011-03-13 20:25:01 UTC
I can reproduce it in a borrowed netbook, so I will continue debugging it in real H/W
Comment 4 Ke Yu 2011-03-14 00:31:38 UTC
I tried both approaches (disable rootless X, upgrade xserver-xorg-input-synaptics), neither works. so it must be something else wrong
Comment 5 Darren Hart 2011-03-15 10:17:43 UTC
Trying Tom's solution to Bug 738 to see if that works here as well.
Comment 6 Darren Hart 2011-03-15 17:24:10 UTC
The fix to Bug 738 doesn't work here. However, after fixing Bug 869, I no longer see matchbox-panel segfault. I'd like to understand root cause, and it still seems to repro on Ke's netbook.
Comment 7 Ke Yu 2011-03-16 01:09:58 UTC
(In reply to comment #6)
> The fix to Bug 738 doesn't work here. However, after fixing Bug 869, I no
> longer see matchbox-panel segfault. I'd like to understand root cause, and it
> still seems to repro on Ke's netbook.

Yes, i can still see the segfault after bug 869's fix. It should be another issue.
Comment 8 Ke Yu 2011-03-16 01:39:30 UTC
I believe this is the same issue with bug 224.

If I append the following line to gtk+_2.22.1.bb:
FULL_OPTIMIZATION_n450 = "-fexpensive-optimizations -frename-registers -O2 -ggdb -feliminate-unused-debug-types"

and recompile gtk+, then this issue will be gone.
Comment 9 Ke Yu 2011-03-16 02:30:59 UTC
Since I don't have BlackSand box in hand, I will ask QA team's help to see if they can reproduce this issue and also if the FULL_OPTIMIZATION_n450 change can fix this issue.
Comment 10 Darren Hart 2011-03-16 14:33:04 UTC
I've tested two solutions. One applying FULL_OPTIMIZATION just to the n450 gtk+ recipe. The other apply the same change to the tune-atom.conf which should apply to all recipes and all machines derived from atom.conf. They work on the n450 and the netbook (Toshiba NB305). I prefer the global fix, but understand it may be more invasive than we want for 1.0. Sending both the list for review and risk assessment.
Comment 11 Darren Hart 2011-03-16 15:41:55 UTC
Fixed in meta-intel bernard:

http://git.pokylinux.org/cgit.cgi/meta-intel/commit/?h=bernard&id=0f633ae9cad8ce759dfa965e2b9aa1fce6c4adb7

And meta-intel master:

http://git.pokylinux.org/cgit.cgi/meta-intel/commit/?id=01ded1de3b7034f55e7b695b83ab127df96c157b

Yu, can you check to see if you are seeing matchbox-panel still segv on atom-pc, the FULL_OPTIMIZATION_atom-pc is set properly in the core gtk+ recipe. If you see it segv on atom-pc, can you open another bug as this one was specific to the n450 and is now fixed.
Comment 12 Ke Yu 2011-03-16 18:32:13 UTC
(In reply to comment #11)
> Fixed in meta-intel bernard:
> 
> http://git.pokylinux.org/cgit.cgi/meta-intel/commit/?h=bernard&id=0f633ae9cad8ce759dfa965e2b9aa1fce6c4adb7
> 
> And meta-intel master:
> 
> http://git.pokylinux.org/cgit.cgi/meta-intel/commit/?id=01ded1de3b7034f55e7b695b83ab127df96c157b
> 
> Yu, can you check to see if you are seeing matchbox-panel still segv on
> atom-pc, the FULL_OPTIMIZATION_atom-pc is set properly in the core gtk+ recipe.
> If you see it segv on atom-pc, can you open another bug as this one was
> specific to the n450 and is now fixed.

I think your patch fix this issue. I don't observe the segv in atom-pc.
Comment 14 Ke Yu 2011-03-17 20:09:34 UTC
verify it. this issue is fixed.