I'm trying to get tests for Oxide running in Xvfb. However, whilst they run fine on a normal display, the crash frequently inside Xvfb with traces that look like:
#0 0x00007fffe2f19f5d in llvm::PMDataManager::freePass (this=this@entry=0x7fff8078f790, P=0x7fff683c21ab, Msg=..., DBG_STR=DBG_STR@entry=llvm::ON_FUNCTION_MSG)
at /build/buildd/llvm-toolchain-3.4-3.4/lib/IR/LegacyPassManager.cpp:959
#1 0x00007fffe2f1a168 in llvm::PMDataManager::removeDeadPasses (this=this@entry=0x7fff8078f790, P=P@entry=0x7fff807af0a0, Msg=..., DBG_STR=DBG_STR@entry=llvm::ON_FUNCTION_MSG)
at /build/buildd/llvm-toolchain-3.4-3.4/lib/IR/LegacyPassManager.cpp:947
#2 0x00007fffe2f1cedc in llvm::FPPassManager::runOnFunction (this=0x7fff8078f770, F=...) at /build/buildd/llvm-toolchain-3.4-3.4/lib/IR/LegacyPassManager.cpp:1549
#3 0x00007fffe2f1ef76 in llvm::legacy::FunctionPassManagerImpl::run (this=0x7fff8078f470, F=...) at /build/buildd/llvm-toolchain-3.4-3.4/lib/IR/LegacyPassManager.cpp:1489
#4 0x00007fffe2f1f044 in llvm::legacy::FunctionPassManager::run (this=0x7fff80798770, F=...) at /build/buildd/llvm-toolchain-3.4-3.4/lib/IR/LegacyPassManager.cpp:1407
#5 0x00007fffe3093504 in llvm::JIT::jitTheFunction (this=this@entry=0x7fff80799160, F=F@entry=0x7fff807cb9d0, locked=...)
at /build/buildd/llvm-toolchain-3.4-3.4/lib/ExecutionEngine/JIT/JIT.cpp:490
#6 0x00007fffe3093aff in llvm::JIT::runJITOnFunctionUnlocked (this=this@entry=0x7fff80799160, F=F@entry=0x7fff807cb9d0, locked=...)
at /build/buildd/llvm-toolchain-3.4-3.4/lib/ExecutionEngine/JIT/JIT.cpp:469
#7 0x00007fffe3093cd2 in llvm::JIT::getPointerToFunction (this=0x7fff80799160, F=0x7fff807cb9d0) at /build/buildd/llvm-toolchain-3.4-3.4/lib/ExecutionEngine/JIT/JIT.cpp:526
#8 0x00007fffe2f77456 in llvm::ExecutionEngine::getPointerToGlobal (this=0x7fff80799160, GV=GV@entry=0x7fff807cb9d0)
at /build/buildd/llvm-toolchain-3.4-3.4/lib/ExecutionEngine/ExecutionEngine.cpp:520
#9 0x00007fffe2f7d1f3 in LLVMGetPointerToGlobal (EE=<optimised out>, Global=Global@entry=0x7fff807cb9d0)
at /build/buildd/llvm-toolchain-3.4-3.4/lib/ExecutionEngine/ExecutionEngineBindings.cpp:334
#10 0x00007fffe90fd792 in gallivm_jit_function (gallivm=<optimised out>, func=0x7fff807cb9d0) at ../../../../../src/gallium/auxiliary/gallivm/lp_bld_init.c:657
#11 0x00007fffe980cbe6 in generate_variant (lp=0x7fff803a6cd0, key=0x7fff967faef0, shader=0x7fff8078b720) at ../../../../../../src/gallium/drivers/llvmpipe/lp_state_fs.c:2599
#12 llvmpipe_update_fs (lp=lp@entry=0x7fff803a6cd0) at ../../../../../../src/gallium/drivers/llvmpipe/lp_state_fs.c:3140
#13 0x00007fffe98055e0 in llvmpipe_update_derived (llvmpipe=llvmpipe@entry=0x7fff803a6cd0) at ../../../../../../src/gallium/drivers/llvmpipe/lp_state_derived.c:186
#14 0x00007fffe97ee5b1 in llvmpipe_draw_vbo (pipe=0x7fff803a6cd0, info=0x7fff967fb1a0) at ../../../../../../src/gallium/drivers/llvmpipe/lp_draw_arrays.c:64
#15 0x00007fffe96f513c in st_draw_vbo (ctx=0x7fff8049e6b0, prims=<optimised out>, nr_prims=<optimised out>, ib=0x7fff967fb260, index_bounds_valid=<optimised out>, min_index=4294967295,
max_index=4294967295, tfb_vertcount=0x0, indirect=0x0) at ../../../../src/mesa/state_tracker/st_draw.c:286
#16 0x00007fffe96c7553 in vbo_handle_primitive_restart (ctx=ctx@entry=0x7fff8049e6b0, prim=prim@entry=0x7fff967fb280, nr_prims=nr_prims@entry=1, ib=ib@entry=0x7fff967fb260,
index_bounds_valid=index_bounds_valid@entry=0 '\000', min_index=min_index@entry=4294967295, max_index=max_index@entry=4294967295) at ../../../../src/mesa/vbo/vbo_exec_array.c:585
#17 0x00007fffe96c8870 in vbo_validated_drawrangeelements (ctx=ctx@entry=0x7fff8049e6b0, mode=mode@entry=4, index_bounds_valid=index_bounds_valid@entry=0 '\000',
start=start@entry=4294967295, end=end@entry=4294967295, count=count@entry=6, type=type@entry=5123, indices=indices@entry=0x0, basevertex=basevertex@entry=0,
numInstances=numInstances@entry=1, baseInstance=baseInstance@entry=0) at ../../../../src/mesa/vbo/vbo_exec_array.c:1006
#18 0x00007fffe96c8d93 in vbo_exec_DrawElements (mode=4, count=6, type=5123, indices=0x0) at ../../../../src/mesa/vbo/vbo_exec_array.c:1156
#19 0x00007fffd85dd2fe in gpu::gles2::GLES2DecoderImpl::DoDrawElements (this=0x7fff806dd0e0, function_name=<optimised out>, instanced=<optimised out>, mode=4, count=6, type=5123,
offset=0, primcount=0) at ../../../../chromium/src/gpu/command_buffer/service/gles2_cmd_decoder.cc:6494
#20 0x00007fffd85dd42b in gpu::gles2::GLES2DecoderImpl::HandleDrawElements (this=this@entry=0x7fff806dd0e0, immediate_data_size=<optimised out>, c=...)
at ../../../../chromium/src/gpu/command_buffer/service/gles2_cmd_decoder.cc:6527
#21 0x00007fffd85fe2b0 in gpu::gles2::GLES2DecoderImpl::DoCommand (this=0x7fff806dd0e0, command=304, arg_count=<optimised out>, cmd_data=0x7fff94efa8f8)
at ../../../../chromium/src/gpu/command_buffer/service/gles2_cmd_decoder.cc:3618
#22 0x00007fffd85be54e in gpu::CommandParser::ProcessCommand (this=0x7fff8060d600) at ../../../../chromium/src/gpu/command_buffer/service/cmd_parser.cc:67
#23 0x00007fffd8604493 in gpu::GpuScheduler::PutChanged (this=0x7fff806dd6a0) at ../../../../chromium/src/gpu/command_buffer/service/gpu_scheduler.cc:81
#24 0x00007fffd7f37c4a in content::GpuCommandBufferStub::OnAsyncFlush (this=this@entry=0x7fff806d98b0, put_offset=579, flush_count=7)
at ../../../../chromium/src/content/common/gpu/gpu_command_buffer_stub.cc:665
#25 0x00007fffd7f3a657 in DispatchToMethod<content::GpuCommandBufferStub, void (content::GpuCommandBufferStub::*)(int, unsigned int), int, unsigned int> (arg=..., method=
(void (content::GpuCommandBufferStub::*)(content::GpuCommandBufferStub * const, int, unsigned int)) 0x7fffd7f37bf0 <content::GpuCommandBufferStub::OnAsyncFlush(int, unsigned int)>,
obj=0x7fff806d98b0) at ../../../../chromium/src/base/tuple.h:555
#26 Dispatch<content::GpuCommandBufferStub, content::GpuCommandBufferStub, void (content::GpuCommandBufferStub::*)(int, unsigned int)> (sender=0x7fff806d98b0, func=
(void (content::GpuCommandBufferStub::*)(content::GpuCommandBufferStub * const, int, unsigned int)) 0x7fffd7f37bf0 <content::GpuCommandBufferStub::OnAsyncFlush(int, unsigned int)>,
obj=0x7fff806d98b0, msg=0x7fff8071a650) at ../../../../chromium/src/content/common/gpu/gpu_messages.h:533
#27 content::GpuCommandBufferStub::OnMessageReceived (this=0x7fff806d98b0, message=...) at ../../../../chromium/src/content/common/gpu/gpu_command_buffer_stub.cc:199
#28 0x00007fffd7f4d002 in content::MessageRouter::RouteMessage (this=this@entry=0x7fff806d9660, msg=...) at ../../../../chromium/src/content/common/message_router.cc:49
#29 0x00007fffd7f32f84 in content::GpuChannel::HandleMessage (this=0x7fff806d95c0) at ../../../../chromium/src/content/common/gpu/gpu_channel.cc:751
#30 0x00007fffd7e65e7b in Run (this=0x7fff967fbcc8) at ../../../../chromium/src/base/callback.h:401
#31 base::MessageLoop::RunTask (this=this@entry=0x7fff80000940, pending_task=...) at ../../../../chromium/src/base/message_loop/message_loop.cc:449
#32 0x00007fffd7e668c1 in base::MessageLoop::DeferOrRunPendingTask (this=this@entry=0x7fff80000940, pending_task=...) at ../../../../chromium/src/base/message_loop/message_loop.cc:461
#33 0x00007fffd7e6a125 in base::MessageLoop::DoWork (this=0x7fff80000940) at ../../../../chromium/src/base/message_loop/message_loop.cc:575
#34 0x00007fffd7e6a4c9 in base::MessagePumpDefault::Run (this=0x7fff80000c40, delegate=0x7fff80000940) at ../../../../chromium/src/base/message_loop/message_pump_default.cc:32
#35 0x00007fffd7e7fa9d in base::RunLoop::Run (this=this@entry=0x7fff967fbe40) at ../../../../chromium/src/base/run_loop.cc:49
#36 0x00007fffd7e65275 in base::MessageLoop::Run (this=<optimised out>) at ../../../../chromium/src/base/message_loop/message_loop.cc:292
#37 0x00007fffd7e919c7 in base::Thread::ThreadMain (this=0x7fff9c06eac0) at ../../../../chromium/src/base/threading/thread.cc:225
#38 0x00007fffd7e8dc0d in base::(anonymous namespace)::ThreadFunc (params=<optimised out>) at ../../../../chromium/src/base/threading/platform_thread_posix.cc:80
#39 0x00007ffff5e49182 in start_thread (arg=0x7fff967fc700) at pthread_create.c:312
#40 0x00007ffff615a30d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
This is with llvm 1:3.4-1ubuntu3 and mesa 10.1.0-1ubuntu1