[Openchrome-devel] Another openchrome drm segfault

Thomas Hellström thomas
Fri Feb 6 02:34:49 PST 2009


Xavier Bachelot wrote:
> 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
>
>   
Hi, Xavier!

OK. I'll take a look at the EXA issue when there is time.
What apps do you mean by a bit more demanding?
Applications that I've tested recently and should be working are All 
mesa demos, et(pp)racer, openarena, google-earth celestia,
stellarium, foobillard etc.

/Thomas


Any chang







More information about the Openchrome-devel mailing list