On 2012-12-28 01:08, Minas Mina wrote:
Note that there is more code after bool hit = ...
but I didn't include it because the problem is in the trace
function (I commented it out and everything else worked -- apart
from the things are dependent on it of course)

Why don't you show the trace function then? Where's the rest of the code?

[xcb] Unknown request in queue while dequeuing
[xcb] Most likely this is a multi-threaded client and
XInitThreads has not been called
[xcb] Aborting, sorry about that.
raytracing: ../../src/xcb_io.c:178: dequeue_pending_request:
Assertion `!xcb_xlib_unknown_req_in_deq' failed.
bash: line 1: 18982 Aborted                 (core dumped)
/home/minas/Projects/D/raytracing/raytracing/bin/Release/raytracing

This sheds some light on the problem.
Probably it would go away if only a single thread was made responsible for calls into libxcb. That's a preferable, safer approach than initializing for multi-threading (but have you done the initializing?).

double free or corruption

IMO that's just a consequence of several threads manipulating same data without any locks or synchronization in place.

Reply via email to