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