Posting the last lines of “dmesg” might also help if you see anything
X or video-related.

In dmesg, I got this message several times :

[drm:i915_get_vblank_counter] *ERROR* trying to get vblank count for disabled pipe 0

$ sudo gdb attach $(pidof X)

Or use “ps faux|grep X”, and copy/paste the PID. At that moment, X
should be frozen. To make it continue, just type “continue” at the gdb
prompt.

Now, play around with blender until X crashes (or hangs). Go back to
the gdb prompt, and type “bt”, and then “bt full”, and post the
backtrace.

Thank you for this advice (I never did such a thing before).

When inducing blender to hang the system (black screen, keyboard blocked), I had to press CTRL-C so that gdb took control again.

I saved the backtrace information in the attached file.

Note : I tried the same manipulation with libdrm2-dbg and libdrm-intel1-dbg installed on the system but the result was that gdb could not take control again (CTRL-C not working). I had to uninstall these packages so that CTRL-C worked.

Sorry it messes around with your box that much, used to have that too,
and I know it's quite a mess. IIRC, the best way I found was to try
“sudo halt”. Reboot never worked.

In fact, "sudo halt", "sudo poweroff", "sudo shutdown now" do not work for me in this case. I need to end up with a hardware powerdown (and necessary fsck on every reboot).

Killing X just leaves the process in the D state.

Best regards,

--
O.C.

P.S. : Manips faites sous alcoolémie non nulle, mais pas trop élevée non plus.
################# backtrace:

#0  0xb7fd2424 in __kernel_vsyscall ()
#1  0xb7d30509 in ioctl () from /lib/i686/cmov/libc.so.6
#2  0xb7fbfcdd in drmIoctl () from /usr/lib/libdrm.so.2
#3  0xb7fc00d2 in drmCommandNone () from /usr/lib/libdrm.so.2
#4  0xb7ab980e in I830BlockHandler (i=0, blockData=0x0, pTimeout=0xbff41578, 
    pReadmask=0x81ef4e0) at ../../src/i830_driver.c:2192
#5  0x08176e5b in AnimCurScreenBlockHandler (screenNum=0, blockData=0x0, 
    pTimeout=0xbff41578, pReadmask=0x81ef4e0) at ../../render/animcur.c:222
#6  0x081419a8 in compBlockHandler (i=0, blockData=0x0, pTimeout=0xbff41578, 
    pReadmask=0x81ef4e0) at ../../composite/compinit.c:158
#7  0x08090418 in BlockHandler (pTimeout=0xbff41578, pReadmask=0x81ef4e0)
    at ../../dix/dixutils.c:384
#8  0x0812ee74 in WaitForSomething (pClientsReady=0x93fd868)
    at ../../os/WaitFor.c:215
#9  0x0808c5f6 in Dispatch () at ../../dix/dispatch.c:386
#10 0x08071b8a in main (argc=9, argv=0xbff416c4, envp=
Cannot access memory at address 0x6460
) at ../../dix/main.c:397


################# backtrace full:

#0  0xb7fd2424 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7d30509 in ioctl () from /lib/i686/cmov/libc.so.6
No symbol table info available.
#2  0xb7fbfcdd in drmIoctl () from /usr/lib/libdrm.so.2
No symbol table info available.
#3  0xb7fc00d2 in drmCommandNone () from /usr/lib/libdrm.so.2
No symbol table info available.
#4  0xb7ab980e in I830BlockHandler (i=0, blockData=0x0, pTimeout=0xbff41578, 
    pReadmask=0x81ef4e0) at ../../src/i830_driver.c:2192
        flushed = <value optimized out>
        pScreen = 0x9137bc8
        pScrn = 0x9112528
        pI830 = 0x9112db0
#5  0x08176e5b in AnimCurScreenBlockHandler (screenNum=0, blockData=0x0, 
    pTimeout=0xbff41578, pReadmask=0x81ef4e0) at ../../render/animcur.c:222
        pScreen = 0x9137bc8
        as = 0x9190b40
        dev = 0x0
        now = 0
        soonest = 4294967295
#6  0x081419a8 in compBlockHandler (i=0, blockData=0x0, pTimeout=0xbff41578, 
    pReadmask=0x81ef4e0) at ../../composite/compinit.c:158
        pScreen = 0x9137bc8
        cs = 0x91838c8
#7  0x08090418 in BlockHandler (pTimeout=0xbff41578, pReadmask=0x81ef4e0)
    at ../../dix/dixutils.c:384
        i = 1
#8  0x0812ee74 in WaitForSomething (pClientsReady=0x93fd868)
    at ../../os/WaitFor.c:215
        i = <value optimized out>
        waittime = {tv_sec = 118, tv_usec = 260000}
        wt = 0xbff41570
        timeout = <value optimized out>
        clientsReadable = {fds_bits = {0 <repeats 32 times>}}
        clientsWritable = {fds_bits = {154826244, -1074522984, 1, -1074522860, 
            -1210907093, 0, 32, 136176124, 157135376, 32, -1074522952, 
            135497550, 31, -1074522860, 1, 135922237, 155176944, 136176124, 
            -1074522920, 135492415, 157135376, -1074522860, 1, 154855440, 
            136176124, 154968488, -1074522824, 135476434, 157135376, 
            -1074522860, 1, 136232304}}
        curclient = <value optimized out>
        selecterr = 0
        nready = <value optimized out>
        devicesReadable = {fds_bits = {156322320, 154826184, -1074523108, 1, 
            6455423, 8512, 154826244, 134841511, -1074523108, 154826244, 
            154989344, 6, 287840, 253, 18874370, 0, 6094949, 4849762, 65792, 
            136176124, 0, 154826184, -1074522968, 135790062, 155176944, 
            154826184, 0, 2, 2, 1, 2, 0}}
        now = 287840
        someReady = 0
#9  0x0808c5f6 in Dispatch () at ../../dix/dispatch.c:386
        result = 0
        client = 0x9514a10
        nready = -1
        start_tick = 260
#10 0x08071b8a in main (argc=9, argv=0xbff416c4, envp=
Cannot access memory at address 0x6460
) at ../../dix/main.c:397
        i = <value optimized out>
        alwaysCheckForInput = {0, 1}


################# info registers:

eax            0xfffffe00       -512
ecx            0x6458   25688
edx            0x0      0
ebx            0xa      10
esp            0xbff411e8       0xbff411e8
ebp            0xbff41218       0xbff41218
esi            0xffffffff       -1
edi            0x0      0
eip            0xb7fd2424       0xb7fd2424 <__kernel_vsyscall+16>
eflags         0x203246 [ PF ZF IF #12 #13 ID ]
cs             0x73     115
ss             0x7b     123
ds             0x7b     123
es             0x7b     123
fs             0x0      0
gs             0x33     51


################# x/16i $pc:

0xb7fd2424 <__kernel_vsyscall+16>:      pop    %ebp
0xb7fd2425 <__kernel_vsyscall+17>:      pop    %edx
0xb7fd2426 <__kernel_vsyscall+18>:      pop    %ecx
0xb7fd2427 <__kernel_vsyscall+19>:      ret    
0xb7fd2428:     add    %ch,(%esi)
0xb7fd242a:     jae    0xb7fd2494
0xb7fd242c:     jae    0xb7fd24a2
0xb7fd242e:     jb     0xb7fd24a4
0xb7fd2430:     popa   
0xb7fd2431:     bound  %eax,(%eax)
0xb7fd2433:     cs
0xb7fd2434:     push   $0x687361
0xb7fd2439:     cs
0xb7fd243a:     fs
0xb7fd243b:     jns    0xb7fd24ab
0xb7fd243d:     jae    0xb7fd24b8


################# thread apply all backtrace:

Thread 1 (Thread 0xb7bc6720 (LWP 2914)):
#0  0xb7fd2424 in __kernel_vsyscall ()
#1  0xb7d30509 in ioctl () from /lib/i686/cmov/libc.so.6
#2  0xb7fbfcdd in drmIoctl () from /usr/lib/libdrm.so.2
#3  0xb7fc00d2 in drmCommandNone () from /usr/lib/libdrm.so.2
#4  0xb7ab980e in I830BlockHandler (i=0, blockData=0x0, pTimeout=0xbff41578, 
    pReadmask=0x81ef4e0) at ../../src/i830_driver.c:2192
#5  0x08176e5b in AnimCurScreenBlockHandler (screenNum=0, blockData=0x0, 
    pTimeout=0xbff41578, pReadmask=0x81ef4e0) at ../../render/animcur.c:222
#6  0x081419a8 in compBlockHandler (i=0, blockData=0x0, pTimeout=0xbff41578, 
    pReadmask=0x81ef4e0) at ../../composite/compinit.c:158
#7  0x08090418 in BlockHandler (pTimeout=0xbff41578, pReadmask=0x81ef4e0)
    at ../../dix/dixutils.c:384
#8  0x0812ee74 in WaitForSomething (pClientsReady=0x93fd868)
    at ../../os/WaitFor.c:215
#9  0x0808c5f6 in Dispatch () at ../../dix/dispatch.c:386
#10 0x08071b8a in main (argc=9, argv=0xbff416c4, envp=
Cannot access memory at address 0x6460
) at ../../dix/main.c:397

Reply via email to