Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-49502

Crash in QBasicMutex::unlockInternal on exit

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Not Evaluated
    • Resolution: Duplicate
    • Affects Version/s: 5.3.0
    • Fix Version/s: 5.5.1
    • Component/s: Core: Threads
    • Labels:
      None
    • Environment:
      Mac OS X 10.5.5
      32-bit build
    • Commits:
      314c83c0c2f91532654f869b7dc6af1b7e8538da

      Description

      We experience the occasional crash on exit on a background thread (the QQmlThread) with the following typical stack trace:

      Thread 3 Crashed:: QQmlThread
      0   QtCore                        	0x0366fd9c QBasicMutex::unlockInternal() + 460
      1   QtCore                        	0x0366f4bd QMutex::unlock() + 45
      2   QtCore                        	0x036773f9 QThreadPrivate::finish(void*) + 281
      3   QtCore                        	0x0367718f QThreadPrivate::start(void*) + 383
      4   libsystem_pthread.dylib       	0x985dcc25 _pthread_body + 138
      5   libsystem_pthread.dylib       	0x985dcb9b _pthread_start + 162
      6   libsystem_pthread.dylib       	0x985d9e32 thread_start + 34
      

      Another view (with disassembly):

      Thread[3] EXC_BAD_ACCESS (SIGSEGV) (KERN_INVALID_ADDRESS at 0x0000000000000000)
      [  0] 0x0000000003600d9c QtCore`QBasicMutex::unlockInternal() + 460
      
           0x0000000003600d94:       jl 0x2bd80              ; QBasicMutex::unlockInternal() + 432
           0x0000000003600d96:      jmp 0x2bd9c              ; QBasicMutex::unlockInternal() + 460
           0x0000000003600d98:     movl %edi, %esi
           0x0000000003600d9a:     movl %ebx, %edx
       ->  0x0000000003600d9c:     movl (%ecx,%edx,4), %eax
           0x0000000003600d9f:    imull $0x1c, %esi, %edx
           0x0000000003600da2:     leal 0x18(%eax,%edx), %esi
           0x0000000003600da6:     movl -0x1c(%ebp), %edi
           0x0000000003600da9:     nopl (%eax)
      
      [  1] 0x00000000036004bc QtCore`QMutex::unlock() + 44
      [  2] 0x00000000036083f8 QtCore`QThreadPrivate::finish(void*) + 280
      [  3] 0x000000000360818e QtCore`QThreadPrivate::start(void*) + 382
      [  4] 0x000000009a3aac25 _pthread_body + 138
      [  5] 0x000000009a3aab9b _pthread_start + 162
      [  6] 0x000000009a3a7e32 thread_start + 34
      

        Attachments

          Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Activity

              People

              Assignee:
              thiago Thiago Macieira
              Reporter:
              dan.erik.petersen Dan Erik Petersen
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes