[oe] Floating point exception in Xorg

Neil MacMunn neil at gumstix.com
Fri Mar 4 19:57:59 UTC 2011


I've started getting a floating point exception when gpe-dm starts Xorg 
or I start it manually. It only happens when I'm using a small display 
i.e. 4.3"LCD, works fine with DVI monitor. Here is the end of my Xorg.0.log

> (II) Loading /usr/lib/xorg/modules/drivers/omapfb_drv.so
> (II) Module omapfb: vendor="X.Org Foundation"
> 	compiled for 1.7.4, module version = 0.1.1
> 	ABI class: X.Org Video Driver, version 6.0
> (II) omapfb: Driver for OMAP framebuffer (omapfb) and external LCD controllers:
> 	omap1/2/3, S1D13745, HWA742
> (WW) Falling back to old probe method for OMAPFB
> (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
> (II) Running in FRAMEBUFFER Mode
> (WW) Error opening /sys/devices/platform/omapfb/ctrl/name: No such file or directory
> (WW) Can't autodetect LCD controller, assuming internal
> (II) LCD controller: internal
> (II) omapfb(0): Base plane capabilities:
> (II) omapfb(0): Base plane supports the following image formats:
> (II) omapfb(0): VideoRAM: 512KiB (SDRAM)
> (II) omapfb(0): Creating default Display subsection in Screen section
> 	"Screen0" for depth/fbbpp 24/32
> (--) omapfb(0): Depth 24, (==) framebuffer bpp 32
> (==) omapfb(0): RGB weight 888
> (==) omapfb(0): Default visual is TrueColor
> (II) omapfb(0): Output LCD using monitor section Monitor0
>
> Backtrace:
> 0: Xorg (xorg_backtrace+0x2c) [0x57ca0]
> Floating point exception at address 0x734
>
> Fatal server error:
> Caught signal 8 (Floating point exception). Server aborting

I ran a backtrace with GDB and got the following.

> #0  0x401820ac in raise () from /lib/libpthread.so.0
> #1  0x40661fbc in __div0 ()
>     at /home/neil/overo-oe/tmp-unstable/work/armv7a-angstrom-linux-gnueabi/gcc-cross-4.3.3-r23.2/gcc-4.3.3/libgcc/../gcc/config/arm/lib1funcs.asm:1079
> #2  0x40661f90 in __udivsi3 ()
>     at /home/neil/overo-oe/tmp-unstable/work/armv7a-angstrom-linux-gnueabi/gcc-cross-4.3.3-r23.2/gcc-4.3.3/libgcc/../gcc/config/arm/lib1funcs.asm:834
> #3  0x4065edc4 in OMAPFBOutputGetModes (output=<value optimized out>)
>     at omapfb-output.c:128
> #4  0x000f8c60 in xf86ProbeOutputModes (scrn=0x90a990, maxX=2048, maxY=2048)
>     at xf86Crtc.c:1575
> #5  0x000f95dc in xf86InitialConfiguration (scrn=0x2, canGrow=1)
>     at xf86Crtc.c:2345
> #6  0x4065e47c in OMAPFBPreInit (pScrn=0x90a990, flags=<value optimized out>)
>     at omapfb-driver.c:422
> #7  0x0006f6c0 in InitOutput (pScreenInfo=0x1, argc=7, argv=0x0)
>     at xf86Init.c:817
> #8  0x00021fbc in main (argc=7, argv=0x0, envp=<value optimized out>)
>     at main.c:204

I suspected that there was a change in Xorg or omapfb_drv.so so I 
replaced them with their counterparts from a working system to no 
effect. xorg.conf hasn't changed. I'm using a Gumstix Overo with desktop 
and palmtop images. Has anyone seen a floating point exception from Xorg 
or have any ideas where it might originate?

Thanks.

--
Neil




More information about the Openembedded-devel mailing list