Closed Bug 632867 Opened 13 years ago Closed 13 years ago

Firefox Beta 11 crash in glXQueryVersion [@ libc-2.12.2.so@0x33b45]

Categories

(Core :: Graphics: CanvasWebGL, defect)

x86_64
Linux
defect
Not set
critical

Tracking

()

RESOLVED FIXED
Tracking Status
blocking2.0 --- betaN+

People

(Reporter: marcia, Assigned: bjacob)

References

Details

(Keywords: crash, topcrash, Whiteboard: [hardblocker][has patch])

Crash Data

Attachments

(2 files)

This bug was filed from the Socorro interface and is 
report bp-9ba1f89e-55db-4cdb-a270-e84cc2110208 .
============================================================= 

Seen while reviewing crash stats. In early B11 data this shows as the #11 crash. http://tinyurl.com/676f2lf to the crashes which are all linux.

Frame 	Module 	Signature [Expand] 	Source
0 	libc-2.12.2.so 	libc-2.12.2.so@0x33b45 	
1 	libc-2.12.2.so 	libc-2.12.2.so@0x37495 	
2 	libc-2.12.2.so 	libc-2.12.2.so@0xd1748 	
3 	libc-2.12.2.so 	libc-2.12.2.so@0x71fd2 	
4 	libc-2.12.2.so 	libc-2.12.2.so@0xd1748 	
5 	libc-2.12.2.so 	libc-2.12.2.so@0x71fd2 	

Some comments indicate crashing on http://html5test.com/ and in full screen mode.
It is #1 top crasher on Linux in 4.0b11.

Another comment says:
"Entering mmo-champion.com while using Ubuntu Unity."
blocking2.0: --- → ?
Keywords: topcrash
Hardware: All → x86_64
Whiteboard: crash
2 of my colleagues are seeing the same crash on http://sourceforge.net/projects/flac/files/
Here is a backtrace of the crashing thread with --sync:

#0  0x00007ffff51bfb45 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        resultvar = 0
        pid = <value optimized out>
        selftid = <value optimized out>
#1  0x00007ffff51c3496 in abort () at abort.c:92
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, sa_mask = {__val = {0, 
              140737488343200, 0, 0, 0, 0, 0, 140737488343112, 140737488343120, 140737488343128, 
              140737306285897, 0, 140737305894867, 140737488343216, 140737306285897, 0}}, 
          sa_flags = -182460461, sa_restorer = 0xdf}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007ffff35c5f2a in mozalloc_abort (msg=<value optimized out>)
    at /build/buildd/firefox-4.0~b11+build3+nobinonly/build-tree/mozilla/memory/mozalloc/mozalloc_abort.cpp:75
No locals.
#3  0x00007ffff6d69d84 in Abort (aSeverity=<value optimized out>, 
    aStr=0x7fffc8575e58 "X_GLXVendorPrivateWithReply: BadLength (poly request too large or internal Xlib length error)", aExpr=<value optimized out>, 
    aFile=0x7ffff71ac0fe "/build/buildd/firefox-4.0~b11+build3+nobinonly/build-tree/mozilla/toolkit/xre/nsX11ErrorHandler.cpp", aLine=190)
    at /build/buildd/firefox-4.0~b11+build3+nobinonly/build-tree/mozilla/xpcom/base/nsDebugImpl.cpp:391
No locals.
#4  NS_DebugBreak_P (aSeverity=<value optimized out>, 
    aStr=0x7fffc8575e58 "X_GLXVendorPrivateWithReply: BadLength (poly request too large or internal Xlib length error)", aExpr=<value optimized out>, 
    aFile=0x7ffff71ac0fe "/build/buildd/firefox-4.0~b11+build3+nobinonly/build-tree/mozilla/toolkit/xre/nsX11ErrorHandler.cpp", aLine=190)
    at /build/buildd/firefox-4.0~b11+build3+nobinonly/build-tree/mozilla/xpcom/base/nsDebugImpl.cpp:378
        buf = {
          buffer = "###!!! ABORT: X_GLXVendorPrivateWithReply: BadLength (poly request too large or internal Xlib length error): file /build/buildd/firefox-4.0~b11+build3+nobinonly/build-tree/mozilla/toolkit/xre/nsX11Err"..., curlen = 223}
        ll = PR_LOG_ALWAYS
        sevString = <value optimized out>
