I did recompile with full debug but unfortunately, I do not manage to crash it with the same procedure. Everything is a lot slower however, so maybe timing is important.
I suspected memory corruption as well as triggering the crash seems to rely there being consideral memory load on the system.
Would valgrind help (you'd need to tell me how to run that with X though)?
Reinstalling the non-debug version again and I can reproduce quite easily again:
gdb) bt full
#0 has_offload_slaves (sna=0x7f0eb6568000) at sna_accel.c:14700
screen = <optimized out>
dirty = <optimized out>
#1 0x00007f0eb78796ee in stop_flush (scanout=0x214a660, sna=0x7f0eb6568000)
at sna_accel.c:14763
No locals.
#2 sna_accel_flush (sna=0x7f0eb6568000) at sna_accel.c:14985
priv = 0x214a660
busy = false
#3 sna_accel_block_handler (sna=0x7f0eb6568000, tv=0x7fff2aed2c58)
at sna_accel.c:15425
No locals.
#4 0x000000000043d9c4 in BlockHandler (
pTimeout=pTimeout@entry=0x7fff2aed2c58,
pReadmask=pReadmask@entry=0x81c340 <LastSelectMask>) at dixutils.c:387
i = 0
j = <optimized out>
#5 0x0000000000469e84 in WaitForSomething (
pClientsReady=pClientsReady@entry=0x23a7a30) at WaitFor.c:210
i = <optimized out>
waittime = {tv_sec = 153, tv_usec = 65000}
wt = 0x7fff2aed2c60
timeout = <optimized out>
---Type <return> to continue, or q <return> to quit--- clientsReadable = {fds_bits = {0 <repeats 16 times>}} clientsWritable = {fds_bits = {1, 1, 4294967295, 5415558, 34730504, 140733913574944, 34712528, 0, 34712528, 34730504, 0, 206158430224, 140733913574960, 140733913574752, 16, 264619602646}}
selecterr = <optimized out>
nready = 0 devicesReadable = {fds_bits = {55, 1, 140733913574912, 48, 43118368, 4689382, 48, 43118368, 50831424, 4651885, 1, 48, 0, 0, 0, 46284816}}
now = <optimized out>
someReady = 0
#6 0x0000000000439581 in Dispatch () at dispatch.c:357
clientReady = 0x23a7a30
result = <optimized out>
client = <optimized out>
nready = <optimized out>
icheck = 0x8163f0 <checkForInput>
start_tick = <optimized out>
#7 0x00000000004282da in main (argc=9, argv=0x7fff2aed3068,
envp=<optimized out>) at main.c:298
i = <optimized out> alwaysCheckForInput = {0, 1}
I did recompile with full debug but unfortunately, I do not manage to crash it with the same procedure. Everything is a lot slower however, so maybe timing is important.
I suspected memory corruption as well as triggering the crash seems to rely there being consideral memory load on the system.
Would valgrind help (you'd need to tell me how to run that with X though)?
Reinstalling the non-debug version again and I can reproduce quite easily again:
gdb) bt full 8000) at sna_accel.c:14700 8000) at sna_accel.c:14985 block_handler (sna=0x7f0eb656 8000, tv=0x7fff2aed2c58) pTimeout@ entry=0x7fff2ae d2c58, pReadmask@ entry=0x81c340 <LastSelectMask>) at dixutils.c:387 dy=pClientsRead y@entry= 0x23a7a30) at WaitFor.c:210
clientsReadabl e = {fds_bits = {0 <repeats 16 times>}}
clientsWritabl e = {fds_bits = {1, 1, 4294967295, 5415558, 34730504,
1407339135 74944, 34712528, 0, 34712528, 34730504, 0, 206158430224,
1407339135 74960, 140733913574752, 16, 264619602646}}
devicesReadabl e = {fds_bits = {55, 1, 140733913574912, 48, 43118368,
4689382, 48, 43118368, 50831424, 4651885, 1, 48, 0, 0, 0,
46284816} } 3068,
alwaysCheckFor Input = {0, 1}
#0 has_offload_slaves (sna=0x7f0eb656
screen = <optimized out>
dirty = <optimized out>
#1 0x00007f0eb78796ee in stop_flush (scanout=0x214a660, sna=0x7f0eb6568000)
at sna_accel.c:14763
No locals.
#2 sna_accel_flush (sna=0x7f0eb656
priv = 0x214a660
busy = false
#3 sna_accel_
at sna_accel.c:15425
No locals.
#4 0x000000000043d9c4 in BlockHandler (
pTimeout=
pReadmask=
i = 0
j = <optimized out>
#5 0x0000000000469e84 in WaitForSomething (
pClientsRea
i = <optimized out>
waittime = {tv_sec = 153, tv_usec = 65000}
wt = 0x7fff2aed2c60
timeout = <optimized out>
---Type <return> to continue, or q <return> to quit---
selecterr = <optimized out>
nready = 0
now = <optimized out>
someReady = 0
#6 0x0000000000439581 in Dispatch () at dispatch.c:357
clientReady = 0x23a7a30
result = <optimized out>
client = <optimized out>
nready = <optimized out>
icheck = 0x8163f0 <checkForInput>
start_tick = <optimized out>
#7 0x00000000004282da in main (argc=9, argv=0x7fff2aed
envp=<optimized out>) at main.c:298
i = <optimized out>