[Openchrome-devel] Another openchrome drm segfault

Xavier Bachelot xavier
Thu Feb 5 05:26:03 PST 2009


Hi Thomas,

Thomas Hellstr?m wrote:
> Hi, Xavier
> 
> Xavier Bachelot wrote:
>>
>>
>> Program received signal SIGSEGV, Segmentation fault.
>> wsbmBOUnmap (buf=0x9ee6730) at wsbm_manager.c:360
>> 360     wsbm_manager.c: No such file or directory.
>>         in wsbm_manager.c
>> Current language:  auto; currently c
>>
>> Regards,
>> Xavier
>>
>>   
> I think this latest wsbmBOUnmap segfault is fixed in latest
> xf86-video-openchrome ttm branch.
> 
> The hardlock looks nastier. It might be because we're using the wrong
> hardware cursor and thus writing to
> incorrect registers.
> 
> I have a KM400 here so I'll try to fire it up at some point.
> 
> /Thomas
> 
> 
I've tried again with uptodate version of the components.
It still segfaults at KDE start. This is still with a KM400, but
hardware cursor is disabled this time.

[drm] Initialized drm 1.1.0 20060810
openchrome 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
TTM available graphics memory: 473 MiB
TTM available object memory: 441 MiB
[drm] Detected 65536 kiBytes of Video RAM at physical address 0xd8000000.
agpgart-via 0000:00:00.0: AGP 3.5 bridge
agpgart-via 0000:00:00.0: bridge is in legacy mode, falling back to 2.x
agpgart-via 0000:00:00.0: putting AGP V2 device into 4x mode
openchrome 0000:01:00.0: putting AGP V2 device into 4x mode
[drm] Detected 128 MiBytes of AGP Aperture at physical address 0xd0000000.
[drm] Initialized openchrome 0.1.0 20090119 on minor 0


Program received signal SIGSEGV, Segmentation fault.
memcpy () at ../sysdeps/i386/i686/memcpy.S:96
96              movsb
Current language:  auto; currently asm
(gdb) bt
#0  memcpy () at ../sysdeps/i386/i686/memcpy.S:96
#1  0x0023101b in viaExaUploadToScratch (pSrc=0xa05ade8,
pDst=0xbf809a38) at via_accel.c:940
#2  0x002b7b45 in exaTryDriverComposite (op=1 '\001', pSrc=0xa05ad78,
pMask=0xa0b2960, pDst=0xa05ad78, xSrc=0, ySrc=0, xMask=<value optimized
out>, yMask=<value optimized out>, xDst=<value optimized out>,
yDst=<value optimized out>,
    width=<value optimized out>, height=<value optimized out>) at
exa_render.c:662
#3  0x002b892a in exaComposite (op=1 '\001', pSrc=0xa05ad78,
pMask=0xa0b2960, pDst=0xa05ad78, xSrc=0, ySrc=0, xMask=0, yMask=0,
xDst=0, yDst=0, width=20, height=20) at exa_render.c:936
#4  0x0816f6fa in damageComposite (op=0 '\0', pSrc=0xa05ad78,
pMask=0xa0b2960, pDst=0xa05ad78, xSrc=<value optimized out>, ySrc=<value
optimized out>, xMask=<value optimized out>, yMask=<value optimized out>,
    xDst=<value optimized out>, yDst=<value optimized out>, width=<value
optimized out>, height=<value optimized out>) at damage.c:576
#5  0x0815818a in CompositePicture (op=1 '\001', pSrc=0xa05ad78,
pMask=0xa0b2960, pDst=0xa05ad78, xSrc=0, ySrc=0, xMask=<value optimized
out>, yMask=<value optimized out>, xDst=<value optimized out>,
yDst=<value optimized out>,
    width=20, height=20) at picture.c:1674
#6  0x0815e055 in ProcRenderComposite (client=0xa008cc8) at render.c:729
#7  0x0815ad75 in ProcRenderDispatch (client=0x1) at render.c:2097
#8  0x08085e9f in Dispatch () at dispatch.c:454
#9  0x0806b71d in main (argc=8, argv=0xbf809e54, envp=Cannot access
memory at address 0x9
) at main.c:441
(gdb) cont
Continuing.

Program received signal SIGSEGV, Segmentation fault.
wsbmBOUnmap (buf=0x9d9e720) at wsbm_manager.c:360
360     wsbm_manager.c: No such file or directory.
        in wsbm_manager.c
Current language:  auto; currently c
(gdb) bt
#0  wsbmBOUnmap (buf=0x9d9e720) at wsbm_manager.c:360
#1  0x0023652a in VIALeaveVT (scrnIndex=0, flags=0) at via_driver.c:1928
#2  0x080d047a in xf86XVLeaveVT (index=0, flags=0) at xf86xv.c:1268
#3  0x001ed5b9 in glxDRILeaveVT (index=0, flags=0) at glxdri.c:868
#4  0x080a2229 in AbortDDX () at xf86Init.c:1518
#5  0x08136f1d in AbortServer () at log.c:407
#6  0x08137523 in FatalError (f=0x81b904c "Caught signal %d.  Server
aborting\n") at log.c:553
#7  0x080bcc93 in xf86SigHandler (signo=11) at xf86Events.c:593
#8  <signal handler called>
#9  memcpy () at ../sysdeps/i386/i686/memcpy.S:96
#10 0x0023101b in viaExaUploadToScratch (pSrc=0xa05ade8,
pDst=0xbf809a38) at via_accel.c:940
#11 0x002b7b45 in exaTryDriverComposite (op=1 '\001', pSrc=0xa05ad78,
pMask=0xa0b2960, pDst=0xa05ad78, xSrc=0, ySrc=0, xMask=<value optimized
out>, yMask=<value optimized out>, xDst=<value optimized out>,
yDst=<value optimized out>,
    width=<value optimized out>, height=<value optimized out>) at
exa_render.c:662
#12 0x002b892a in exaComposite (op=1 '\001', pSrc=0xa05ad78,
pMask=0xa0b2960, pDst=0xa05ad78, xSrc=0, ySrc=0, xMask=0, yMask=0,
xDst=0, yDst=0, width=20, height=20) at exa_render.c:936
#13 0x0816f6fa in damageComposite (op=0 '\0', pSrc=0xa05ad78,
pMask=0xa0b2960, pDst=0xa05ad78, xSrc=<value optimized out>, ySrc=<value
optimized out>, xMask=<value optimized out>, yMask=<value optimized out>,
    xDst=<value optimized out>, yDst=<value optimized out>, width=<value
optimized out>, height=<value optimized out>) at damage.c:576
#14 0x0815818a in CompositePicture (op=1 '\001', pSrc=0xa05ad78,
pMask=0xa0b2960, pDst=0xa05ad78, xSrc=0, ySrc=0, xMask=<value optimized
out>, yMask=<value optimized out>, xDst=<value optimized out>,
yDst=<value optimized out>,
    width=20, height=20) at picture.c:1674
#15 0x0815e055 in ProcRenderComposite (client=0xa008cc8) at render.c:729
#16 0x0815ad75 in ProcRenderDispatch (client=0x1) at render.c:2097
#17 0x08085e9f in Dispatch () at dispatch.c:454
#18 0x0806b71d in main (argc=8, argv=0xbf809e54, envp=Cannot access
memory at address 0x9
) at main.c:441
(gdb) cont
Continuing.

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.


At this point, the screen is black with the mouse cursor in the center,
surrounded with a bit of garbage. I was able to use the machine thru ssh
for a bit then it froze. Actually, just enough time to capture the
backtrace from the xorg log :

Backtrace:
0: /usr/bin/X(xorg_backtrace+0x3b) [0x812bc5b]
1: /usr/bin/X(xf86SigHandler+0x51) [0x80bcc81]
2: [0x110400]
3: /usr/lib/libwsbm.so.1(wsbmBOUnmap+0xc) [0x2786ac]
4: /usr/lib/xorg/modules/drivers//openchrome_drv.so [0x238e04]
5: /usr/bin/X [0x80bc54b]
6: /usr/lib/xorg/modules/extensions//libextmod.so [0x1902e4]
7: /usr/bin/X [0x816419b]
8: /usr/bin/X [0x80d5278]
9: /usr/bin/X [0x80c1d63]
10: /usr/bin/X [0x8141c45]
11: /usr/bin/X [0x816299c]
12: /usr/bin/X [0x813c3da]
13: /usr/lib/xorg/modules/extensions//libglx.so [0x1e4d43]
14: /usr/bin/X(main+0x4fc) [0x806b79c]
15: /lib/libc.so.6(__libc_start_main+0xe5) [0xb9f6e5]
16: /usr/bin/X [0x806ab01]

Fatal server error:
Caught signal 11.  Server aborting


Adding ExaNoComposite option to the xorg conf allowed KDE to start.
glxgears works, but anything a bit more demanding on 3D is killing the
machine.

Regards,
Xavier





More information about the Openchrome-devel mailing list