#5  0x00007ffff6390eea in X11Error (display=0x7fffebf47000, event=<value optimized out>)
    at /build/buildd/firefox-4.0~b11+build3+nobinonly/build-tree/mozilla/toolkit/xre/nsX11ErrorHandler.cpp:190
        notes = {<nsFixedCString> = {<nsCString> = {<nsACString_internal> = {
                mData = 0x7fffc8575e58 "X_GLXVendorPrivateWithReply: BadLength (poly request too large or internal Xlib length error)", mLength = 93, mFlags = 65541}, <No data fields>}, mFixedCapacity = 63, 
            mFixedBuf = 0x7fffffffbc50 "X_GLXVendorPrivateWithReply: "}, 
          mStorage = "X_GLXVendorPrivateWithReply: \000\000\000\000\000\000\000 \000\000\000\220\220\366\353\377\177\000\000@\200\366\353\377\177\000\000t\200\366\353\377\177\000"}
        buffer = "BadLength (poly request too large or internal Xlib length error)", '\000' <repeats 1983 times>
        age = 1
        message = {<nsFixedCString> = {<nsCString> = {<nsACString_internal> = {
                mData = 0x7fffffffbbf0 "GLX.17", mLength = 6, mFlags = 65553}, <No data fields>}, 
            mFixedCapacity = 63, mFixedBuf = 0x7fffffffbbf0 "GLX.17"}, 
          mStorage = "GLX.17\000\000X\203\374\367\377\177\000\000\200\275\377\377\377\177\000\000 \327\373\367\377\177\000\000\240\275\377\377\377\177\000\000\000\200\374\367\377\177\000\000WÛ“\034\000\000\000\000\253r@\000\000\000\000"}
#6  0x00007ffff273df97 in _XError (dpy=0x7fffebf47000, rep=0x7fffc87e4be0) at ../../src/XlibInt.c:3103
        rtn_val = <value optimized out>
        event = {type = 0, xany = {type = 0, serial = 140737152053248, send_event = 16783084, 
            display = 0xbc31, window = 140737137187600}, xkey = {type = 0, serial = 140737152053248, 
            send_event = 16783084, display = 0xbc31, window = 140737137187600, root = 140737152053248, 
            subwindow = 140736557108192, time = 4224563, x = 48177, y = 0, x_root = 0, y_root = 0, 
            state = 3365624576, keycode = 32767, same_screen = -336302080}, xbutton = {type = 0, 
            serial = 140737152053248, send_event = 16783084, display = 0xbc31, window = 140737137187600, 
            root = 140737152053248, subwindow = 140736557108192, time = 4224563, x = 48177, y = 0, 
            x_root = 0, y_root = 0, state = 3365624576, button = 32767, same_screen = -336302080}, xmotion = {
            type = 0, serial = 140737152053248, send_event = 16783084, display = 0xbc31, 
            window = 140737137187600, root = 140737152053248, subwindow = 140736557108192, time = 4224563, 
            x = 48177, y = 0, x_root = 0, y_root = 0, state = 3365624576, is_hint = -1 '\377', 
            same_screen = -336302080}, xcrossing = {type = 0, serial = 140737152053248, 
            send_event = 16783084, display = 0xbc31, window = 140737137187600, root = 140737152053248, 
            subwindow = 140736557108192, time = 4224563, x = 48177, y = 0, x_root = 0, y_root = 0, 
            mode = -929342720, detail = 32767, same_screen = -336302080, focus = 32767, state = 3363720160}, 
          xfocus = {type = 0, serial = 140737152053248, send_event = 16783084, display = 0xbc31, 
            window = 140737137187600, mode = -336302080, detail = 32767}, xexpose = {type = 0, 
            serial = 140737152053248, send_event = 16783084, display = 0xbc31, window = 140737137187600, 
            x = -336302080, y = 32767, width = -931247136, height = 32767, count = 4224563}, 
          xgraphicsexpose = {type = 0, serial = 140737152053248, send_event = 16783084, display = 0xbc31, 
            drawable = 140737137187600, x = -336302080, y = 32767, width = -931247136, height = 32767, 
            count = 4224563, major_code = 0, minor_code = 48177}, xnoexpose = {type = 0, 
            serial = 140737152053248, send_event = 16783084, display = 0xbc31, drawable = 140737137187600, 
            major_code = -336302080, minor_code = 32767}, xvisibility = {type = 0, serial = 140737152053248, 
            send_event = 16783084, display = 0xbc31, window = 140737137187600, state = -336302080}, 
          xcreatewindow = {type = 0, serial = 140737152053248, send_event = 16783084, display = 0xbc31, 
            parent = 140737137187600, window = 140737152053248, x = -931247136, y = 32767, width = 4224563, 
            height = 0, border_width = 48177, override_redirect = 0}, xdestroywindow = {type = 0, 
            serial = 140737152053248, send_event = 16783084, display = 0xbc31, event = 140737137187600, 
            window = 140737152053248}, xunmap = {type = 0, serial = 140737152053248, send_event = 16783084, 
            display = 0xbc31, event = 140737137187600, window = 140737152053248, 
            from_configure = -931247136}, xmap = {type = 0, serial = 140737152053248, send_event = 16783084, 
            display = 0xbc31, event = 140737137187600, window = 140737152053248, 
            override_redirect = -931247136}, xmaprequest = {type = 0, serial = 140737152053248, 
            send_event = 16783084 , display = 0xbc31, parent = 140737137187600, window = 140737152053248}, 
          xreparent = {type = 0, serial = 140737152053248, send_event = 16783084, display = 0xbc31, 
            event = 140737137187600, window = 140737152053248, parent = 140736557108192, x = 4224563, y = 0, 
            override_redirect = 48177}, xconfigure = {type = 0, serial = 140737152053248, 
            send_event = 16783084, display = 0xbc31, event = 140737137187600, window = 140737152053248, 
            x = -931247136, y = 32767, width = 4224563, height = 0, border_width = 48177, above = 0, 
            override_redirect = -929342720}, xgravity = {type = 0, serial = 140737152053248, 
            send_event = 16783084, display = 0xbc31, event = 140737137187600, window = 140737152053248, 
            x = -931247136, y = 32767}, xresizerequest = {type = 0, serial = 140737152053248, 
            send_event = 16783084, display = 0xbc31, window = 140737137187600, width = -336302080, 
            height = 32767}, xconfigurerequest = {type = 0, serial = 140737152053248, send_event = 16783084, 
            display = 0xbc31, parent = 140737137187600, window = 140737152053248, x = -931247136, y = 32767, 
            width = 4224563, height = 0, border_width = 48177, above = 0, detail = -929342720, 
            value_mask = 140737152053248}, xcirculate = {type = 0, serial = 140737152053248, 
            send_event = 16783084, display = 0xbc31, event = 140737137187600, window = 140737152053248, 
            place = -931247136}, xcirculaterequest = {type = 0, serial = 140737152053248, 
            send_event = 16783084, display = 0xbc31, parent = 140737137187600, window = 140737152053248, 
            place = -931247136}, xproperty = {type = 0, serial = 140737152053248, send_event = 16783084, 
            display = 0xbc31, window = 140737137187600, atom = 140737152053248, time = 140736557108192, 
            state = 4224563}, xselectionclear = {type = 0, serial = 140737152053248, send_event = 16783084, 
            display = 0xbc31, window = 140737137187600, selection = 140737152053248, time = 140736557108192}, 
          xselectionrequest = {type = 0, serial = 140737152053248, send_event = 16783084, display = 0xbc31, 
            owner = 140737137187600, requestor = 140737152053248, selection = 140736557108192, 
            target = 4224563, property = 48177, time = 0}, xselection = {type = 0, serial = 140737152053248, 
            send_event = 16783084, display = 0xbc31, requestor = 140737137187600, 
            selection = 140737152053248, target = 140736557108192, property = 4224563, time = 48177}, 
          xcolormap = {type = 0, serial = 140737152053248, send_event = 16783084, display = 0xbc31, 
            window = 140737137187600, colormap = 140737152053248, new = -931247136, state = 32767}, 
          xclient = {type = 0, serial = 140737152053248, send_event = 16783084, display = 0xbc31, 
            window = 140737137187600, message_type = 140737152053248, format = -931247136, data = {
              b = "3v@\000\000\000\000\000\061\274\000\000\000\000\000\000\000\000\000", s = {30259, 64, 0, 
                0, -17359, 0, 0, 0, 0, 0}, l = {4224563, 48177, 0, 140736559012608, 140737152053248}}}, 
          xmapping = {type = 0, serial = 140737152053248, send_event = 16783084, display = 0xbc31, 
            window = 140737137187600, request = -336302080, first_keycode = 32767, count = -931247136}, 
          xerror = {type = 0, display = 0x7fffebf47000, resourceid = 16783084, serial = 48177, 
            error_code = 16 '\020', request_code = 155 '\233', minor_code = 17 '\021'}, xkeymap = {type = 0, 
            serial = 140737152053248, send_event = 16783084, display = 0xbc31, window = 140737137187600, 
            key_vector = "\000p\364\353\377\177\000\000\340K~\310\377\177\000\000\063v@\000\000\000\000\000\061\274\000\000\000\000\000"}, xgeneric = {type = 0, serial = 140737152053248, send_event = 16783084, 
            display = 0xbc31, extension = -351167728, evtype = 32767}, xcookie = {type = 0, 
            serial = 140737152053248, send_event = 16783084, display = 0xbc31, extension = -351167728, 
            evtype = 32767, cookie = 3958665216, data = 0x7fffc87e4be0}, pad = {281479271677952, 
            140737152053248, 16783084, 48177, 140737137187600, 140737152053248, 140736557108192, 4224563, 
            48177, 0, 140736559012608, 140737152053248, 140736557108192, 1, 48177, 140737261095246, 48176, 0, 
            140737488338400, 140737152188416, 0, 0, 5, 140737152053248}}
        async = <value optimized out>
        next = <value optimized out>
#7  0x00007ffff27450e8 in _XReply (dpy=0x7fffebf47000, rep=<value optimized out>, extra=0, discard=0)
    at ../../src/xcb_io.c:513
        ext = 0x0
        err = 0x7fffc87e4be0
        ret_code = <value optimized out>
        error = 0x7fffc87e4be0
        c = <value optimized out>
        reply = <value optimized out>
        __PRETTY_FUNCTION__ = "_XReply"
