Closed Bug 622436 Opened 14 years ago Closed 14 years ago

Crash [@ GLEngine@0xaa6bc ]

Categories

(Core :: Graphics: CanvasWebGL, defect)

x86
macOS
defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: cj, Assigned: bjacob)

References

()

Details

(Keywords: crash, reproducible)

Crash Data

Attachments

(1 file)

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0b9pre) Gecko/20110102 Firefox/4.0b9pre Build Identifier: 4.0b9pre (2011-01-02) When using the page: http://audioscene.org/scene-files/ccliffe/moz-dungeon-fail/ColladaSceneViewer.html there's a drop-down to choose between scenes, all it does is redirect to: http://audioscene.org/scene-files/ccliffe/moz-dungeon-fail/ColladaSceneViewer.html?sceneRef=0 or http://audioscene.org/scene-files/ccliffe/moz-dungeon-fail/ColladaSceneViewer.html?sceneRef=1 If you hit both of those urls directly one after another there's no problem, if the drop-down does the change -- instant crash. Reproducible: Always Steps to Reproduce: 1. Go to http://audioscene.org/scene-files/ccliffe/moz-dungeon-fail/ColladaSceneViewer.html 2. Change scenes via drop-down (occasionally need to change twice) 3. Crash Actual Results: Browser crashed, opened crash reporter Expected Results: Scene changes back and forth the same as if you hit both urls above independently Not 100% sure this is a WebGL issue with all of the factors involved but it doesn't appear to be a problem when the page is not rendering WebGL.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: crash
Version: unspecified → Trunk
Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000 0x00000001183aa6bc in gleRunVertexSubmitImmediate () (gdb) bt #0 0x00000001183aa6bc in gleRunVertexSubmitImmediate () #1 0x00000001183a975b in gleLLVMArrayFunc () #2 0x00000001183a972b in gleSetVertexArrayFunc () #3 0x00000001183950c4 in gleDrawArraysOrElements_ExecCore () #4 0x000000011839bc56 in glDrawElements_ACC_Exec () #5 0x000000010047a212 in mozilla::WebGLContext::DrawElements ()
Can't reproduce on linux 64bit with NVIDIA driver. Your stack suggests a bug in your OpenGL implementation. What would help the most would be to reproduce this with a debug build: the stack trace would have much more information. Even better: with a debug build, run with this environment variable defined: MOZ_GL_DEBUG.
http://crash-stats.mozilla.com/report/index/a1b5a801-4710-44ec-b323-e69c62110102 I'll have to download a debug build that can do gl and try this later.
Summary: Crash when triggering page load on drop-down change -- page is using WebGL → Crash [@ GLEngine@0xaa6bc ]
Any debug build can do gl, debug doesn't make a difference.
Not when the debug build on your box is this old ;)
Debug Build info: 1) MOZ_GL_DEBUG output from page load to crash: WARNING: Overflowed nscoord_MAX in conversion to nscoord: file ../../dist/include/nsCoord.h, line 359 WARNING: Overflowed nscoord_MAX in conversion to nscoord: file ../../dist/include/nsCoord.h, line 359 colorbits: 24 alpha: 8 depth: 24 stencil: 0 *** depth: 24 (req: 24) --- WebGL context created: 0x1238c7400 WARNING: Overflowed nscoord_MAX in conversion to nscoord: file ../../dist/include/nsCoord.h, line 359 WARNING: Overflowed nscoord_MAX in conversion to nscoord: file ../../dist/include/nsCoord.h, line 359 WARNING: Overflowed nscoord_MAX in conversion to nscoord: file ../../dist/include/nsCoord.h, line 359 WARNING: Overflowed nscoord_MAX in conversion to nscoord: file ../../dist/include/nsCoord.h, line 359 ++DOMWINDOW == 14 (0x12ac1d558) [serial = 19] [outer = 0x1233ae720] WARNING: Overflowed nscoord_MAX in conversion to nscoord: file ../../dist/include/nsCoord.h, line 359 WARNING: Overflowed nscoord_MAX in conversion to nscoord: file ../../dist/include/nsCoord.h, line 359 colorbits: 24 alpha: 8 depth: 24 stencil: 0 *** depth: 24 (req: 24) --- WebGL context created: 0x12890b800 WARNING: Overflowed nscoord_MAX in conversion to nscoord: file ../../dist/include/nsCoord.h, line 359 WARNING: Overflowed nscoord_MAX in conversion to nscoord: file ../../dist/include/nsCoord.h, line 359 Fatal: void mozilla::gl::GLContext::fDeleteBuffers(GLsizei, GLuint*) called on non-current context 0x128f95a00. The current context for this thread is 0x104acc600. ###!!! ABORT: file /builds/slave/cen-osx64-dbg/build/gfx/thebes/GLContext.h, line 979 mozilla::gl::ContextFormat::colorBits() const+0x00000BC4 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x0181167C] gfxMatrix::gfxMatrix()+0x000008EF [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x00739373] mozilla::gl::ContextFormat::colorBits() const+0x0000109E [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x01811B56] gfxImageSurface::Height() const+0x00000E2D [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x01800FD9] mozilla::layers::LayerManagerOGL::BindAndDrawQuad(mozilla::layers::LayerProgram*, bool)+0x000007D4 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x01828DAC] mozilla::layers::LayerManagerOGL::GetThebesLayerCallbackData() const+0x00000B69 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x018397AD] mozilla::layers::LayerManagerOGL::GetThebesLayerCallbackData() const+0x00000BA9 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x018397ED] mozilla::layers::LayerManagerOGL::GetThebesLayerCallbackData() const+0x00000721 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x01839365] mozilla::layers::LayerManagerOGL::GetThebesLayerCallbackData() const+0x000007C0 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x01839404] mozilla::layers::LayerManagerOGL::GetThebesLayerCallbackData() const+0x0000095B [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x0183959F] mozilla::layers::LayerManagerOGL::GetThebesLayerCallbackData() const+0x0000097B [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x018395BF] mozilla::layers::ImageLayerOGL::ImageLayerOGL(mozilla::layers::LayerManagerOGL*)+0x0000250E [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x01836A80] mozilla::layers::ColorLayerOGL::~ColorLayerOGL()+0x000003B3 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x018299C5] mozilla::layers::ColorLayerOGL::~ColorLayerOGL()+0x00000411 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x01829A23] mozilla::layers::LayerManagerOGL::Destroy()+0x0000004B [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x0183076F] mozilla::layers::LayerManagerOGL::gl() const+0x0002C1CD [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x013E8541] operator delete(void*, void*)+0x0003C531 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x013BB667] mozilla::layers::LayerManagerOGL::gl() const+0x0002935B [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x013E56CF] operator delete(void*, void*)+0x0002B489 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x013AA5BF] operator delete(void*, void*)+0x00026422 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x013A5558] mozilla::layers::LayerManagerOGL::gl() const+0x0002935B [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x013E56CF] operator delete(void*, void*)+0x0001FCE9 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x0139EE1F] gfxRect::Scale(double, double)+0x00192078 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x0096C7B6] gfxRect::Scale(double, double)+0x0018F491 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x00969BCF] gfxContextAutoSaveRestore::gfxContextAutoSaveRestore(gfxContext*)+0x0006C62B [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x003F28FD] gfxQuartzNativeDrawing::~gfxQuartzNativeDrawing()+0x0001B5A4 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x004676EA] gfxContextAutoSaveRestore::gfxContextAutoSaveRestore(gfxContext*)+0x000599AA [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x003DFC7C] gfxContextAutoSaveRestore::gfxContextAutoSaveRestore(gfxContext*)+0x0008A07B [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x0041034D] gfxContextAutoSaveRestore::gfxContextAutoSaveRestore(gfxContext*)+0x0002CA47 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x003B2D19] gfxContextAutoSaveRestore::gfxContextAutoSaveRestore(gfxContext*)+0x00079BAE [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x003FFE80] gfxContextAutoSaveRestore::gfxContextAutoSaveRestore(gfxContext*)+0x0000F741 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x00395A13] mozilla::layers::CanvasLayer::SetFilter(gfxPattern::GraphicsFilter)+0x0001CF2D [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x0043360F] gfxContextAutoSaveRestore::gfxContextAutoSaveRestore(gfxContext*)+0x00049FFA [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x003D02CC] gfxContextAutoSaveRestore::gfxContextAutoSaveRestore(gfxContext*)+0x00079BAE [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x003FFE80] gfxContextAutoSaveRestore::gfxContextAutoSaveRestore(gfxContext*)+0x00032DE7 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x003B90B9] mozilla::layers::CanvasLayer::SetFilter(gfxPattern::GraphicsFilter)+0x00003AA3 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x0041A185] gfxContextAutoSaveRestore::gfxContextAutoSaveRestore(gfxContext*)+0x00079BAE [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x003FFE80] gfxContextAutoSaveRestore::gfxContextAutoSaveRestore(gfxContext*)+0x00059901 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x003DFBD3] gfxContextAutoSaveRestore::gfxContextAutoSaveRestore(gfxContext*)+0x0008A07B [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x0041034D] gfxContextAutoSaveRestore::gfxContextAutoSaveRestore(gfxContext*)+0x00079BAE [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x003FFE80] gfxContextAutoSaveRestore::gfxContextAutoSaveRestore(gfxContext*)+0x00059901 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x003DFBD3] gfxTextRun::GlyphRunIterator::GlyphRunIterator(gfxTextRun*, unsigned int, unsigned int)+0x000010D8 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x0048E596] mozilla::layers::LayerUserData::~LayerUserData()+0x0001E2EC [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x002FE000] mozilla::layers::BasicLayerManager::SetResolution(float, float)+0x0001AA77 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x00344C37] gfxUserFontSet::AddRef()+0x0001127F [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x00375E77] mozilla::layers::BasicLayerManager::SetResolution(float, float)+0x00004CD7 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x0032EE97] mozilla::layers::BasicLayerManager::SetResolution(float, float)+0x0000B345 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x00335505] mozilla::layers::BasicLayerManager::SetResolution(float, float)+0x0000DF64 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x00338124] gfxMatrix::operator*=(gfxMatrix const&)+0x00001FD7 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x003599A9] gfxUserFontSet::AddRef()+0x0000ADD2 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x0036F9CA] gfxUserFontSet::AddRef()+0x0000AFE9 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x0036FBE1] gfxUserFontSet::AddRef()+0x00001710 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x00366308] XRE_AddStaticComponent+0x00011F5E [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x016DA2CB] XRE_AddStaticComponent+0x000121D1 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x016DA53E] XRE_AddStaticComponent+0x0000A715 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x016D2A82] gfxRGBA::gfxRGBA()+0x0007B608 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x016589E8] mozilla::layers::ContainerLayer::GetFrameMetrics()+0x00278576 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x0070C496] JSAutoEnterCompartment::~JSAutoEnterCompartment()+0x000697D7 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x00FA38BF] InjectJaegerReturn+0x0004A244 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x01B3C206] InjectJaegerReturn+0x0004DBB9 [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x01B3FB7B] InjectJaegerReturn+0x0004731B [/Users/dave/Desktop/MinefieldDebug.app/Contents/MacOS/XUL +0x01B392DD] ###!!! ABORT: file /builds/slave/cen-osx64-dbg/build/gfx/thebes/GLContext.h, line 979 --------------------------------------------------------------------------- 2) Stack Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000 0x0000000103363b7d in moz_free () (gdb) bt #0 0x0000000103363b7d in moz_free () #1 0x0000000103363bc8 in mozalloc_abort () #2 0x000000010001948a in mozilla::gl::ContextFormat::ContextFormat () #3 0x0000000100019903 in NS_DebugBreak_P () #4 0x000000010181767c in mozilla::gl::ContextFormat::colorBits () #5 0x000000010073f373 in gfxMatrix::gfxMatrix () #6 0x0000000101817b56 in mozilla::gl::ContextFormat::colorBits () #7 0x0000000101806fd9 in gfxImageSurface::Height () #8 0x000000010182edac in mozilla::layers::LayerManagerOGL::BindAndDrawQuad () #9 0x000000010183f7ad in mozilla::layers::LayerManagerOGL::GetThebesLayerCallbackData () #10 0x000000010183f7ed in mozilla::layers::LayerManagerOGL::GetThebesLayerCallbackData () #11 0x000000010183f365 in mozilla::layers::LayerManagerOGL::GetThebesLayerCallbackData () #12 0x000000010183f404 in mozilla::layers::LayerManagerOGL::GetThebesLayerCallbackData () #13 0x000000010183f59f in mozilla::layers::LayerManagerOGL::GetThebesLayerCallbackData () #14 0x000000010183f5bf in mozilla::layers::LayerManagerOGL::GetThebesLayerCallbackData () #15 0x000000010183ca80 in mozilla::layers::ImageLayerOGL::ImageLayerOGL () #16 0x000000010182f9c5 in mozilla::layers::ColorLayerOGL::~ColorLayerOGL () #17 0x000000010182fa23 in mozilla::layers::ColorLayerOGL::~ColorLayerOGL () #18 0x000000010183676f in mozilla::layers::LayerManagerOGL::Destroy () #19 0x00000001013ee541 in mozilla::layers::LayerManagerOGL::gl () #20 0x00000001013c1667 in operator delete () #21 0x00000001013eb6cf in mozilla::layers::LayerManagerOGL::gl () #22 0x00000001013b05bf in operator delete () #23 0x00000001013ab558 in operator delete () #24 0x00000001013eb6cf in mozilla::layers::LayerManagerOGL::gl () #25 0x00000001013a4e1f in operator delete () #26 0x00000001009727b6 in gfxRect::Scale () #27 0x000000010096fbcf in gfxRect::Scale () #28 0x00000001003f88fd in gfxContextAutoSaveRestore::gfxContextAutoSaveRestore () #29 0x000000010046d6ea in gfxQuartzNativeDrawing::~gfxQuartzNativeDrawing () #30 0x00000001003e5c7c in gfxContextAutoSaveRestore::gfxContextAutoSaveRestore () #31 0x000000010041634d in gfxContextAutoSaveRestore::gfxContextAutoSaveRestore () #32 0x00000001003b8d19 in gfxContextAutoSaveRestore::gfxContextAutoSaveRestore () #33 0x0000000100405e80 in gfxContextAutoSaveRestore::gfxContextAutoSaveRestore () #34 0x000000010039ba13 in gfxContextAutoSaveRestore::gfxContextAutoSaveRestore () #35 0x000000010043960f in mozilla::layers::CanvasLayer::SetFilter () #36 0x00000001003d62cc in gfxContextAutoSaveRestore::gfxContextAutoSaveRestore () #37 0x0000000100405e80 in gfxContextAutoSaveRestore::gfxContextAutoSaveRestore () #38 0x00000001003bf0b9 in gfxContextAutoSaveRestore::gfxContextAutoSaveRestore () #39 0x0000000100420185 in mozilla::layers::CanvasLayer::SetFilter () #40 0x0000000100405e80 in gfxContextAutoSaveRestore::gfxContextAutoSaveRestore () #41 0x00000001003e5bd3 in gfxContextAutoSaveRestore::gfxContextAutoSaveRestore () #42 0x000000010041634d in gfxContextAutoSaveRestore::gfxContextAutoSaveRestore () #43 0x0000000100405e80 in gfxContextAutoSaveRestore::gfxContextAutoSaveRestore () #44 0x00000001003e5bd3 in gfxContextAutoSaveRestore::gfxContextAutoSaveRestore () #45 0x0000000100494596 in gfxTextRun::GlyphRunIterator::GlyphRunIterator () #46 0x0000000100304000 in mozilla::layers::LayerUserData::~LayerUserData () #47 0x000000010034ac37 in mozilla::layers::BasicLayerManager::SetResolution () #48 0x000000010037be77 in gfxUserFontSet::AddRef () #49 0x0000000100334e97 in mozilla::layers::BasicLayerManager::SetResolution () #50 0x000000010033b505 in mozilla::layers::BasicLayerManager::SetResolution () #51 0x000000010033e124 in mozilla::layers::BasicLayerManager::SetResolution () #52 0x000000010035f9a9 in gfxMatrix::operator*= () #53 0x00000001003759ca in gfxUserFontSet::AddRef () #54 0x0000000100375be1 in gfxUserFontSet::AddRef () #55 0x000000010036c308 in gfxUserFontSet::AddRef () #56 0x00000001016e02cb in XRE_AddStaticComponent () #57 0x00000001016e053e in XRE_AddStaticComponent () #58 0x00000001016d8a82 in XRE_AddStaticComponent () #59 0x000000010165e9e8 in gfxRGBA::gfxRGBA () #60 0x0000000100712496 in mozilla::layers::ContainerLayer::GetFrameMetrics () #61 0x0000000100fa98bf in JSAutoEnterCompartment::~JSAutoEnterCompartment () #62 0x0000000101b42206 in InjectJaegerReturn () #63 0x0000000101b45b7b in InjectJaegerReturn () #64 0x0000000101b3f2dd in InjectJaegerReturn () #65 0x0000000127e036e1 in ?? () #66 0x0000000101af8899 in InjectJaegerReturn () #67 0x0000000101af8990 in InjectJaegerReturn () #68 0x0000000101af8aa7 in InjectJaegerReturn () #69 0x0000000101997181 in JS_NewHashTable () #70 0x0000000101997f10 in JS_NewHashTable () #71 0x000000010199874f in JS_NewHashTable () #72 0x00000001018cc748 in JS::Call () #73 0x00000001018cc883 in JS_CallFunctionValue () #74 0x000000010098b954 in gfxRect::Scale () #75 0x0000000100a1b9e7 in gfxRect::Scale () #76 0x000000010076c6c2 in gfxMatrix::gfxMatrix () #77 0x000000010076cb3d in gfxMatrix::gfxMatrix () #78 0x000000010079d05b in gfxMatrix::gfxMatrix () #79 0x000000010079d206 in gfxMatrix::gfxMatrix () #80 0x000000010079b617 in gfxMatrix::gfxMatrix () #81 0x000000010079c2ae in gfxMatrix::gfxMatrix () #82 0x000000010033c61f in mozilla::layers::BasicLayerManager::SetResolution () #83 0x0000000101020329 in js::JSProxyHandler::isOuterWindow () #84 0x0000000101026f86 in js::JSProxyHandler::isOuterWindow () #85 0x000000010104ab1a in js::JSProxyHandler::isOuterWindow () #86 0x000000010104b1a2 in js::JSProxyHandler::isOuterWindow () #87 0x000000010104b510 in js::JSProxyHandler::isOuterWindow () #88 0x000000010104c792 in js::JSProxyHandler::isOuterWindow () #89 0x000000010009b7b1 in catch_exception_raise () #90 0x000000010066a64f in mozilla::layers::ContainerLayer::GetFrameMetrics () #91 0x000000010066a77a in mozilla::layers::ContainerLayer::GetFrameMetrics () #92 0x0000000100942abc in gfxRect::Scale () #93 0x0000000100946349 in gfxRect::Scale () #94 0x00000001016d8a82 in XRE_AddStaticComponent () #95 0x000000010165eb03 in gfxRGBA::gfxRGBA () #96 0x00000001013e94f4 in mozilla::layers::LayerManagerOGL::gl () #97 0x000000010139e9be in operator delete () #98 0x00007fff83054401 in __CFRunLoopDoSources0 () #99 0x00007fff830525f9 in __CFRunLoopRun () #100 0x00007fff83051dbf in CFRunLoopRunSpecific () #101 0x00007fff87c0391a in RunCurrentEventLoopInMode () #102 0x00007fff87c0367d in ReceiveNextEventCommon () #103 0x00007fff87c035d8 in BlockUntilNextEventMatchingListInMode () #104 0x00007fff80489e64 in _DPSNextEvent () #105 0x00007fff804897a9 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] () #106 0x00007fff8044f48b in -[NSApplication run] () #107 0x000000010139e2da in operator delete () #108 0x00000001010f89f8 in js::JSProxyHandler::isOuterWindow () #109 0x0000000100032df0 in XRE_main () #110 0x0000000100001297 in start ()
Thanks Dave, this makes my day (from comment 6): Fatal: void mozilla::gl::GLContext::fDeleteBuffers(GLsizei, GLuint*) called on non-current context 0x128f95a00. The current context for this thread is 0x104acc600. This means that we are forgetting a MakeCurrent() call somewhere, resulting in this GL call to operate on the wrong GL context. So this is really a bug on our side. I will try to reproduce this in GL debug mode now. Meanwhile, the most useful thing you could do for me is give me a backtrace leading to this assertion failure (your above backtrace is leading to the subsequent segfault, that's a different thing). You would run firefox in GDB (firefox -g) (using MOZ_GL_DEBUG), until the fatal assertion occurs, and then ask for backtrace.
(CC'ing people for my bragging rights) Score +1 for GL debug mode \o/
OK, I built my own debug, and here's the stack: Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000 0x000000011adaa6bc in gleRunVertexSubmitImmediate () (gdb) bt #0 0x000000011adaa6bc in gleRunVertexSubmitImmediate () #1 0x000000011ada975b in gleLLVMArrayFunc () #2 0x000000011ada972b in gleSetVertexArrayFunc () #3 0x000000011ad950c4 in gleDrawArraysOrElements_ExecCore () #4 0x000000011ad9bc56 in glDrawElements_ACC_Exec () #5 0x000000010076593d in mozilla::gl::GLContext::fDrawElements (this=0x125750000, mode=4, count=144, type=5123, indices=0x0) at GLContext.h:1267 #6 0x00000001007602e0 in mozilla::WebGLContext::DrawElements (this=0x130d094c0, mode=4, count=144, type=5123, byteOffset=0) at /Users/dave/moz/mozilla-central-clean-debug/content/canvas/src/WebGLContextGL.cpp:1215 #7 0x0000000100fb090f in nsIDOMWebGLRenderingContext_DrawElements (cx=0x124db3a80, argc=4, vp=0x1198ae288) at dom_quickstubs.cpp:28715 #8 0x0000000101b41c56 in js::CallJSNative (cx=0x124db3a80, native=0x100fb077e <nsIDOMWebGLRenderingContext_DrawElements(JSContext*, unsigned int, jsval_layout*)>, argc=4, vp=0x1198ae288) at jscntxtinlines.h:685 #9 0x0000000101b455cb in CallCompiler::generateNativeStub (this=0x7fff5fbfcc70) at /Users/dave/moz/mozilla-central-clean-debug/js/src/methodjit/MonoIC.cpp:691 #10 0x0000000101b3ed2d in js::mjit::ic::NativeCall (f=@0x7fff5fbfcca0, ic=0x129abe4e8) at /Users/dave/moz/mozilla-central-clean-debug/js/src/methodjit/MonoIC.cpp:898 #11 0x0000000123e9e842 in ?? () #12 0x0000000101af82e9 in js::mjit::EnterMethodJIT (cx=0x124db3a80, fp=0x1198ae060, code=0x1274ebe58, stackLimit=0x119957f78) at /Users/dave/moz/mozilla-central-clean-debug/js/src/methodjit/MethodJIT.cpp:745 #13 0x0000000101af83e0 in CheckStackAndEnterMethodJIT (cx=0x124db3a80, fp=0x1198ae060, code=0x1274ebe58) at /Users/dave/moz/mozilla-central-clean-debug/js/src/methodjit/MethodJIT.cpp:770 #14 0x0000000101af84f7 in js::mjit::JaegerShot (cx=0x124db3a80) at /Users/dave/moz/mozilla-central-clean-debug/js/src/methodjit/MethodJIT.cpp:787 #15 0x0000000101996bd1 in js::RunScript (cx=0x124db3a80, script=0x130d7ff00, fp=0x1198ae060) at jsinterp.cpp:654 #16 0x0000000101997960 in js::Invoke (cx=0x124db3a80, argsRef=@0x7fff5fbfcfb0, flags=8192) at jsinterp.cpp:737 #17 0x000000010199819f in js::ExternalInvoke (cx=0x124db3a80, thisv=@0x7fff5fbfd040, fval=@0x7fff5fbfd078, argc=1, argv=0x12334bcc0, rval=0x7fff5fbfd1d0) at jsinterp.cpp:862 #18 0x00000001018cc198 in js::ExternalInvoke (cx=0x124db3a80, obj=0x12ceb5bd0, fval=@0x7fff5fbfd078, argc=1, argv=0x12334bcc0, rval=0x7fff5fbfd1d0) at jsinterp.h:962 #19 0x00000001018cc2d3 in JS_CallFunctionValue (cx=0x124db3a80, obj=0x12ceb5bd0, fval={asBits = 18445477441363195392, debugView = {payload47 = 5048841728, tag = JSVAL_TAG_OBJECT}, s = {payload = {i32 = 753874432, u32 = 753874432, why = 753874432, word = 18445477441363195392}}, asDouble = -nan(0xb80012cef3600), asPtr = 0xfffb80012cef3600}, argc=1, argv=0x12334bcc0, rval=0x7fff5fbfd1d0) at /Users/dave/moz/mozilla-central-clean-debug/js/src/jsapi.cpp:5028 #20 0x000000010098f288 in nsJSContext::CallEventHandler (this=0x124db3a10, aTarget=0x130d6a940, aScope=0x12ceb5bd0, aHandler=0x12cef3600, aargv=0x12331fad8, arv=0x7fff5fbfd3d0) at /Users/dave/moz/mozilla-central-clean-debug/dom/base/nsJSEnvironment.cpp:2177 #21 0x00000001009c6fa6 in nsGlobalWindow::RunTimeout (this=0x130d6a940, aTimeout=0x123315ae0) at /Users/dave/moz/mozilla-central-clean-debug/dom/base/nsGlobalWindow.cpp:9012 #22 0x00000001009c75c0 in nsGlobalWindow::TimerCallback (aTimer=0x125c0dff0, aClosure=0x123315ae0) at /Users/dave/moz/mozilla-central-clean-debug/dom/base/nsGlobalWindow.cpp:9357 #23 0x00000001016e3a03 in nsTimerImpl::Fire (this=0x125c0dff0) at /Users/dave/moz/mozilla-central-clean-debug/xpcom/threads/nsTimerImpl.cpp:425 #24 0x00000001016e3c76 in nsTimerEvent::Run (this=0x122cb7ef0) at /Users/dave/moz/mozilla-central-clean-debug/xpcom/threads/nsTimerImpl.cpp:517 #25 0x00000001016dc1ba in nsThread::ProcessNextEvent (this=0x105e176d0, mayWait=0, result=0x7fff5fbfd784) at /Users/dave/moz/mozilla-central-clean-debug/xpcom/threads/nsThread.cpp:626 #26 0x00000001016623c7 in NS_ProcessPendingEvents_P (thread=0x105e176d0, timeout=20) at nsThreadUtils.cpp:200 #27 0x00000001013ecdb8 in nsBaseAppShell::NativeEventCallback (this=0x105b7fe80) at /Users/dave/moz/mozilla-central-clean-debug/widget/src/xpwidgets/nsBaseAppShell.cpp:132 #28 0x00000001013a2282 in nsAppShell::ProcessGeckoEvents (aInfo=0x105b7fe80) at /Users/dave/moz/mozilla-central-clean-debug/widget/src/cocoa/nsAppShell.mm:399 #29 0x00007fff83054401 in __CFRunLoopDoSources0 () #30 0x00007fff830525f9 in __CFRunLoopRun () #31 0x00007fff83051dbf in CFRunLoopRunSpecific () #32 0x00007fff87c0391a in RunCurrentEventLoopInMode () #33 0x00007fff87c0367d in ReceiveNextEventCommon () #34 0x00007fff87c035d8 in BlockUntilNextEventMatchingListInMode () #35 0x00007fff80489e64 in _DPSNextEvent () #36 0x00007fff804897a9 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] () #37 0x00007fff8044f48b in -[NSApplication run] () #38 0x00000001013a1b9e in nsAppShell::Run (this=0x105b7fe80) at /Users/dave/moz/mozilla-central-clean-debug/widget/src/cocoa/nsAppShell.mm:746 #39 0x00000001010fc2c0 in nsAppStartup::Run (this=0x105b8daf0) at /Users/dave/moz/mozilla-central-clean-debug/toolkit/components/startup/src/nsAppStartup.cpp:191 #40 0x0000000100036a4c in XRE_main (argc=3, argv=0x7fff5fbff508, aAppData=0x105b15fd0) at /Users/dave/moz/mozilla-central-clean-debug/toolkit/xre/nsAppRunner.cpp:3695 #41 0x000000010000127f in main (argc=3, argv=0x7fff5fbff508) at /Users/dave/moz/mozilla-central-clean-debug/browser/app/nsBrowserApp.cpp:158
This isn't with MOZ_GL_DEBUG, is it? Earlier MOZ_GL_DEBUG caught a gl-call-on-wrong-gl-context error, I wonder what happened to it?
Argh, no, here you go: 1) MOZ_GL_DEBUG log Fatal: void mozilla::gl::GLContext::fDeleteBuffers(GLsizei, GLuint*) called on non-current context 0x12bbdd600. The current context for this thread is 0x1066c2400. ###!!! ABORT: file /Users/dave/moz/mozilla-central-clean-debug/gfx/thebes/GLContext.h, line 979 mozilla::gl::GLContext::BeforeGLCall(char const*)+0x000000EC [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x0180D0CC] mozilla::gl::GLContext::fDeleteBuffers(int, unsigned int*)+0x00000023 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x00739283] mozilla::gl::TextureImageCGL::~TextureImageCGL()+0x00000040 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x0180D5A6] mozilla::gl::TextureImage::Release()+0x0000016F [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x017FCA29] nsRefPtr<mozilla::gl::TextureImage>::~nsRefPtr()+0x00000024 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x018247FC] mozilla::layers::ThebesLayerBufferOGL::~ThebesLayerBufferOGL()+0x00000027 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x018351FD] mozilla::layers::BasicBufferOGL::~BasicBufferOGL()+0x00000023 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x0183523D] mozilla::layers::ThebesLayerBufferOGL::Release()+0x0000016F [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x01834DB5] nsRefPtr<mozilla::layers::ThebesLayerBufferOGL>::assign_assuming_AddRef(mozilla::layers::ThebesLayerBufferOGL*)+0x00000036 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x01834E54] nsRefPtr<mozilla::layers::ThebesLayerBufferOGL>::assign_with_AddRef(mozilla::layers::ThebesLayerBufferOGL*)+0x0000002D [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x01834FEF] nsRefPtr<mozilla::layers::ThebesLayerBufferOGL>::operator=(mozilla::layers::ThebesLayerBufferOGL*)+0x0000001D [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x0183500F] mozilla::layers::ThebesLayerOGL::Destroy()+0x00000030 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x018324D0] void mozilla::layers::ContainerDestroy<mozilla::layers::ContainerLayerOGL>(mozilla::layers::ContainerLayerOGL*)+0x00000042 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x01825415] mozilla::layers::ContainerLayerOGL::Destroy()+0x00000015 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x01825473] mozilla::layers::LayerManagerOGL::Destroy()+0x0000004B [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x0182C1BF] nsBaseWidget::~nsBaseWidget()+0x000000A7 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x013E7E05] nsChildView::~nsChildView()+0x00000191 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x013BAF2B] nsBaseWidget::Release()+0x00000171 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x013E4F93] nsChildView::Release()+0x00000015 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x013A9E83] nsCocoaWindow::~nsCocoaWindow()+0x00000140 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x013A4E1C] nsBaseWidget::Release()+0x00000171 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x013E4F93] nsCocoaWindow::Release()+0x00000015 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x0139E6E3] nsView::~nsView()+0x00000260 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x0096C6C6] nsIView::Destroy()+0x00000027 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x00969ADF] nsFrame::DestroyFrom(nsIFrame*)+0x0000024D [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x003F280D] nsSplittableFrame::DestroyFrom(nsIFrame*)+0x00000040 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x004675FA] nsContainerFrame::DestroyFrom(nsIFrame*)+0x000000F2 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x003DFB8C] nsHTMLScrollFrame::DestroyFrom(nsIFrame*)+0x0000002D [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x0041025D] nsListControlFrame::DestroyFrom(nsIFrame*)+0x00000177 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x003B2C29] nsFrameList::DestroyFramesFrom(nsIFrame*)+0x00000068 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x003FFD90] nsComboboxControlFrame::DestroyFrom(nsIFrame*)+0x00000109 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x00395923] nsLineBox::DeleteLineList(nsPresContext*, nsLineList&, nsIFrame*)+0x00000095 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x0043351F] nsBlockFrame::DestroyFrom(nsIFrame*)+0x000000C2 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x003D01DC] nsFrameList::DestroyFramesFrom(nsIFrame*)+0x00000068 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x003FFD90] nsAbsoluteContainingBlock::DestroyFrames(nsIFrame*, nsIFrame*)+0x00000021 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x003B8FC9] nsCanvasFrame::DestroyFrom(nsIFrame*)+0x00000025 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x0041A095] nsFrameList::DestroyFramesFrom(nsIFrame*)+0x00000068 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x003FFD90] nsContainerFrame::DestroyFrom(nsIFrame*)+0x00000049 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x003DFAE3] nsHTMLScrollFrame::DestroyFrom(nsIFrame*)+0x0000002D [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x0041025D] nsFrameList::DestroyFramesFrom(nsIFrame*)+0x00000068 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x003FFD90] nsContainerFrame::DestroyFrom(nsIFrame*)+0x00000049 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x003DFAE3] ViewportFrame::DestroyFrom(nsIFrame*)+0x00000032 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x0048E4A6] nsIFrame::Destroy()+0x00000024 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x002FDF10] nsFrameManager::Destroy()+0x00000081 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x00344B47] PresShell::Destroy()+0x00000593 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x00375D87] DocumentViewerImpl::DestroyPresShell()+0x00000115 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x0032EDA7] DocumentViewerImpl::Destroy()+0x000006A5 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x00335415] DocumentViewerImpl::Show()+0x000000D2 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x00338034] nsPresContext::EnsureVisible()+0x00000151 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x003598B9] PresShell::UnsuppressAndInvalidate()+0x0000002A [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x0036F8DA] PresShell::UnsuppressPainting()+0x000000A9 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x0036FAF1] PresShell::sPaintSuppressionCallback(nsITimer*, void*)+0x0000004A [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x00366218] nsTimerImpl::Fire()+0x00000513 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x016D9A03] nsTimerEvent::Run()+0x000000BC [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x016D9C76] nsThread::ProcessNextEvent(int, int*)+0x0000038A [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x016D21BA] NS_ProcessNextEvent_P(nsIThread*, int)+0x00000076 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x016582AC] nsXMLHttpRequest::Send(nsIVariant*)+0x00002184 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x0070C3A6] nsIXMLHttpRequest_Send(JSContext*, unsigned int, jsval_layout*)+0x000001E9 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x00FA3187] js::CallJSNative(JSContext*, int (*)(JSContext*, unsigned int, js::Value*), unsigned int, js::Value*)+0x00000058 [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x01B37C56] CallCompiler::generateNativeStub()+0x0000032B [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x01B3B5CB] js::mjit::ic::NativeCall(js::VMFrame&, js::mjit::ic::CallICInfo*)+0x0000002F [/Users/dave/moz/mozilla-central-clean-debug/./objdir-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL +0x01B34D2D] ###!!! ABORT: file /Users/dave/moz/mozilla-central-clean-debug/gfx/thebes/GLContext.h, line 979 -------------------------------------------------------------- 2) Stack Thread 0 Crashed: Dispatch queue: com.apple.main-thread 0 libmozalloc.dylib 0x00000001054f9b6c TouchBadMemory() + 9 (mozalloc_abort.cpp:64) 1 libmozalloc.dylib 0x00000001054f9bb7 mozalloc_abort(char const*) + 56 (mozalloc_abort.cpp:88) 2 XUL 0x000000010001d10a 0x10000a000 + 78090 3 XUL 0x000000010001d583 NS_DebugBreak_P + 677 (nsDebugImpl.cpp:338) 4 XUL 0x00000001018170cc mozilla::gl::GLContext::BeforeGLCall(char const*) + 236 (GLContext.h:982) 5 XUL 0x0000000100743283 mozilla::gl::GLContext::fDeleteBuffers(int, unsigned int*) + 35 (GLContext.h:1997) 6 XUL 0x00000001018175a6 mozilla::gl::TextureImageCGL::~TextureImageCGL() + 64 (GLContextProviderCGL.mm:303) 7 XUL 0x0000000101806a29 mozilla::gl::TextureImage::Release() + 367 (GLContext.h:152) 8 XUL 0x000000010182e7fc nsRefPtr<mozilla::gl::TextureImage>::~nsRefPtr() + 36 (nsAutoPtr.h:969) 9 XUL 0x000000010183f1fd mozilla::layers::ThebesLayerBufferOGL::~ThebesLayerBufferOGL() + 39 (ThebesLayerOGL.cpp:155) 10 XUL 0x000000010183f23d mozilla::layers::BasicBufferOGL::~BasicBufferOGL() + 35 (ThebesLayerOGL.cpp:280) 11 XUL 0x000000010183edb5 mozilla::layers::ThebesLayerBufferOGL::Release() + 367 (ThebesLayerOGL.cpp:146) 12 XUL 0x000000010183ee54 nsRefPtr<mozilla::layers::ThebesLayerBufferOGL>::assign_assuming_AddRef(mozilla::layers::ThebesLayerBufferOGL*) + 54 (nsAutoPtr.h:957) 13 XUL 0x000000010183efef nsRefPtr<mozilla::layers::ThebesLayerBufferOGL>::assign_with_AddRef(mozilla::layers::ThebesLayerBufferOGL*) + 45 (nsAutoPtr.h:941) 14 XUL 0x000000010183f00f nsRefPtr<mozilla::layers::ThebesLayerBufferOGL>::operator=(mozilla::layers::ThebesLayerBufferOGL*) + 29 (nsAutoPtr.h:1026) 15 XUL 0x000000010183c4d0 mozilla::layers::ThebesLayerOGL::Destroy() + 48 (ThebesLayerOGL.cpp:493) 16 XUL 0x000000010182f415 void mozilla::layers::ContainerDestroy<mozilla::layers::ContainerLayerOGL>(mozilla::layers::ContainerLayerOGL*) + 66 (ContainerLayerOGL.cpp:126) 17 XUL 0x000000010182f473 mozilla::layers::ContainerLayerOGL::Destroy() + 21 (ContainerLayerOGL.cpp:327) 18 XUL 0x00000001018361bf mozilla::layers::LayerManagerOGL::Destroy() + 75 (LayerManagerOGL.cpp:96) 19 XUL 0x00000001013f1e05 nsBaseWidget::~nsBaseWidget() + 167 (nsBaseWidget.cpp:149) 20 XUL 0x00000001013c4f2b nsChildView::~nsChildView() + 401 (nsChildView.mm:522) 21 XUL 0x00000001013eef93 nsBaseWidget::Release() + 369 (nsBaseWidget.cpp:73) 22 XUL 0x00000001013b3e83 nsChildView::Release() + 21 (nsChildView.mm:524) 23 XUL 0x00000001013aee1c nsCocoaWindow::~nsCocoaWindow() + 320 (nsCocoaWindow.mm:196) 24 XUL 0x00000001013eef93 nsBaseWidget::Release() + 369 (nsBaseWidget.cpp:73) 25 XUL 0x00000001013a86e3 nsCocoaWindow::Release() + 21 (nsCocoaWindow.mm:120) 26 XUL 0x00000001009766c6 nsView::~nsView() + 608 (nsView.cpp:292) 27 XUL 0x0000000100973adf nsIView::Destroy() + 39 (nsView.cpp:338) 28 XUL 0x00000001003fc80d nsFrame::DestroyFrom(nsIFrame*) + 589 (nsFrame.cpp:466) 29 XUL 0x00000001004715fa nsSplittableFrame::DestroyFrom(nsIFrame*) + 64 (nsSplittableFrame.cpp:76) 30 XUL 0x00000001003e9b8c nsContainerFrame::DestroyFrom(nsIFrame*) + 242 (nsContainerFrame.cpp:293) 31 XUL 0x000000010041a25d nsHTMLScrollFrame::DestroyFrom(nsIFrame*) + 45 (nsGfxScrollFrame.cpp:123) 32 XUL 0x00000001003bcc29 nsListControlFrame::DestroyFrom(nsIFrame*) + 375 (nsListControlFrame.cpp:221) 33 XUL 0x0000000100409d90 nsFrameList::DestroyFramesFrom(nsIFrame*) + 104 (nsFrameList.cpp:97) 34 XUL 0x000000010039f923 nsComboboxControlFrame::DestroyFrom(nsIFrame*) + 265 (nsComboboxControlFrame.cpp:1223) 35 XUL 0x000000010043d51f nsLineBox::DeleteLineList(nsPresContext*, nsLineList&, nsIFrame*) + 149 (nsLineBox.cpp:343) 36 XUL 0x00000001003da1dc nsBlockFrame::DestroyFrom(nsIFrame*) + 194 (nsBlockFrame.cpp:322) 37 XUL 0x0000000100409d90 nsFrameList::DestroyFramesFrom(nsIFrame*) + 104 (nsFrameList.cpp:97) 38 XUL 0x00000001003c2fc9 nsAbsoluteContainingBlock::DestroyFrames(nsIFrame*, nsIFrame*) + 33 (nsAbsoluteContainingBlock.cpp:330) 39 XUL 0x0000000100424095 nsCanvasFrame::DestroyFrom(nsIFrame*) + 37 (nsCanvasFrame.cpp:90) 40 XUL 0x0000000100409d90 nsFrameList::DestroyFramesFrom(nsIFrame*) + 104 (nsFrameList.cpp:97) 41 XUL 0x00000001003e9ae3 nsContainerFrame::DestroyFrom(nsIFrame*) + 73 (nsContainerFrame.cpp:275) 42 XUL 0x000000010041a25d nsHTMLScrollFrame::DestroyFrom(nsIFrame*) + 45 (nsGfxScrollFrame.cpp:123) 43 XUL 0x0000000100409d90 nsFrameList::DestroyFramesFrom(nsIFrame*) + 104 (nsFrameList.cpp:97) 44 XUL 0x00000001003e9ae3 nsContainerFrame::DestroyFrom(nsIFrame*) + 73 (nsContainerFrame.cpp:275) 45 XUL 0x00000001004984a6 ViewportFrame::DestroyFrom(nsIFrame*) + 50 (nsViewportFrame.cpp:74) 46 XUL 0x0000000100307f10 nsIFrame::Destroy() + 36 (nsIFrame.h:553) 47 XUL 0x000000010034eb47 nsFrameManager::Destroy() + 129 (nsFrameManager.cpp:258) 48 XUL 0x000000010037fd87 PresShell::Destroy() + 1427 (nsPresShell.cpp:2017) 49 XUL 0x0000000100338da7 DocumentViewerImpl::DestroyPresShell() + 277 (nsDocumentViewer.cpp:4280) 50 XUL 0x000000010033f415 DocumentViewerImpl::Destroy() + 1701 (nsDocumentViewer.cpp:1625) 51 XUL 0x0000000100342034 DocumentViewerImpl::Show() + 210 (nsDocumentViewer.cpp:1921) 52 XUL 0x00000001003638b9 nsPresContext::EnsureVisible() + 337 (nsPresContext.cpp:1666) 53 XUL 0x00000001003798da PresShell::UnsuppressAndInvalidate() + 42 (nsPresShell.cpp:4600) 54 XUL 0x0000000100379af1 PresShell::UnsuppressPainting() + 169 (nsPresShell.cpp:4651) 55 XUL 0x0000000100370218 PresShell::sPaintSuppressionCallback(nsITimer*, void*) + 74 (nsPresShell.cpp:2788) 56 XUL 0x00000001016e3a03 nsTimerImpl::Fire() + 1299 (nsTimerImpl.cpp:426) 57 XUL 0x00000001016e3c76 nsTimerEvent::Run() + 188 (nsTimerImpl.cpp:519) 58 XUL 0x00000001016dc1ba nsThread::ProcessNextEvent(int, int*) + 906 (nsThread.cpp:626) 59 XUL 0x00000001016622ac NS_ProcessNextEvent_P(nsIThread*, int) + 118 (nsThreadUtils.cpp:250) 60 XUL 0x00000001007163a6 nsXMLHttpRequest::Send(nsIVariant*) + 8580 (nsXMLHttpRequest.cpp:2691) 61 XUL 0x0000000100fad187 nsIXMLHttpRequest_Send(JSContext*, unsigned int, jsval_layout*) + 489 (dom_quickstubs.cpp:25690) 62 XUL 0x0000000101b41c56 js::CallJSNative(JSContext*, int (*)(JSContext*, unsigned int, js::Value*), unsigned int, js::Value*) + 88 63 XUL 0x0000000101b455cb CallCompiler::generateNativeStub() + 811 64 XUL 0x0000000101b3ed2d js::mjit::ic::NativeCall(js::VMFrame&, js::mjit::ic::CallICInfo*) + 47 65 ??? 0x000000012f3674b1 0 + 5087065265 66 XUL 0x0000000101af82e9 js::mjit::EnterMethodJIT(JSContext*, JSStackFrame*, void*, js::Value*) + 199 67 XUL 0x0000000101af83e0 CheckStackAndEnterMethodJIT(JSContext*, JSStackFrame*, void*) + 120 68 XUL 0x0000000101af84f7 js::mjit::JaegerShot(JSContext*) + 184 69 XUL 0x0000000101996bd1 js::RunScript(JSContext*, JSScript*, JSStackFrame*) + 201 70 XUL 0x0000000101997960 js::Invoke(JSContext*, js::CallArgs const&, unsigned int) + 1132 71 XUL 0x000000010199819f js::ExternalInvoke(JSContext*, js::Value const&, js::Value const&, unsigned int, js::Value*, js::Value*) + 334 72 XUL 0x00000001018cc198 js::ExternalInvoke(JSContext*, JSObject*, js::Value const&, unsigned int, js::Value*, js::Value*) + 87 73 XUL 0x00000001018cc2d3 JS_CallFunctionValue + 310 74 XUL 0x000000010098f288 nsJSContext::CallEventHandler(nsISupports*, void*, void*, nsIArray*, nsIVariant**) + 1094 (nsJSEnvironment.cpp:2177) 75 XUL 0x0000000100a1f243 nsJSEventListener::HandleEvent(nsIDOMEvent*) + 3045 (nsJSEventListener.cpp:228) 76 XUL 0x00000001007705d2 nsEventListenerManager::HandleEventSubType(nsListenerStruct*, nsIDOMEventListener*, nsIDOMEvent*, nsPIDOMEventTarget*, unsigned int, nsCxPusher*) + 946 (nsEventListenerManager.cpp:1114) 77 XUL 0x0000000100770a4d nsEventListenerManager::HandleEventInternal(nsPresContext*, nsEvent*, nsIDOMEvent**, nsPIDOMEventTarget*, unsigned int, nsEventStatus*, nsCxPusher*) + 1123 (nsEventListenerManager.cpp:1209) 78 XUL 0x00000001007a0f6b nsEventListenerManager::HandleEvent(nsPresContext*, nsEvent*, nsIDOMEvent**, nsPIDOMEventTarget*, unsigned int, nsEventStatus*, nsCxPusher*) + 331 (nsEventListenerManager.h:146) 79 XUL 0x00000001007a1116 nsEventTargetChainItem::HandleEvent(nsEventChainPostVisitor&, unsigned int, int, nsCxPusher*) + 418 (nsEventDispatcher.cpp:213) 80 XUL 0x000000010079f527 nsEventTargetChainItem::HandleEventTargetChain(nsEventChainPostVisitor&, unsigned int, nsDispatchingCallback*, int, nsCxPusher*) + 535 (nsEventDispatcher.cpp:343) 81 XUL 0x00000001007a01be nsEventDispatcher::Dispatch(nsISupports*, nsPresContext*, nsEvent*, nsIDOMEvent*, nsEventStatus*, nsDispatchingCallback*, nsCOMArray<nsPIDOMEventTarget>*) + 2524 (nsEventDispatcher.cpp:628) 82 XUL 0x000000010034052f DocumentViewerImpl::LoadComplete(unsigned int) + 695 (nsDocumentViewer.cpp:1034) 83 XUL 0x0000000101023bf1 nsDocShell::EndPageLoad(nsIWebProgress*, nsIChannel*, unsigned int) + 475 (nsDocShell.cpp:6041) 84 XUL 0x000000010102a84e nsDocShell::OnStateChange(nsIWebProgress*, nsIRequest*, unsigned int, unsigned int) + 2006 (nsDocShell.cpp:5894) 85 XUL 0x000000010104e3e2 nsDocLoader::FireOnStateChange(nsIWebProgress*, nsIRequest*, int, unsigned int) + 602 (nsDocLoader.cpp:1318) 86 XUL 0x000000010104ea6a nsDocLoader::doStopDocumentLoad(nsIRequest*, unsigned int) + 152 (nsDocLoader.cpp:953) 87 XUL 0x000000010104edd8 nsDocLoader::DocLoaderIsEmpty(int) + 810 (nsDocLoader.cpp:820) 88 XUL 0x000000010105005a nsDocLoader::OnStopRequest(nsIRequest*, nsISupports*, unsigned int) + 1248 (nsDocLoader.cpp:705) 89 XUL 0x000000010009f6c1 nsLoadGroup::RemoveRequest(nsIRequest*, nsISupports*, unsigned int) + 809 (nsLoadGroup.cpp:680) 90 XUL 0x000000010066e55f nsDocument::DoUnblockOnload() + 323 (nsDocument.cpp:7266) 91 XUL 0x000000010066e68a nsDocument::UnblockOnload(int) + 280 (nsDocument.cpp:7204) 92 XUL 0x00000001009469cc nsBindingManager::DoProcessAttachedQueue() + 202 (nsBindingManager.cpp:999) 93 XUL 0x000000010094a259 nsRunnableMethodImpl<void (nsBindingManager::*)(), true>::Run() + 131 (nsThreadUtils.h:346) 94 XUL 0x00000001016dc1ba nsThread::ProcessNextEvent(int, int*) + 906 (nsThread.cpp:626) 95 XUL 0x00000001016623c7 NS_ProcessPendingEvents_P(nsIThread*, unsigned int) + 135 (nsThreadUtils.cpp:200) 96 XUL 0x00000001013ecdb8 nsBaseAppShell::NativeEventCallback() + 184 (nsBaseAppShell.cpp:133) 97 XUL 0x00000001013a2282 nsAppShell::ProcessGeckoEvents(void*) + 336 (nsAppShell.mm:400) 98 com.apple.CoreFoundation 0x00007fff83054401 __CFRunLoopDoSources0 + 1361 99 com.apple.CoreFoundation 0x00007fff830525f9 __CFRunLoopRun + 873 100 com.apple.CoreFoundation 0x00007fff83051dbf CFRunLoopRunSpecific + 575 101 com.apple.HIToolbox 0x00007fff87c0391a RunCurrentEventLoopInMode + 333 102 com.apple.HIToolbox 0x00007fff87c0367d ReceiveNextEventCommon + 148 103 com.apple.HIToolbox 0x00007fff87c035d8 BlockUntilNextEventMatchingListInMode + 59 104 com.apple.AppKit 0x00007fff80489e64 _DPSNextEvent + 718 105 com.apple.AppKit 0x00007fff804897a9 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 155 106 com.apple.AppKit 0x00007fff8044f48b -[NSApplication run] + 395 107 XUL 0x00000001013a1b9e nsAppShell::Run() + 122 (nsAppShell.mm:746) 108 XUL 0x00000001010fc2c0 nsAppStartup::Run() + 140 (nsAppStartup.cpp:191) 109 XUL 0x0000000100036a4c XRE_main + 13334 (nsAppRunner.cpp:3695) 110 org.mozilla.minefielddebug 0x000000010000127f main + 755 (nsBrowserApp.cpp:158) 111 org.mozilla.minefielddebug 0x0000000100000e40 start + 52
Keywords: reproducible
Thanks! perfect, this time :)
Here's a patch that should fix this bug and several similar ones: the Mac OpenGL code was omitting to call MakeCurrent() before making GL calls.
Assignee: nobody → bjacob
Status: NEW → ASSIGNED
Attachment #500887 - Flags: review?(vladimir)
Comment on attachment 500887 [details] [diff] [review] add missing MakeCurrent calls in Mac OpenGL code Asking Matt to review instead, that seems to be your code :-)
Attachment #500887 - Flags: review?(vladimir) → review?(matt.woodrow+bugzilla)
please mark this as blocker
blocking2.0: --- → ?
Attachment #500887 - Flags: review?(matt.woodrow+bugzilla) → review+
Attachment #500887 - Flags: approval2.0+
http://hg.mozilla.org/mozilla-central/rev/33596ed87a0d Please reopen if still crashing in tomorrow's nightly.
Status: ASSIGNED → RESOLVED
blocking2.0: ? → ---
Closed: 14 years ago
Resolution: --- → FIXED
Crash Signature: [@ GLEngine@0xaa6bc ]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: