pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: firefox dumping core after NetBSD upgrade



I wrote:
>From the stack trace that Paul Goyette provided it looks to me like
>a Firefox bug is triggering one in Mesa.

I have now got a debug system and firefox build with debug-info, a
firefox build with debug wouldn't display an URL.

I commented out the locking code to see what happened:

Index: errors.c
===================================================================
RCS file: /cvsroot/xsrc/external/mit/MesaLib/dist/src/mesa/main/errors.c,v
retrieving revision 1.1.1.4
diff -u -r1.1.1.4 errors.c
--- errors.c    24 Sep 2019 18:10:11 -0000      1.1.1.4
+++ errors.c    15 Oct 2019 10:57:17 -0000
@@ -306,6 +306,7 @@
 
    do_output = should_output(ctx, error, fmtString);
 
+#if 0
    simple_mtx_lock(&ctx->DebugMutex);
    if (ctx->Debug) {
       do_log = _mesa_debug_is_message_enabled(ctx->Debug,
@@ -318,6 +319,9 @@
       do_log = GL_FALSE;
    }
    simple_mtx_unlock(&ctx->DebugMutex);
+#else
+   do_log = GL_FALSE;
+#endif
 
    if (do_output || do_log) {
       char s[MAX_DEBUG_MESSAGE_LENGTH], s2[MAX_DEBUG_MESSAGE_LENGTH];


The it now crashes here (also errors.c):

    static GLboolean
    should_output(struct gl_context *ctx, GLenum error, const char *fmtString)
    {
       static GLint debug = -1;
    
       /* Check debug environment variable only once:
        */
       if (debug == -1) {
          const char *debugEnv = getenv("MESA_DEBUG");
    
    #ifdef DEBUG
          if (debugEnv && strstr(debugEnv, "silent"))
             debug = GL_FALSE;
          else
             debug = GL_TRUE;
    #else
          if (debugEnv)
             debug = GL_TRUE;
          else
==>          debug = GL_FALSE;
    #endif

Is there some problem with writing to static variables defined in a
shlib ?

I also think that it is a bug in Firefox for it to be triggering this
assertion:

     ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, NULL);

It is within a call to glGetString(GL_VERSION) in glxtest().


Home | Main Index | Thread Index | Old Index