#8  0x00007fffeea84e7a in getFBConfigs (psc=0x7fffc8522b60, screen=0, priv=0x7fffc858bf40) at glxext.c:702
        dpy = 0x7fffebf47000
        fb_req = <value optimized out>
        sgi_req = <value optimized out>
        vpreq = <value optimized out>
        reply = {type = 0 '\000', unused = 16 '\020', sequenceNumber = 48177, length = 16783084, 
          numFBConfigs = 10158097, numAttribs = 0, pad3 = 0, pad4 = 0, pad5 = 0, pad6 = 0}
#9  glx_screen_init (psc=0x7fffc8522b60, screen=0, priv=0x7fffc858bf40) at glxext.c:726
No locals.
#10 0x00007fffeeaa995f in dri2CreateScreen (screen=0, priv=0x7fffc858bf40) at dri2_glx.c:786
        driver_configs = <value optimized out>
        extensions = <value optimized out>
        pdp = 0x7fffc8abb830
        psc = 0x7fffc8522b60
        psp = <value optimized out>
        driverName = <value optimized out>
        deviceName = <value optimized out>
        magic = <value optimized out>
        i = <value optimized out>
#11 0x00007fffeea85278 in AllocAndFetchScreenConfigs (dpy=0x7fffebf47000) at glxext.c:760
        psc = 0x0
        i = <value optimized out>
        screens = 1
#12 __glXInitialize (dpy=0x7fffebf47000) at glxext.c:859
        dpyPriv = 0x7fffc858bf40
        d = <value optimized out>
        glx_direct = 1
        glx_accel = 1
        i = <value optimized out>
#13 0x00007fffeea814b9 in glXQueryVersion (dpy=<value optimized out>, major=0x7ffff7dd9394, 
    minor=0x7ffff7dd9398) at glxcmds.c:395
        priv = <value optimized out>
#14 0x00007ffff6de7775 in mozilla::gl::GLXLibrary::EnsureInitialized (this=0x7ffff7dd92f0)
    at /build/buildd/firefox-4.0~b11+build3+nobinonly/build-tree/mozilla/gfx/thebes/GLContextProviderGLX.cpp:167
        symbols13_ext = {{symPointer = 0x7ffff7dd9310, symNames = {0x7ffff7351193 "glXChooseFBConfigSGIX", 
              0x0, 0x0, 0x0, 0x0}}, {symPointer = 0x7ffff7dd9330, symNames = {
              0x7ffff73511a9 "glXGetFBConfigAttribSGIX", 0x0, 0x0, 0x0, 0x0}}, {symPointer = 0x7ffff7dd9328, 
            symNames = {0x7ffff7351145 "glXGetVisualFromFBConfig", 0x0, 0x0, 0x0, 0x0}}, {
            symPointer = 0x7ffff7dd9358, symNames = {0x7ffff73511c2 "glXCreateGLXPixmapWithConfigSGIX", 0x0, 
              0x0, 0x0, 0x0}}, {symPointer = 0x7ffff7dd9360, symNames = {
              0x7ffff73511e3 "glXDestroyGLXPixmap", 0x0, 0x0, 0x0, 0x0}}, {symPointer = 0x7ffff7dd9320, 
            symNames = {0x7ffff73511f7 "glXCreateContextWithConfigSGIX", 0x0, 0x0, 0x0, 0x0}}, {
            symPointer = 0x0, symNames = {0x0, 0x0, 0x0, 0x0, 0x0}}}
        sym13 = <value optimized out>
        symbols13 = {{symPointer = 0x7ffff7dd9310, symNames = {0x7ffff735110e "glXChooseFBConfig", 0x0, 0x0, 
              0x0, 0x0}}, {symPointer = 0x7ffff7dd9330, symNames = {0x7ffff7351120 "glXGetFBConfigAttrib", 
              0x0, 0x0, 0x0, 0x0}}, {symPointer = 0x7ffff7dd9318, symNames = {
              0x7ffff7351135 "glXGetFBConfigs", 0x0, 0x0, 0x0, 0x0}}, {symPointer = 0x7ffff7dd9328, 
            symNames = {0x7ffff7351145 "glXGetVisualFromFBConfig", 0x0, 0x0, 0x0, 0x0}}, {
            symPointer = 0x7ffff7dd9350, symNames = {0x7ffff735115e "glXCreatePixmap", 0x0, 0x0, 0x0, 0x0}}, {
            symPointer = 0x7ffff7dd9360, symNames = {0x7ffff735116e "glXDestroyPixmap", 0x0, 0x0, 0x0, 0x0}}, 
          {symPointer = 0x7ffff7dd9320, symNames = {0x7ffff735117f "glXCreateNewContext", 0x0, 0x0, 0x0, 
              0x0}}, {symPointer = 0x0, symNames = {0x0, 0x0, 0x0, 0x0, 0x0}}}
        symbols14_ext = {{symPointer = 0x7ffff7dd9308, symNames = {0x7ffff7351228 "glXGetProcAddressARB", 
              0x0, 0x0, 0x0, 0x0}}, {symPointer = 0x0, symNames = {0x0, 0x0, 0x0, 0x0, 0x0}}}
        display = 0x7fffebf47000
        screen = 0
        serverVersionStr = <value optimized out>
        sym14 = <value optimized out>
        symbols = {{symPointer = 0x7ffff7dd92f0, symNames = {0x7ffff735108b "glXDestroyContext", 0x0, 0x0, 
              0x0, 0x0}}, {symPointer = 0x7ffff7dd92f8, symNames = {0x7ffff735109d "glXMakeCurrent", 0x0, 
              0x0, 0x0, 0x0}}, {symPointer = 0x7ffff7dd9338, symNames = {0x7ffff73510ac "glXSwapBuffers", 
              0x0, 0x0, 0x0, 0x0}}, {symPointer = 0x7ffff7dd9370, symNames = {
              0x7ffff73510bb "glXQueryVersion", 0x0, 0x0, 0x0, 0x0}}, {symPointer = 0x7ffff7dd9300, 
            symNames = {0x7ffff73510cb "glXGetCurrentContext", 0x0, 0x0, 0x0, 0x0}}, {
            symPointer = 0x7ffff7dd9340, symNames = {0x7ffff73510e0 "glXQueryExtensionsString", 0x0, 0x0, 
              0x0, 0x0}}, {symPointer = 0x7ffff7dd9348, symNames = {0x7ffff73510f9 "glXQueryServerString", 
              0x0, 0x0, 0x0, 0x0}}, {symPointer = 0x0, symNames = {0x0, 0x0, 0x0, 0x0, 0x0}}}
        symbols14 = {{symPointer = 0x7ffff7dd9308, symNames = {0x7ffff7351216 "glXGetProcAddress", 0x0, 0x0, 
              0x0, 0x0}}, {symPointer = 0x0, symNames = {0x0, 0x0, 0x0, 0x0, 0x0}}}
        vendor = <value optimized out>
        extensionsStr = <value optimized out>
#15 0x00007ffff6de797d in mozilla::gl::CreateOffscreenPixmapContext (aFormat=..., aShare=1, 
    aSize=<value optimized out>)
    at /build/buildd/firefox-4.0~b11+build3+nobinonly/build-tree/mozilla/gfx/thebes/GLContextProviderGLX.cpp:552
        xsurface = {mRawPtr = 0x7fffce714c00}
        display = 0x0
        attribs = {-15008, 32767, -163256563, 21, -153746296, 32767, -336037696, 0, -410364256, 32767, 
          -14760, 32767, -336037696, 32767, -176885556, 32767, -148273696}
        cfgs = {mPtr = 0x7fffe78a9f60}
        chosenIndex = <value optimized out>
        xErrorHandler = {mXError = {mError = {type = 0, display = 0x7ffff574f4d0, 
              resourceid = 140737152317632, serial = 0, error_code = 192 '\300', request_code = 120 'x', 
              minor_code = 248 '\370'}}, static sXErrorPtr = 0x0, mOldXErrorPtr = 0x7ffff6d5f2da, 
          mOldErrorHandler = 0x7fff80040154}
        numConfigs = 32767
        vinfo = {mPtr = 0x7fffebf878c0}
        glxpixmap = <value optimized out>
        error = <value optimized out>
        glContext = {mRawPtr = 0x7fffebf1bf30}
#16 0x00007ffff6de7c8c in mozilla::gl::GLContextProviderGLX::CreateOffscreen (aSize=..., 
    aFormat=<value optimized out>)
    at /build/buildd/firefox-4.0~b11+build3+nobinonly/build-tree/mozilla/gfx/thebes/GLContextProviderGLX.cpp:672
        glContext = {mRawPtr = 0x1}
#17 0x00007ffff6670ae5 in mozilla::WebGLContext::SetDimensions (this=0x7fffc9505800, width=300, height=150)
    at /build/buildd/firefox-4.0~b11+build3+nobinonly/build-tree/mozilla/content/canvas/src/WebGLContext.cpp:477
        preferEGL = 0
        prefService = {<nsCOMPtr_base> = {mRawPtr = 0x7fffe78a9f78}, <No data fields>}
        verbose = 0
        preferOpenGL = 0
        useOpenGL = <value optimized out>
        useANGLE = <value optimized out>
        gfxInfo = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>}
        format = {static BasicRGBA32Format = {
            static BasicRGBA32Format = <same as static member of an already seen type>, depth = 0, 
            minDepth = 0, stencil = 0, minStencil = 0, red = 8, minRed = 1, green = 8, minGreen = 1, 
            blue = 8, minBlue = 1, alpha = 8, minAlpha = 1}, depth = 24, minDepth = 16, stencil = 0, 
          minStencil = 0, red = 8, minRed = 1, green = 8, minGreen = 1, blue = 8, minBlue = 1, alpha = 8, 
          minAlpha = 1}
        forceOSMesa = 0
        forceEnabled = 0
#18 0x00007ffff66b9cc8 in nsHTMLCanvasElement::UpdateContext (this=<value optimized out>, 
    aNewContextOptions=0x0)
    at /build/buildd/firefox-4.0~b11+build3+nobinonly/build-tree/mozilla/content/html/content/src/nsHTMLCanvasElement.cpp:611
        rv = <value optimized out>
        sz = {width = 300, height = 150}
#19 0x00007ffff66ba527 in nsHTMLCanvasElement::GetContext (this=0x7fffc8575dc0, aContextId=..., 
    aContextOptions=<value optimized out>, aContext=0x7fffffffc8f0)
    at /build/buildd/firefox-4.0~b11+build3+nobinonly/build-tree/mozilla/content/html/content/src/nsHTMLCanvasElement.cpp:534
        cp = 0x7ffff7daf8a8
        contextProps = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>}
        rv = <value optimized out>
#20 0x00007ffff6a1dad0 in nsIDOMHTMLCanvasElement_GetContext (cx=0x7fffce714c00, argc=1, vp=0x7fffe1efe270)
    at dom_quickstubs.cpp:20394
        rv = <value optimized out>
        obj = 0x7fffcd90fb00
        callee = 0x6
        self = 0x7fffc8575e28
        selfref = {ptr = 0x0}
        arg0 = {<xpc_qsBasicString<nsAString_internal, nsDependentString>> = {mBuf = {0x7fffc8bb4dd0, 
              0x100000012}, mValid = 1}, <No data fields>}
        helper = {<xpcObjectHelper> = {mCanonicalStrong = {<nsCOMPtr_base> = {
                mRawPtr = 0x0}, <No data fields>}, mCanonical = 0x0, mObject = 0x0, mCache = 0x0, 
            mClassInfo = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>}, mXPCClassInfo = {mRawPtr = 
    0x0}, mIsNode = 0}, <No data fields>}
        lccx = {mCallBeginRequest = XPCLazyCallContext::DONT_CALL_BEGINREQUEST, mCcx = 0x0, 
          mCcxToDestroy = 0x0, mCx = 0x7fffce714c00, mCallerLanguage = XPCContext::LANG_JS, 
          mObj = 0x7fffcd90fb00, mCurrentJSObject = 0x7fffcd90fb00, mWrapper = 0x0, mTearOff = 0x0, 
          mData = "\320\341\307\367\377\177\000\000\003\000\000\000\377\177\000\000\000\000\000\000\000\000\000\000`\275\203\347\377\177\000\000\200;$\317\377\177\000\000\000Lq\316\377\177\000\000\000\000\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "xt\271\310\377\177\000\000xt\271\310\377\177\000\000xt\271\310\377\177\000\000p\224\377\326\377\177\000\000\000\000\000\000\000\000\000\000 \224\345\322\377\177\000\000\200\271\273\310\377\177\000\000@\000\000\000\r", '\000' <repeats 11 times>, "P\356n\310\377\177\000\000]\000\000\000\000\000\000\000\020\312\377\377\377\177\000\000@Ê‚\313\377\177\000\000\027)z\366\255\336\000\000\000\000\000\000\000\000\000\000>\266y\366\377\177\000\000$\024A\201\377\263\314\002\000\000\000\000\001\000\000\000\213|$0M\205\377\017\204\023\000\000\000M\213g\000\000\000\000\377\177\000"}
        argv = <value optimized out>
        arg1 = 18444773748872577024
        result = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>}
#21 0x00007ffff70497ef in CallJSNative (this=0x7fffffffd070)
    at /build/buildd/firefox-4.0~b11+build3+nobinonly/build-tree/mozilla/js/src/jscntxtinlines.h:697
        ok = <value optimized out>
#22 CallCompiler::generateNativeStub (this=0x7fffffffd070)
    at /build/buildd/firefox-4.0~b11+build3+nobinonly/build-tree/mozilla/js/src/methodjit/MonoIC.cpp:667
        jit = 0x7fffcb82c800
        vpReg = <value optimized out>
        vp = 0x7fffe1efe270
        obj = 0x7fffcd913e80
        fun = 0x7fffcd913e80
        masm = {<js::mjit::PunboxAssembler> = {<JSC::MacroAssembler> = {<JSC::MacroAssemblerX86_64> = {<JSC::MacroAssemblerX86Common> = {<JSC::AbstractMacroAssembler<JSC::X86Assembler>> = {m_assembler = {m_formatter = {
                        static maxInstructionSize = 16, static noBase = JSC::X86Registers::ebp, 
                        static hasSib = JSC::X86Registers::esp, static noIndex = JSC::X86Registers::esp, 
                        static noBase2 = JSC::X86Registers::r13, static hasSib2 = JSC::X86Registers::r12, 
                        m_buffer = {static inlineCapacity = 256, 
                          m_inlineBuffer = "@\353j\337\377\177\000\000xt\271\310\377\177\000\000\000Lq\316\377\177\000\000\250\314\377\377\377\177\000\000\250\314\377\377\377\177\000\000\r\310y\366\377\177\000\000\250\314\377\377\377\177\000\000\274\314\377\377\377\177\000\000(\315\377\377\377\177\000\000\000\000\000\000\000\000\000\000H\313\377\377\377\177\000\000\027)z\366\377\177\000\000\000\000\000\000\000\000\000\000>\266y\366\377\177\000\000\377\377\000\200\000\000\000\000p\224\377\326\001\000\000\000\250\314\377\377\377\177\000\000\034#y\366\377\177\000\000\300\314\377\377\377\177\000\000\350\313\377\377\377\177\000\000ɹ\233\366\377\177\000\000\340w\363\326\377\177\000\000\370\313\377\377\377\177\000\000\300H\205\337\377\177\000\000\000\373\220\315\377\177\000\000\000Lq\316\377\177\000\000\001", '\000' <repeats 15 times>, "@\357\331\310\377\177\000\000\256\276y\366\377\177\000\000\250\314\377\377\377\177\000\000\274\314\377\377\377\177\000", 
                          m_buffer = 0x7ffff69bbadd "\205\300u,H\215T$\b1\311L\211\376L\211\347@\265\001\350n\376\377\377\205\300t\023H\213D$\030H9D$\b@\017\225\305\353\003@\265\001@\017\266\355\270\001", m_capacity = 0, 
                          m_size = 0, m_oom = false}}}}, static DoubleConditionBitInvert = 16, 
                  static DoubleConditionBitSpecial = 32, static DoubleConditionBits = 48, 
                  static scratchRegister = JSC::X86Registers::r11, 
                  static stackPointerRegister = JSC::X86Registers::esp, 
                  static s_sseCheckState = JSC::MacroAssemblerX86Common::HasSSE4_2}, 
                static MinInt32 = -2147483648, static MaxInt32 = 2147483647, 
                static ScalePtr = JSC::AbstractMacroAssembler<JSC::X86Assembler>::TimesEight, 
                static TotalRegisters = 16}, <No data fields>}, static PAYLOAD_OFFSET = 0, 
            static JSVAL_SCALE = JSC::AbstractMacroAssembler<JSC::X86Assembler>::TimesEight}, 
          static ClobberInCall = JSC::X86Registers::ecx, startLabel = {m_label = {m_offset = 0, 
              m_used = false}}, callPatches = {<js::SystemAllocPolicy> = {<No data fields>}, 
            static sElemIsPod = false, static sMaxInlineBytes = 1024, static sInlineCapacity = 64, 
            static sInlineBytes = 1024, mBegin = 0x7fffd91329c8, mLength = 1, mCapacity = 140736642218752, 
            storage = {u = {
                bytes = "\000\373\220\315\377\177\000\000\000Lq\316\377\177\000\000\001\000\000\000\000\000\000\000\060\316\377\377\377\177\000\000\351\371\235\366\377\177\000\000\250\314\377\377\377\177\000\000\274\314\377\377\377\177\000\000\000\000\000\000\000\000\000\000\210\263\330\343\377\177\000\000\000\000\000\000\000\000\000\000\063o\233\366\377\177\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\300H\205\337\377\177\000\000\a\261\233\366\377\177\000\000\001\000\000\000\377\177\000\000\000(\023\331\377\177\000\000\310)\023\331\377\177\000\000\000\000\000\000\000\000\000\000\070\256\333\310\377\177\000\000\000\000\000\000\001\000\000\000\320\341\307\367\377\177\000\000\003\000\000\000\377\177\000\000\000\000\000\000\000\000\000\000`\275\203\347\377\177\000\000\200;$\317\377\177\000\000\000Lq\316\377\177\000\000\000\000\000\000\000\000\000\000\001", '\000' <repeats 15 times>, "xt\271\310\377\177\000\000xt\271\310\377\177\000\000xt\271\310\377\177\000\000p\224\377\326\377\177\000\000\000\000\000\000\000\000\000\000 \224\345\322\377\177\000\000"..., 
                _ = 140736642218752}}}, availInCall = {static TypeMaskReg = JSC::X86Registers::r13, 
            static PayloadMaskReg = JSC::X86Registers::r14, static ValueReg = JSC::X86Registers::r10, 
            static JSFrameReg = JSC::X86Registers::ebx, static ReturnReg = JSC::X86Registers::eax, 
            static ArgReg0 = JSC::X86Registers::edi, static ArgReg1 = JSC::X86Registers::esi, 
            static ArgReg2 = JSC::X86Registers::edx, static StackPointer = JSC::X86Registers::esp, 
            static TempRegs = 967, static SavedRegs = 4294938624, static SingleByteRegs = 4294939591, 
            static AvailRegs = 4294939591, freeMask = 4144282096}, extraStackSpace = 32767, 
          callConvention = 3367584680, stackAdjust = 32767, static TotalFPRegisters = 8, 
          static JSReturnReg_Type = JSC::X86Registers::ecx, static JSReturnReg_Data = JSC::X86Registers::edx, 
          static JSParamReg_Argc = JSC::X86Registers::ecx, static StackAlignment = 16, 
          static ReturnStackAdjustment = 0, static ShadowStackSpace = 0}
        cxReg = <value optimized out>
        linker = {<JSC::LinkBuffer> = {m_executablePool = 0x2d0bcf881000000, m_code = 0x7fffc943c2e8, 
            m_size = 32}, masm = @0x7fff00000000}
        ep = 0x0
#23 0x00007ffff70402a3 in js::mjit::ic::NativeCall (f=..., ic=<value optimized out>)
    at /build/buildd/firefox-4.0~b11+build3+nobinonly/build-tree/mozilla/js/src/methodjit/MonoIC.cpp:874
        cc = {<js::mjit::BaseCompiler> = {<js::mjit::MacroAssemblerTypedefs> = {<No data fields>}, 
            cx = 0x7fffce714c00}, f = @0x7fffffffd0b0, ic = @0x7fffcb82c9e0, callingNew = false}
#24 0x00007fffc86eed13 in ?? ()
No symbol table info available.
#25 0x00007fffc86e0880 in ?? ()
No symbol table info available.
#26 0x00007ffff7eb9040 in ?? ()
No symbol table info available.
#27 0x0000000000000000 in ?? ()
No symbol table info available.
Urgh, sorry for posting that inline.

Note, both of my colleagues are on Intel. I thought this was blacklisted there? When I access the same site on my Intel machine, I see "[GLX] currently only allowing the NVIDIA proprietary driver, as other drivers are giving too many crashes. To bypass this, define the MOZ_GLX_IGNORE_BLACKLIST environment variable." as expected, but the reporters aren't seeing that before it crashes
Component: General → Canvas: WebGL
Product: Firefox → Core
QA Contact: general → canvas.webgl
We are hoping that bug 632969 will fix this.
Depends on: 632969
Summary: Firefox Beta 11 crash [@ libc-2.12.2.so@0x33b45] → Firefox Beta 11 crash in glXQueryVersion [@ libc-2.12.2.so@0x33b45]
Thanks Chris.  Can you clarify please: did the stack in comment 4 happen without MOZ_GLX_IGNORE_BLACKLIST?
Oh, sorry.  No need to answer that.  I see how that stack happens before we check MOZ_GLX_IGNORE_BLACKLIST.
Oh, yes. I can see that too now. Do you want to fix that, or do you want me to provide a patch?
I have a patch, attaching it to bug 632969.
Would be interesting to know whether glxinfo crashes on the Intel systems with this crash.
glxinfo isn't crashing on these systems. I asked someone experiencing the crash to run it and make sure that "server glx vendor string" didn't say "NVIDIA Corporation" ;)
Could you attach that output of glxinfo, and specify Mesa version, please?

I'm trying to work out why Gecko crashes but glxinfo doesn't.
The first thing glxinfo does is glXChooseVisual().
The first thing Gecko does after opening the libGL.so.1 is glXQueryVersion().

Both glXChooseVisual() and glXQueryVersion() call __glXInitialize() in exactly the same way before doing anything else.

Why would __glXInitialize() crash for Gecko but not glxinfo?
This is an updated version of the last patch in bug 632969. I have applied your comments, took the GetError() route. This needs to be applied on top of the patches in bug 632969.
Attachment #511753 - Flags: review?(karlt)
Comment on attachment 511753 [details] [diff] [review]
fix GLXLibrary::EnsureInitialized

>+    // this scope is covered by a ScopedXErrorHandler to catch X errors in GLX calls,
>+    // see bug 632867 comment 3

We now know enough to include a comment such as
"Mesa versions up to 7.10 cause a BadLength error during the first GLX call
when the server GLX version < 1.3."

r+ with that comment and the GLX_VENDOR check removed from
CreateGLContext().
Attachment #511753 - Flags: review?(karlt) → review+
blocking2.0: ? → betaN+
Whiteboard: [hardblocker]
Whiteboard: [hardblocker] → [hardblocker][has patch]
Thanks for catching that. Carrying forward r+.
Assignee: nobody → bjacob
Status: NEW → ASSIGNED
Attachment #511839 - Flags: review+
http://hg.mozilla.org/mozilla-central/rev/a2bd19b90a5f
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Backed out due to test failures

http://hg.mozilla.org/mozilla-central/pushloghtml?changeset=80211f053c46
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Re-landed:
http://hg.mozilla.org/mozilla-central/rev/be64c2d2b306

This had indeed nothing to do with the failure, it just was part of the same
push.
Status: REOPENED → RESOLVED
Closed: 13 years ago13 years ago
Resolution: --- → FIXED
Depends on: 647552
Crash Signature: [@ libc-2.12.2.so@0x33b45]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: