Closed Bug 622436 Opened 9 years ago Closed 9 years ago

Crash [@ GLEngine@0xaa6bc ]

Categories

(Core :: Canvas: WebGL, defect, critical)

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
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: 9 years ago
Resolution: --- → FIXED
Crash Signature: [@ GLEngine@0xaa6bc ]
You need to log in before you can comment on or make changes to this bug.