amonakov / primus

Low-overhead client-side GPU offloading
ISC License
217 stars 20 forks source link

Firefox WebGL: segfault #43

Closed ArchangeGabriel closed 11 years ago

ArchangeGabriel commented 11 years ago

If I try running firefox with primusrun, it looks fine, but if I load any page requiring WebGL or acces to the graphic cards, it segfaults, whereas it runs correctly with optirun (VGL).

The terminal output is just: Segfault (core dumped)

No relevant output in Xorg.8.log, nor in syslog.

Is there anything usefull I can provide (something with gdb for example) ?

ArchangeGabriel commented 11 years ago

gdb backtrace:

#0  0x00007ffff3cdc53f in ?? () from /usr/lib/firefox-trunk/libxul.so
#1  0x00007ffff3d3f50c in ?? () from /usr/lib/firefox-trunk/libxul.so
#2  0x00007ffff3d3f764 in ?? () from /usr/lib/firefox-trunk/libxul.so
#3  0x00007ffff346211f in ?? () from /usr/lib/firefox-trunk/libxul.so
#4  0x00007ffff34c3726 in ?? () from /usr/lib/firefox-trunk/libxul.so
#5  0x00007ffff34c4234 in ?? () from /usr/lib/firefox-trunk/libxul.so
#6  0x00007ffff38b628e in ?? () from /usr/lib/firefox-trunk/libxul.so
#7  0x00007ffff419fe58 in ?? () from /usr/lib/firefox-trunk/libxul.so
#8  0x00007ffff41a064f in ?? () from /usr/lib/firefox-trunk/libxul.so
#9  0x00007ffff41e419b in js::BaseProxyHandler::call(JSContext*, JSObject*, unsigned int, JS::Value*) () from /usr/lib/firefox-trunk/libxul.so
#10 0x00007ffff42573cc in js::Wrapper::call(JSContext*, JSObject*, unsigned int, JS::Value*) () from /usr/lib/firefox-trunk/libxul.so
#11 0x00007ffff42588d6 in js::CrossCompartmentWrapper::call(JSContext*, JSObject*, unsigned int, JS::Value*) () from /usr/lib/firefox-trunk/libxul.so
#12 0x00007ffff41e518e in ?? () from /usr/lib/firefox-trunk/libxul.so
#13 0x00007ffff41a00c4 in ?? () from /usr/lib/firefox-trunk/libxul.so
#14 0x00007ffff419d925 in ?? () from /usr/lib/firefox-trunk/libxul.so
#15 0x00007ffff419f68c in ?? () from /usr/lib/firefox-trunk/libxul.so
#16 0x00007ffff41a002b in ?? () from /usr/lib/firefox-trunk/libxul.so
#17 0x00007ffff41a064f in ?? () from /usr/lib/firefox-trunk/libxul.so
#18 0x00007ffff41e419b in js::BaseProxyHandler::call(JSContext*, JSObject*, unsigned int, JS::Value*) () from /usr/lib/firefox-trunk/libxul.so
#19 0x00007ffff42573cc in js::Wrapper::call(JSContext*, JSObject*, unsigned int, JS::Value*) () from /usr/lib/firefox-trunk/libxul.so
#20 0x00007ffff42588d6 in js::CrossCompartmentWrapper::call(JSContext*, JSObject*, unsigned int, JS::Value*) () from /usr/lib/firefox-trunk/libxul.so
#21 0x00007ffff41e518e in ?? () from /usr/lib/firefox-trunk/libxul.so
#22 0x00007ffff41a00c4 in ?? () from /usr/lib/firefox-trunk/libxul.so
#23 0x00007ffff419d925 in ?? () from /usr/lib/firefox-trunk/libxul.so
#24 0x00007ffff419f68c in ?? () from /usr/lib/firefox-trunk/libxul.so
#25 0x00007ffff41a002b in ?? () from /usr/lib/firefox-trunk/libxul.so
#26 0x00007ffff41a064f in ?? () from /usr/lib/firefox-trunk/libxul.so
#27 0x00007ffff4114ca8 in JS_CallFunctionValue(JSContext*, JSObject*, JS::Value, unsigned int, JS::Value*, JS::Value*) () from /usr/lib/firefox-trunk/libxul.so
#28 0x00007ffff3889e30 in ?? () from /usr/lib/firefox-trunk/libxul.so
#29 0x00007ffff3885041 in ?? () from /usr/lib/firefox-trunk/libxul.so
#30 0x00007ffff3cb983b in ?? () from /usr/lib/firefox-trunk/libxul.so
#31 0x00007ffff3cb8d0f in ?? () from /usr/lib/firefox-trunk/libxul.so
#32 0x00007fffd6497900 in ?? ()
#33 0x00007fffdc2cdb00 in ?? ()
#34 0x00007fffd6497900 in ?? ()
#35 0x00007fffdc2cdb00 in ?? ()
#36 0x00007fffdd1c68a0 in ?? ()
#37 0x00007fffffff2c48 in ?? ()
#38 0x3feccccccccccccd in ?? ()
#39 0x00007fffe771d300 in ?? ()
#40 0x00650064005f005f in ?? ()
#41 0x0000000000000000 in ?? ()
ArchangeGabriel commented 11 years ago

With debug symbols: gfxASurface::CairoStatus (this=0x0) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/gfx/thebes/gfxASurface.cpp:315 315 /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/gfx/thebes/gfxASurface.cpp: No such file or folder.

#0  gfxASurface::CairoStatus (this=0x0) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/gfx/thebes/gfxASurface.cpp:315
#1  0x00007ffff3d3f50c in mozilla::gl::CreateOffscreenPixmapContext (aFormat=..., aShare=aShare@entry=true, aLibToUse=mozilla::gl::GLXLibrary::OPENGL_LIB, aSize=...) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/gfx/gl/GLContextProviderGLX.cpp:1313
#2  0x00007ffff3d3f764 in mozilla::gl::GLContextProviderGLX::CreateOffscreen (aSize=..., aFormat=..., aFlag=mozilla::gl::GLContext::ContextFlagsNone) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/gfx/gl/GLContextProviderGLX.cpp:1368
#3  0x00007ffff346211f in SetDimensions (height=1, width=1, this=0x7fffd8aec800) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/content/canvas/src/WebGLContext.cpp:539
#4  mozilla::WebGLContext::SetDimensions (this=0x7fffd8aec800, width=<optimized out>, height=<optimized out>) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/content/canvas/src/WebGLContext.cpp:346
#5  0x00007ffff34c3726 in nsHTMLCanvasElement::UpdateContext (this=this@entry=0x7fffd12e4dc0, aNewContextOptions=0x0) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/content/html/content/src/nsHTMLCanvasElement.cpp:890
#6  0x00007ffff34c4234 in nsHTMLCanvasElement::GetContext (this=0x7fffd12e4dc0, aContextId=..., aContextOptions=..., aContext=0x7fffffff8ce0) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/content/html/content/src/nsHTMLCanvasElement.cpp:816
#7  0x00007ffff38b628e in nsIDOMHTMLCanvasElement_GetContext (cx=0x7fffd8bd08e0, argc=<optimized out>, vp=0x7fffe3a04260) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/obj-x86_64-linux-gnu/js/xpconnect/src/dom_quickstubs.cpp:8792
#8  0x00007ffff419fe58 in CallJSNative (args=..., native=<optimized out>, cx=0x7fffd8bd08e0) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jscntxtinlines.h:373
#9  js::InvokeKernel (cx=cx@entry=0x7fffd8bd08e0, args=..., construct=construct@entry=js::NO_CONSTRUCT) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsinterp.cpp:391
#10 0x00007ffff41a064f in Invoke (construct=js::NO_CONSTRUCT, args=..., cx=0x7fffd8bd08e0) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsinterp.h:112
#11 js::Invoke (cx=0x7fffd8bd08e0, thisv=..., fval=..., argc=1, argv=<optimized out>, rval=0x7fffffff9048) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsinterp.cpp:439
#12 0x00007ffff41e419b in js::BaseProxyHandler::call (this=<optimized out>, cx=0x7fffd8bd08e0, proxy=0x7fffe0aec220, argc=1, vp=0x7fffe3a04248) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsproxy.cpp:266
#13 0x00007ffff42573cc in call (vp=0x7fffe3a04248, argc=1, wrapper=0x7fffe0aec220, cx=0x7fffd8bd08e0, this=0x7ffff54bc660 <js::CrossCompartmentWrapper::singleton>) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jswrapper.cpp:300
#14 js::Wrapper::call (this=0x7ffff54bc660 <js::CrossCompartmentWrapper::singleton>, cx=0x7fffd8bd08e0, wrapper=0x7fffe0aec220, argc=1, vp=0x7fffe3a04248) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jswrapper.cpp:296
#15 0x00007ffff42588d6 in js::CrossCompartmentWrapper::call (this=0x7ffff54bc660 <js::CrossCompartmentWrapper::singleton>, cx=0x7fffd8bd08e0, wrapper_=0x7fffe0aec220, argc=1, vp=0x7fffe3a04248) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jswrapper.cpp:633
#16 0x00007ffff41e518e in call (vp=<optimized out>, argc=<optimized out>, proxy_=<optimized out>, cx=<optimized out>) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsproxy.cpp:2442
#17 proxy_Call (cx=<optimized out>, argc=<optimized out>, vp=<optimized out>) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsproxy.cpp:3000
#18 0x00007ffff41a00c4 in CallJSNative (args=..., native=<optimized out>, cx=0x7fffd8bd08e0) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jscntxtinlines.h:373
#19 js::InvokeKernel (cx=cx@entry=0x7fffd8bd08e0, args=..., construct=construct@entry=js::NO_CONSTRUCT) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsinterp.cpp:384
#20 0x00007ffff419d925 in js::Interpret (cx=cx@entry=0x7fffd8bd08e0, entryFrame=entryFrame@entry=0x7fffe3a040d8, interpMode=js::JSINTERP_NORMAL) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsinterp.cpp:2367
#21 0x00007ffff419f68c in js::RunScript (cx=cx@entry=0x7fffd8bd08e0, script=script@entry=..., fp=0x7fffe3a040d8) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsinterp.cpp:348
#22 0x00007ffff41a002b in js::InvokeKernel (cx=cx@entry=0x7fffd8bd08e0, args=..., construct=construct@entry=js::NO_CONSTRUCT) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsinterp.cpp:406
#23 0x00007ffff41a064f in Invoke (construct=js::NO_CONSTRUCT, args=..., cx=0x7fffd8bd08e0) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsinterp.h:112
#24 js::Invoke (cx=0x7fffd8bd08e0, thisv=..., fval=..., argc=1, argv=<optimized out>, rval=0x7fffffff9d18) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsinterp.cpp:439
#25 0x00007ffff41e419b in js::BaseProxyHandler::call (this=<optimized out>, cx=0x7fffd8bd08e0, proxy=0x7fffdc217220, argc=1, vp=0x7fffe3a040a8) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsproxy.cpp:266
#26 0x00007ffff42573cc in call (vp=0x7fffe3a040a8, argc=1, wrapper=0x7fffdc217220, cx=0x7fffd8bd08e0, this=0x7ffff54bc660 <js::CrossCompartmentWrapper::singleton>) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jswrapper.cpp:300
#27 js::Wrapper::call (this=0x7ffff54bc660 <js::CrossCompartmentWrapper::singleton>, cx=0x7fffd8bd08e0, wrapper=0x7fffdc217220, argc=1, vp=0x7fffe3a040a8) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jswrapper.cpp:296
#28 0x00007ffff42588d6 in js::CrossCompartmentWrapper::call (this=0x7ffff54bc660 <js::CrossCompartmentWrapper::singleton>, cx=0x7fffd8bd08e0, wrapper_=0x7fffdc217220, argc=1, vp=0x7fffe3a040a8) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jswrapper.cpp:633
#29 0x00007ffff41e518e in call (vp=<optimized out>, argc=<optimized out>, proxy_=<optimized out>, cx=<optimized out>) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsproxy.cpp:2442
#30 proxy_Call (cx=<optimized out>, argc=<optimized out>, vp=<optimized out>) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsproxy.cpp:3000
#31 0x00007ffff41a00c4 in CallJSNative (args=..., native=<optimized out>, cx=0x7fffd8bd08e0) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jscntxtinlines.h:373
#32 js::InvokeKernel (cx=cx@entry=0x7fffd8bd08e0, args=..., construct=construct@entry=js::NO_CONSTRUCT) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsinterp.cpp:384
#33 0x00007ffff419d925 in js::Interpret (cx=cx@entry=0x7fffd8bd08e0, entryFrame=entryFrame@entry=0x7fffe3a04038, interpMode=js::JSINTERP_NORMAL) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsinterp.cpp:2367
#34 0x00007ffff419f68c in js::RunScript (cx=cx@entry=0x7fffd8bd08e0, script=script@entry=..., fp=0x7fffe3a04038) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsinterp.cpp:348
#35 0x00007ffff41a002b in js::InvokeKernel (cx=cx@entry=0x7fffd8bd08e0, args=..., construct=construct@entry=js::NO_CONSTRUCT) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsinterp.cpp:406
#36 0x00007ffff41a064f in Invoke (construct=js::NO_CONSTRUCT, args=..., cx=0x7fffd8bd08e0) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsinterp.h:112
#37 js::Invoke (cx=0x7fffd8bd08e0, thisv=..., fval=..., argc=1, argv=<optimized out>, rval=0x7fffffffaa90) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsinterp.cpp:439
#38 0x00007ffff4114ca8 in JS_CallFunctionValue (cx=0x7fffd8bd08e0, objArg=<optimized out>, fval=..., argc=<optimized out>, argv=<optimized out>, rval=<optimized out>) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/src/jsapi.cpp:5802
#39 0x00007ffff3889e30 in nsXPCWrappedJSClass::CallMethod (this=0x7fffe1d0ddc0, wrapper=<optimized out>, methodIndex=3, info_=0x7fffe7610768, nativeParams=0x7fffffffae40) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/xpconnect/src/XPCWrappedJSClass.cpp:1432
#40 0x00007ffff3885041 in nsXPCWrappedJS::CallMethod (this=0x7fffd0d77e80, methodIndex=<optimized out>, info=0x7fffe7610768, params=<optimized out>) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/js/xpconnect/src/XPCWrappedJS.cpp:580
#41 0x00007ffff3cb983b in PrepareAndDispatch (self=0x7fffd0d461a0, methodIndex=<optimized out>, args=<optimized out>, gpregs=0x7fffffffaf00, fpregs=0x7fffffffaf30) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/xpcom/reflect/xptcall/src/md/unix/xptcstubs_x86_64_linux.cpp:122
#42 0x00007ffff3cb8d0f in SharedStub () from /usr/lib/firefox-trunk/libxul.so
#43 0x00007ffff347c078 in nsEventListenerManager::HandleEventSubType (this=this@entry=0x7fffd0b05660, aListenerStruct=aListenerStruct@entry=0x7fffd0d77f08, aListener=0x7fffd0d461a0, aDOMEvent=0x7fffd0deefb0, aCurrentTarget=aCurrentTarget@entry=0x7fffd0dd40a0, aPusher=aPusher@entry=0x7fffffffb158) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/content/events/src/nsEventListenerManager.cpp:922
#44 0x00007ffff347c226 in nsEventListenerManager::HandleEventInternal (this=0x7fffd0b05660, aPresContext=0x7fffd0af4800, aEvent=0x7fffffffb238, aDOMEvent=0x7fffffffb178, aCurrentTarget=0x7fffd0dd40a0, aEventStatus=0x7fffffffb180, aPusher=0x7fffffffb158) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/content/events/src/nsEventListenerManager.cpp:989
#45 0x00007ffff3491f37 in HandleEvent (aPusher=0x7fffffffb158, aEventStatus=0x7fffffffb180, aCurrentTarget=<optimized out>, aDOMEvent=0x7fffffffb178, aEvent=<optimized out>, aPresContext=<optimized out>, this=<optimized out>) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/content/events/src/nsEventListenerManager.h:279
#46 HandleEvent (aPusher=0x7fffffffb158, aVisitor=..., this=0x7fffe2471658, aMayHaveNewListenerManagers=<optimized out>) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/content/events/src/nsEventDispatcher.cpp:183
#47 nsEventTargetChainItem::HandleEvent (this=0x7fffe2471658, aVisitor=..., aMayHaveNewListenerManagers=<optimized out>, aPusher=0x7fffffffb158) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/content/events/src/nsEventDispatcher.cpp:159
#48 0x00007ffff349230d in nsEventTargetChainItem::HandleEventTargetChain (this=this@entry=0x7fffe24710a8, aVisitor=..., aCallback=aCallback@entry=0x0, aMayHaveNewListenerManagers=aMayHaveNewListenerManagers@entry=false, aPusher=aPusher@entry=0x7fffffffb158) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/content/events/src/nsEventDispatcher.cpp:313
#49 0x00007ffff34929ef in nsEventDispatcher::Dispatch (aTarget=<optimized out>, aPresContext=0x7fffd0af4800, aEvent=0x7fffffffb238, aDOMEvent=0x0, aEventStatus=0x7fffffffb22c, aCallback=0x0, aTargets=0x0) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/content/events/src/nsEventDispatcher.cpp:631
#50 0x00007ffff325428a in nsDocumentViewer::LoadComplete (this=0x7fffd32bec80, aStatus=<optimized out>) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/layout/base/nsDocumentViewer.cpp:1040
#51 0x00007ffff38f469d in nsDocShell::EndPageLoad (this=0x7fffd7026c00, aChannel=0x7fffd5f82320, aStatus=NS_OK, aProgress=<optimized out>) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/docshell/base/nsDocShell.cpp:6514
#52 0x00007ffff38f839f in nsDocShell::OnStateChange (this=0x7fffd7026c00, aProgress=0x7fffd7026c28, aRequest=0x7fffd5f82320, aStateFlags=131088, aStatus=NS_OK) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/docshell/base/nsDocShell.cpp:6342
#53 0x00007ffff39035ad in nsDocLoader::DoFireOnStateChange (this=0x7fffd7026c00, aProgress=aProgress@entry=0x7fffd7026c28, aRequest=aRequest@entry=0x7fffd5f82320, aStateFlags=@0x7fffffffb714: 131088, aStatus=aStatus@entry=NS_OK) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/uriloader/base/nsDocLoader.cpp:1305
#54 0x00007ffff3903db7 in nsDocLoader::doStopDocumentLoad (this=this@entry=0x7fffd7026c00, request=0x7fffd5f82320, aStatus=NS_OK) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/uriloader/base/nsDocLoader.cpp:885
#55 0x00007ffff390402f in DocLoaderIsEmpty (aFlushLayout=true, this=0x7fffd7026c00) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/uriloader/base/nsDocLoader.cpp:775
#56 nsDocLoader::DocLoaderIsEmpty (this=0x7fffd7026c00, aFlushLayout=<optimized out>) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/uriloader/base/nsDocLoader.cpp:695
#57 0x00007ffff39041dd in nsDocLoader::OnStopRequest (this=0x7fffd7026c00, aRequest=0x7fffd0d12b60, aCtxt=<optimized out>, aStatus=NS_OK) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/uriloader/base/nsDocLoader.cpp:659
#58 0x00007ffff30a3849 in nsLoadGroup::RemoveRequest (this=0x7fffd7262040, request=0x7fffd0d12b60, ctxt=0x0, aStatus=NS_OK) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/netwerk/base/src/nsLoadGroup.cpp:676
#59 0x00007ffff33e8ff5 in DoUnblockOnload (this=0x7fffd1076000) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/content/base/src/nsDocument.cpp:7358
#60 nsDocument::DoUnblockOnload (this=0x7fffd1076000) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/content/base/src/nsDocument.cpp:7332
#61 0x00007ffff33ef17b in nsDocument::DispatchContentLoadedEvents (this=0x7fffd1076000) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/content/base/src/nsDocument.cpp:4277
#62 0x00007ffff33e1f63 in nsRunnableMethodImpl<void (nsDocument::*)(), true>::Run (this=<optimized out>) at ../../../dist/include/nsThreadUtils.h:367
#63 0x00007ffff3ca75b0 in nsThread::ProcessNextEvent (this=0x7fffe9b2c660, mayWait=<optimized out>, result=0x7fffffffb9ff) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/xpcom/threads/nsThread.cpp:627
#64 0x00007ffff3c7a0ee in NS_ProcessNextEvent_P (thread=<optimized out>, mayWait=<optimized out>) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/obj-x86_64-linux-gnu/xpcom/build/nsThreadUtils.cpp:237
#65 0x00007ffff3b31cc1 in mozilla::ipc::MessagePump::Run (this=0x7fffe9b39880, aDelegate=0x7ffff6cdfe00) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/ipc/glue/MessagePump.cpp:82
#66 0x00007ffff3cca7c6 in RunHandler (this=0x7ffff6cdfe00) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/ipc/chromium/src/base/message_loop.cc:208
#67 MessageLoop::Run (this=0x7ffff6cdfe00) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/ipc/chromium/src/base/message_loop.cc:182
#68 0x00007ffff3a81371 in nsBaseAppShell::Run (this=0x7fffe7698eb0) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/widget/xpwidgets/nsBaseAppShell.cpp:163
#69 0x00007ffff3952c56 in nsAppStartup::Run (this=0x7fffe76a06f0) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/toolkit/components/startup/nsAppStartup.cpp:288
#70 0x00007ffff3086c89 in XREMain::XRE_mainRun (this=this@entry=0x7fffffffbc60) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/toolkit/xre/nsAppRunner.cpp:3823
#71 0x00007ffff3088ba7 in XREMain::XRE_main (this=this@entry=0x7fffffffbc60, argc=argc@entry=1, argv=argv@entry=0x7fffffffe068, aAppData=aAppData@entry=0x5555557679f0 <sAppData>) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/toolkit/xre/nsAppRunner.cpp:3890
#72 0x00007ffff3088df5 in XRE_main (argc=1, argv=0x7fffffffe068, aAppData=0x5555557679f0 <sAppData>, aFlags=<optimized out>) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/toolkit/xre/nsAppRunner.cpp:4088
#73 0x0000555555556a27 in do_main (argv=0x7fffffffe068, argc=1) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/browser/app/nsBrowserApp.cpp:174
#74 main (argc=<optimized out>, argv=<optimized out>) at /build/buildd/firefox-trunk-20.0~a1~hg20121225r116996/browser/app/nsBrowserApp.cpp:279
amonakov commented 11 years ago

Confirmed. Figuring out what Firefox wants is not easy, though.

ArchangeGabriel commented 11 years ago

Not fixed on nouveau, crash with this: primus: fatal: failure contacting bumblebee daemon

nvidia: Only segfault seems to be fixed, WebGL does not render

ArchangeGabriel commented 11 years ago

Sorry, forget to set one thing about nouveau, but in fact there is still an error, however, glxinfo itself does not run: glxinfo: ../../../../../../src/mesa/drivers/dri/common/xmlconfig.c:130: findOption: Assertion `i < size' failed.

It works with optirun. I can provide more usefull logs (firefox one too) this WE.

Should I open an issue on this nouveau behavior ?

ArchangeGabriel commented 11 years ago

And for nvidia, in fact a lot of things are working, just an error with "EXT_texture_from_pixmap support".

Everything else is ok, great job !

amonakov commented 11 years ago

For nvidia, EXT_texture_from_pixmap is not supported indeed, but I'm curious where did you see this message?

For nouveau, it's known to work, e.g. Lekensteyn reported testing with it when on IRC. Please double check your configuration (if you have a .drirc, try moving it away).

ArchangeGabriel commented 11 years ago

In firefox, saying that it can't have accelerated windows (translating from french) because of this.

I can't find anything strange with my nouveau setup, no .drirc, and working with optirun...

ArchangeGabriel commented 11 years ago

So, trace for primusrun gdb glxinfo with nouveau:

#0  0x00007ffff74be037 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff74c1698 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007ffff74b6e03 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007ffff74b6eb2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
#4  0x00007ffff372a59f in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#5  0x00007ffff372c36a in driQueryOptioni () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#6  0x00007ffff372c647 in dri_create_context () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#7  0x00007ffff3729877 in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#8  0x00007ffff37299dd in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
#9  0x00007ffff5bd5bd7 in ?? () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
#10 0x00007ffff5bae8b7 in ?? () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
#11 0x00007ffff5baeb3a in glXCreateNewContext () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
#12 0x00007ffff7ba0846 in glXCreateNewContext (dpy=0x6262d0, config=0x688f60, renderType=32788, shareList=0x0, direct=1) at libglfork.cpp:488
#13 0x0000000000403c6f in ?? ()
#14 0x00000000004016bf in ?? ()
#15 0x00007ffff74a8ea5 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#16 0x00000000004029f9 in ?? ()
ArchangeGabriel commented 11 years ago

With libgl1-mesa-dri-dbg:

#0  0x00007ffff74be037 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff74c1698 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007ffff74b6e03 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007ffff74b6eb2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
#4  0x00007ffff372a59f in findOption (name=0x7ffff3816b53 "pp_noblue", cache=0x684b50, cache=0x684b50)
    at ../../../../../../src/mesa/drivers/dri/common/xmlconfig.c:130
#5  0x00007ffff372c36a in driQueryOptioni (cache=cache@entry=0x684b50, name=<optimized out>)
    at ../../../../../../src/mesa/drivers/dri/common/xmlconfig.c:1028
#6  0x00007ffff372c647 in dri_pp_query (ctx=0x684b30) at dri_context.c:48
#7  dri_create_context (api=<optimized out>, visual=0x680460, cPriv=<optimized out>, major_version=<optimized out>, 
    minor_version=<optimized out>, flags=<optimized out>, error=0x7fffffffdc4c, sharedContextPrivate=0x0) at dri_context.c:153
#8  0x00007ffff3729877 in dri2CreateContextAttribs (screen=0x65c9b0, api=<optimized out>, config=0x680460, shared=<optimized out>, 
    num_attribs=num_attribs@entry=0, attribs=attribs@entry=0x0, error=error@entry=0x7fffffffdc4c, data=0x635950)
    at ../../../../../../src/mesa/drivers/dri/common/dri_util.c:288
#9  0x00007ffff37299dd in dri2CreateNewContextForAPI (screen=<optimized out>, api=<optimized out>, config=<optimized out>, 
    shared=<optimized out>, data=<optimized out>) at ../../../../../../src/mesa/drivers/dri/common/dri_util.c:306
#10 0x00007ffff5bd5bd7 in ?? () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
#11 0x00007ffff5bae8b7 in ?? () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
#12 0x00007ffff5baeb3a in glXCreateNewContext () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
#13 0x00007ffff7ba0846 in glXCreateNewContext (dpy=0x6262d0, config=0x688f40, renderType=32788, shareList=0x0, direct=1) at libglfork.cpp:488
#14 0x0000000000403c6f in ?? ()
#15 0x00000000004016bf in ?? ()
#16 0x00007ffff74a8ea5 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#17 0x00000000004029f9 in ?? ()
ArchangeGabriel commented 11 years ago

Output for LIBGL_DEBUG=verbose primusrun glxinfo:

name of display: :0
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/archangegabriel/.drirc: No such file or directory.
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/nouveau_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
Error: nConfigOptions (10) does not match the actual number of options in
       __driConfigOptions (16).
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/archangegabriel/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/archangegabriel/.drirc: No such file or directory.
glxinfo: ../../../../../../src/mesa/drivers/dri/common/xmlconfig.c:130: findOption: Assertion `i < size' failed.
ArchangeGabriel commented 11 years ago

I'm opening a new issue on the tracker for the nouveau problem.