Mudlet / Mudlet

⚔️ A cross-platform, open source, and super fast MUD client with scripting in Lua
https://mudlet.org
GNU General Public License v2.0
723 stars 262 forks source link

Mudlet crashing due to TTextEdit::reportCodepointErrors() #6811

Closed theofficejackpot closed 1 month ago

theofficejackpot commented 1 year ago

Brief summary of issue / Description of requested feature:

Mudlet crashes completely.

Steps to reproduce the issue / Reasons for adding feature:

I can only reproduce this when I'm in a zone with about 10 other people with lots of group spam. I cannot crash when just me

Please just help me figure a way to drop into "debug mode" so I can see what line of code fires in my package before the crash! crash.txt

When running Mudlet on command line and it crashing, this is what I receive:

libc++abi: terminating with uncaught exception of type std::out_of_range: deque
zsh: abort      /Applications/mudlet.app/Contents/MacOS/mudlet
vadi2 commented 1 year ago

One way to do that would be to compile Mudlet: https://wiki.mudlet.org/w/Compiling_Mudlet#Compiling_on_macOS

You'll then be able to run it in debug mode to see what goes wrong.

theofficejackpot commented 1 year ago

Wonderful @vadi2 - I just got it all compiled. Now how to do run it in "debug" mode? Thanks!

theofficejackpot commented 1 year ago

Also, FYI, when I "close profile" Mudlet auto crashes. Here is the Apple crash report generated.

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               mudlet [38903]
Path:                  /Users/USER/*/mudlet.app/Contents/MacOS/mudlet
Identifier:            org.mudlet.mudlet
Version:               4.17.2 (4.17.2-dev)
Code Type:             X86-64 (Native)
Parent Process:        launchd [1]
User ID:               501

Date/Time:             2023-05-06 08:52:52.4316 -0400
OS Version:            macOS 13.2.1 (22D68)
Report Version:        12
Bridge OS Version:     7.2 (20P3045)
Anonymous UUID:        863D575D-D66F-5861-5D82-2515830105BF

Sleep/Wake UUID:       39C4D537-E101-4516-82FE-3AAD6B97B685

Time Awake Since Boot: 450000 seconds
Time Since Wake:       384820 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000014
Exception Codes:       0x0000000000000001, 0x0000000000000014

Termination Reason:    Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process:   exc handler [38903]

VM Region Info: 0x14 is not in any region.  Bytes before following region: 140737487060972
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->  
      shared memory            7fffffec4000-7fffffec5000 [    4K] r-x/r-x SM=SHM  

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   mudlet                                 0x10b76cddf QHash<unsigned int, std::__1::tuple<unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >::isEmpty() const + 15
1   mudlet                                 0x10b76c19f TTextEdit::reportCodepointErrors() + 63
2   mudlet                                 0x10b56bc59 TConsole::~TConsole() + 105
3   mudlet                                 0x10b56bdb5 TConsole::~TConsole() + 21
4   mudlet                                 0x10b56bdf9 TConsole::~TConsole() + 25
5   QtCore                                 0x10e89f3be QObject::event(QEvent*) + 798
6   QtWidgets                              0x10dbfbe3f QWidget::event(QEvent*) + 3487
7   QtWidgets                              0x10dbc01e6 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 262
8   QtWidgets                              0x10dbc1610 QApplication::notify(QObject*, QEvent*) + 480
9   QtCore                                 0x10e8780f6 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 166
10  QtCore                                 0x10e879072 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 386
11  libqcocoa.dylib                        0x10e3a37f8 0x10e364000 + 260088
12  libqcocoa.dylib                        0x10e3a3fd8 0x10e364000 + 262104
13  CoreFoundation                      0x7ff80659fb78 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
14  CoreFoundation                      0x7ff80659fb27 __CFRunLoopDoSource0 + 157
15  CoreFoundation                      0x7ff80659f961 __CFRunLoopDoSources0 + 308
16  CoreFoundation                      0x7ff80659e57b __CFRunLoopRun + 929
17  CoreFoundation                      0x7ff80659db60 CFRunLoopRunSpecific + 560
18  HIToolbox                           0x7ff80feeb766 RunCurrentEventLoopInMode + 292
19  HIToolbox                           0x7ff80feeb576 ReceiveNextEventCommon + 679
20  HIToolbox                           0x7ff80feeb2b3 _BlockUntilNextEventMatchingListInModeWithFilter + 70
21  AppKit                              0x7ff8096ee2f3 _DPSNextEvent + 909
22  AppKit                              0x7ff8096ed174 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1219
23  AppKit                              0x7ff8096df7b7 -[NSApplication run] + 586
24  libqcocoa.dylib                        0x10e3a2c2c 0x10e364000 + 257068
25  QtCore                                 0x10e874c16 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 502
26  QtCore                                 0x10e878692 QCoreApplication::exec() + 130
27  mudlet                                 0x10b468e75 main + 22069
28  dyld                                0x7ff806191310 start + 2432

Thread 1:: com.apple.NSEventThread
0   libsystem_kernel.dylib              0x7ff8064855c2 mach_msg2_trap + 10
1   libsystem_kernel.dylib              0x7ff806493604 mach_msg2_internal + 82
2   libsystem_kernel.dylib              0x7ff80648c635 mach_msg_overwrite + 723
3   libsystem_kernel.dylib              0x7ff8064858a8 mach_msg + 19
4   CoreFoundation                      0x7ff80659fcbe __CFRunLoopServiceMachPort + 145
5   CoreFoundation                      0x7ff80659e72a __CFRunLoopRun + 1360
6   CoreFoundation                      0x7ff80659db60 CFRunLoopRunSpecific + 560
7   AppKit                              0x7ff80984f179 _NSEventThread + 132
8   libsystem_pthread.dylib             0x7ff8064c4259 _pthread_start + 125
9   libsystem_pthread.dylib             0x7ff8064bfc7b thread_start + 15

Thread 2:: Qt bearer thread
0   libsystem_kernel.dylib              0x7ff80648c2d6 poll + 10
1   QtCore                                 0x10e8d4be3 qt_safe_poll(pollfd*, unsigned int, timespec const*) + 227
2   QtCore                                 0x10e8d63e8 QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 792
3   QtCore                                 0x10e874c16 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 502
4   QtCore                                 0x10e6c435c QThread::exec() + 140
5   QtCore                                 0x10e6c524f 0x10e6a1000 + 148047
6   libsystem_pthread.dylib             0x7ff8064c4259 _pthread_start + 125
7   libsystem_pthread.dylib             0x7ff8064bfc7b thread_start + 15

Thread 3:: com.apple.CFSocket.private
0   libsystem_kernel.dylib              0x7ff80648e2da __select + 10
1   CoreFoundation                      0x7ff8065c749a __CFSocketManager + 643
2   libsystem_pthread.dylib             0x7ff8064c4259 _pthread_start + 125
3   libsystem_pthread.dylib             0x7ff8064bfc7b thread_start + 15

Thread 4:
0   libsystem_pthread.dylib             0x7ff8064bfc58 start_wqthread + 0

Thread 5:
0   libsystem_pthread.dylib             0x7ff8064bfc58 start_wqthread + 0

Thread 6:
0   libsystem_pthread.dylib             0x7ff8064bfc58 start_wqthread + 0

Thread 7:
0   libsystem_pthread.dylib             0x7ff8064bfc58 start_wqthread + 0

Thread 8:: Thread (pooled)
0   libsystem_kernel.dylib              0x7ff80648811a __psynch_cvwait + 10
1   libsystem_pthread.dylib             0x7ff8064c47e1 _pthread_cond_wait + 1243
2   QtCore                                 0x10e6cd1fb 0x10e6a1000 + 180731
3   QtCore                                 0x10e6ccf0e 0x10e6a1000 + 179982
4   QtCore                                 0x10e6cce63 QWaitCondition::wait(QMutex*, QDeadlineTimer) + 83
5   QtCore                                 0x10e6c971d 0x10e6a1000 + 165661
6   QtCore                                 0x10e6c524f 0x10e6a1000 + 148047
7   libsystem_pthread.dylib             0x7ff8064c4259 _pthread_start + 125
8   libsystem_pthread.dylib             0x7ff8064bfc7b thread_start + 15

Thread 9:: Thread (pooled)
0   libsystem_kernel.dylib              0x7ff80648811a __psynch_cvwait + 10
1   libsystem_pthread.dylib             0x7ff8064c47e1 _pthread_cond_wait + 1243
2   QtCore                                 0x10e6cd1fb 0x10e6a1000 + 180731
3   QtCore                                 0x10e6ccf0e 0x10e6a1000 + 179982
4   QtCore                                 0x10e6cce63 QWaitCondition::wait(QMutex*, QDeadlineTimer) + 83
5   QtCore                                 0x10e6c971d 0x10e6a1000 + 165661
6   QtCore                                 0x10e6c524f 0x10e6a1000 + 148047
7   libsystem_pthread.dylib             0x7ff8064c4259 _pthread_start + 125
8   libsystem_pthread.dylib             0x7ff8064bfc7b thread_start + 15

Thread 10:: Thread (pooled)
0   libsystem_kernel.dylib              0x7ff80648811a __psynch_cvwait + 10
1   libsystem_pthread.dylib             0x7ff8064c47e1 _pthread_cond_wait + 1243
2   QtCore                                 0x10e6cd1fb 0x10e6a1000 + 180731
3   QtCore                                 0x10e6ccf0e 0x10e6a1000 + 179982
4   QtCore                                 0x10e6cce63 QWaitCondition::wait(QMutex*, QDeadlineTimer) + 83
5   QtCore                                 0x10e6c971d 0x10e6a1000 + 165661
6   QtCore                                 0x10e6c524f 0x10e6a1000 + 148047
7   libsystem_pthread.dylib             0x7ff8064c4259 _pthread_start + 125
8   libsystem_pthread.dylib             0x7ff8064bfc7b thread_start + 15

Thread 11:: Thread (pooled)
0   libsystem_kernel.dylib              0x7ff80648811a __psynch_cvwait + 10
1   libsystem_pthread.dylib             0x7ff8064c47e1 _pthread_cond_wait + 1243
2   QtCore                                 0x10e6cd1fb 0x10e6a1000 + 180731
3   QtCore                                 0x10e6ccf0e 0x10e6a1000 + 179982
4   QtCore                                 0x10e6cce63 QWaitCondition::wait(QMutex*, QDeadlineTimer) + 83
5   QtCore                                 0x10e6c971d 0x10e6a1000 + 165661
6   QtCore                                 0x10e6c524f 0x10e6a1000 + 148047
7   libsystem_pthread.dylib             0x7ff8064c4259 _pthread_start + 125
8   libsystem_pthread.dylib             0x7ff8064bfc7b thread_start + 15

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000600007bb3580  rcx: 0x0000000000000020  rdx: 0x000000010e89f470
  rdi: 0x00007fafdedb7b00  rsi: 0x0000000000000020  rbp: 0x00007ff7b4d8a010  rsp: 0x00007ff7b4d8a010
   r8: 0x0000000000000200   r9: 0x00000000000001ff  r10: 0x00000000000035a0  r11: 0x0000600007dfecec
  r12: 0x00007fafdedb4b70  r13: 0x00007fafd9afcc00  r14: 0x0000600007bb3501  r15: 0x00007fafd9afcc00
  rip: 0x000000010b76cddf  rfl: 0x0000000000010206  cr2: 0x0000000000000014

Logical CPU:     4
Error Code:      0x00000004 (no mapping for user data read)
Trap Number:     14

Thread 0 instruction stream:
  e8 36 b6 24 00 48 8d 7d-f0 e8 b3 ae fc ff e9 26  .6.$.H.}.......&
  00 00 00 48 89 c1 89 d0-48 89 4d e0 89 45 dc 48  ...H....H.M..E.H
  8d bd a0 fd ff ff e8 10-b6 24 00 48 8d 7d f0 e8  .........$.H.}..
  8d ae fc ff e9 09 00 00-00 48 81 c4 80 03 00 00  .........H......
  5d c3 48 8b 7d e0 e8 42-37 24 00 66 0f 1f 44 00  ].H.}..B7$.f..D.
  00 55 48 89 e5 48 89 7d-f8 48 8b 45 f8 48 8b 00  .UH..H.}.H.E.H..
 [83]78 14 00 0f 94 c0 24-01 0f b6 c0 5d c3 0f 1f  .x.....$....]... <==
  00 55 48 89 e5 48 81 ec-80 00 00 00 48 89 7d a8  .UH..H......H.}.
  48 89 f8 48 89 45 b0 48-89 7d f8 48 89 75 f0 48  H..H.E.H.}.H.u.H
  8b 45 f0 48 89 45 b8 c6-45 ef 00 e8 11 17 a2 ff  .E.H.E..E.......
  48 8b 7d b8 e8 fc 2f 25-00 89 45 c4 e9 00 00 00  H.}.../%..E.....
  00 8b 75 c4 48 8b 7d a8-e8 88 ab 24 00 e9 00 00  ..u.H.}....$....

Binary Images:
       0x10b172000 -        0x10ca4dfff org.mudlet.mudlet (4.17.2) <301fd768-731e-3011-83c3-2ebbd5b3ec2e> /Users/USER/*/mudlet.app/Contents/MacOS/mudlet
       0x10e6a1000 -        0x10eb28fff org.qt-project.QtCore (5.15) <e43643ba-bafa-3837-9975-6adf59edcab5> /usr/local/Cellar/qt@5/5.15.8_3/lib/QtCore.framework/Versions/5/QtCore
       0x10dbad000 -        0x10dfecfff org.qt-project.QtWidgets (5.15) <5a51c79c-e39a-30f1-acd3-90874e81a284> /usr/local/Cellar/qt@5/5.15.8_3/lib/QtWidgets.framework/Versions/5/QtWidgets
       0x10e364000 -        0x10e413fff libqcocoa.dylib (*) <f4fcdf25-6f52-32a4-9850-c4a006195852> /usr/local/Cellar/qt@5/5.15.8_3/plugins/platforms/libqcocoa.dylib
    0x7ff806520000 -     0x7ff8069b9fef com.apple.CoreFoundation (6.9) <c2615780-0140-315c-a455-7e03bb22d3d6> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7ff80febc000 -     0x7ff8101b3ffd com.apple.HIToolbox (2.1.1) <7bf47984-29cb-319e-a6da-0884d158f96a> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
    0x7ff8096b0000 -     0x7ff80a6b8ff2 com.apple.AppKit (6.9) <540cedfd-5a35-3f35-8953-dcb7c4834eb5> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
    0x7ff80618b000 -     0x7ff80621fcaf dyld (*) <bba77709-6cad-3592-ab03-09d0f7b8610e> /usr/lib/dyld
    0x7ff806484000 -     0x7ff8064bdff7 libsystem_kernel.dylib (*) <87ff381c-4d30-3087-bab7-a5a53d232c00> /usr/lib/system/libsystem_kernel.dylib
    0x7ff8064be000 -     0x7ff8064c9ff7 libsystem_pthread.dylib (*) <3bd433d4-15bd-3add-a612-95e4d3b20719> /usr/lib/system/libsystem_pthread.dylib
               0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=628.1M resident=0K(0%) swapped_out_or_unallocated=628.1M(100%)
Writable regions: Total=702.0M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=702.0M(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Accelerate framework               256K        2 
Activity Tracing                   256K        1 
CG backing stores                 2160K        4 
CG image                          1256K       24 
ColorSync                          244K       28 
CoreAnimation                     4364K       27 
CoreGraphics                        12K        2 
CoreUI image data                 4120K       29 
Foundation                          16K        1 
Kernel Alloc Once                    8K        1 
MALLOC                           423.8M      176 
MALLOC guard page                   32K        8 
MALLOC_NANO (reserved)           256.0M        1         reserved VM address space (unallocated)
STACK GUARD                       56.0M       12 
Stack                             13.6M       12 
VM_ALLOCATE                        168K       22 
__CTF                               756        1 
__DATA                            25.2M      449 
__DATA_CONST                      21.1M      249 
__DATA_DIRTY                       870K      128 
__FONT_DATA                        2352        1 
__LINKEDIT                       193.5M       54 
__OBJC_RO                         65.5M        1 
__OBJC_RW                         1989K        1 
__TEXT                           434.7M      472 
dyld private memory                576K        3 
mapped file                      517.3M       90 
shared memory                      808K       25 
===========                     =======  ======= 
TOTAL                              2.0G     1824 
TOTAL, minus reserved VM space     1.7G     1824 

-----------
Full Report
-----------

{"app_name":"mudlet","timestamp":"2023-05-06 08:52:55.00 -0400","app_version":"4.17.2","slice_uuid":"301fd768-731e-3011-83c3-2ebbd5b3ec2e","build_version":"4.17.2-dev","platform":1,"bundleID":"org.mudlet.mudlet","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 13.2.1 (22D68)","roots_installed":0,"name":"mudlet","incident_id":"EDFF9C0B-CCFF-4B03-98D1-B1A3DD45ACA8"}
{
  "uptime" : 450000,
  "procRole" : "Foreground",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "MacBookPro16,2",
  "coalitionID" : 7423,
  "osVersion" : {
    "train" : "macOS 13.2.1",
    "build" : "22D68",
    "releaseType" : "User"
  },
  "captureTime" : "2023-05-06 08:52:52.4316 -0400",
  "incident" : "EDFF9C0B-CCFF-4B03-98D1-B1A3DD45ACA8",
  "pid" : 38903,
  "cpuType" : "X86-64",
  "roots_installed" : 0,
  "bug_type" : "309",
  "procLaunch" : "2023-05-06 08:51:25.0250 -0400",
  "procStartAbsTime" : 452210543066229,
  "procExitAbsTime" : 452297948336984,
  "procName" : "mudlet",
  "procPath" : "\/Users\/USER\/*\/mudlet.app\/Contents\/MacOS\/mudlet",
  "bundleInfo" : {"CFBundleShortVersionString":"4.17.2","CFBundleVersion":"4.17.2-dev","CFBundleIdentifier":"org.mudlet.mudlet"},
  "storeInfo" : {"deviceIdentifierForVendor":"452DA12F-FEC3-5058-A29A-8D4B55F0967E","thirdParty":true},
  "parentProc" : "launchd",
  "parentPid" : 1,
  "coalitionName" : "org.mudlet.mudlet",
  "crashReporterKey" : "863D575D-D66F-5861-5D82-2515830105BF",
  "throttleTimeout" : 2147483647,
  "wakeTime" : 384820,
  "bridgeVersion" : {"build":"20P3045","train":"7.2"},
  "sleepWakeUUID" : "39C4D537-E101-4516-82FE-3AAD6B97B685",
  "sip" : "enabled",
  "vmRegionInfo" : "0x14 is not in any region.  Bytes before following region: 140737487060972\n      REGION TYPE                    START - END         [ VSIZE] PRT\/MAX SHRMOD  REGION DETAIL\n      UNUSED SPACE AT START\n--->  \n      shared memory            7fffffec4000-7fffffec5000 [    4K] r-x\/r-x SM=SHM  ",
  "exception" : {"codes":"0x0000000000000001, 0x0000000000000014","rawCodes":[1,20],"type":"EXC_BAD_ACCESS","signal":"SIGSEGV","subtype":"KERN_INVALID_ADDRESS at 0x0000000000000014"},
  "termination" : {"flags":0,"code":11,"namespace":"SIGNAL","indicator":"Segmentation fault: 11","byProc":"exc handler","byPid":38903},
  "vmregioninfo" : "0x14 is not in any region.  Bytes before following region: 140737487060972\n      REGION TYPE                    START - END         [ VSIZE] PRT\/MAX SHRMOD  REGION DETAIL\n      UNUSED SPACE AT START\n--->  \n      shared memory            7fffffec4000-7fffffec5000 [    4K] r-x\/r-x SM=SHM  ",
  "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
  "faultingThread" : 0,
  "threads" : [{"triggered":true,"id":2051853,"instructionState":{"instructionStream":{"bytes":[232,54,182,36,0,72,141,125,240,232,179,174,252,255,233,38,0,0,0,72,137,193,137,208,72,137,77,224,137,69,220,72,141,189,160,253,255,255,232,16,182,36,0,72,141,125,240,232,141,174,252,255,233,9,0,0,0,72,129,196,128,3,0,0,93,195,72,139,125,224,232,66,55,36,0,102,15,31,68,0,0,85,72,137,229,72,137,125,248,72,139,69,248,72,139,0,131,120,20,0,15,148,192,36,1,15,182,192,93,195,15,31,0,85,72,137,229,72,129,236,128,0,0,0,72,137,125,168,72,137,248,72,137,69,176,72,137,125,248,72,137,117,240,72,139,69,240,72,137,69,184,198,69,239,0,232,17,23,162,255,72,139,125,184,232,252,47,37,0,137,69,196,233,0,0,0,0,139,117,196,72,139,125,168,232,136,171,36,0,233,0,0],"offset":96}},"threadState":{"r13":{"value":140393248181248},"rax":{"value":0},"rflags":{"value":66054},"cpu":{"value":4},"r14":{"value":105553245975809},"rsi":{"value":32},"r8":{"value":512},"cr2":{"value":20},"rdx":{"value":4538889328,"symbolLocation":976,"symbol":"QObject::event(QEvent*)"},"r10":{"value":13728},"r9":{"value":511},"r15":{"value":140393248181248},"rbx":{"value":105553245975936},"trap":{"value":14,"description":"(no mapping for user data read)"},"err":{"value":4},"r11":{"value":105553248382188},"rip":{"value":4487302623,"matchesCrashFrame":1},"rbp":{"value":140701867745296},"rsp":{"value":140701867745296},"r12":{"value":140393334918000},"rcx":{"value":32},"flavor":"x86_THREAD_STATE","rdi":{"value":140393334930176}},"queue":"com.apple.main-thread","frames":[{"imageOffset":6270431,"symbol":"QHash<unsigned int, std::__1::tuple<unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >::isEmpty() const","symbolLocation":15,"imageIndex":0},{"imageOffset":6267295,"symbol":"TTextEdit::reportCodepointErrors()","symbolLocation":63,"imageIndex":0},{"imageOffset":4168793,"symbol":"TConsole::~TConsole()","symbolLocation":105,"imageIndex":0},{"imageOffset":4169141,"symbol":"TConsole::~TConsole()","symbolLocation":21,"imageIndex":0},{"imageOffset":4169209,"symbol":"TConsole::~TConsole()","symbolLocation":25,"imageIndex":0},{"imageOffset":2089918,"symbol":"QObject::event(QEvent*)","symbolLocation":798,"imageIndex":1},{"imageOffset":323135,"symbol":"QWidget::event(QEvent*)","symbolLocation":3487,"imageIndex":2},{"imageOffset":78310,"symbol":"QApplicationPrivate::notify_helper(QObject*, QEvent*)","symbolLocation":262,"imageIndex":2},{"imageOffset":83472,"symbol":"QApplication::notify(QObject*, QEvent*)","symbolLocation":480,"imageIndex":2},{"imageOffset":1929462,"symbol":"QCoreApplication::notifyInternal2(QObject*, QEvent*)","symbolLocation":166,"imageIndex":1},{"imageOffset":1933426,"symbol":"QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)","symbolLocation":386,"imageIndex":1},{"imageOffset":260088,"imageIndex":3},{"imageOffset":262104,"imageIndex":3},{"imageOffset":523128,"symbol":"__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__","symbolLocation":17,"imageIndex":4},{"imageOffset":523047,"symbol":"__CFRunLoopDoSource0","symbolLocation":157,"imageIndex":4},{"imageOffset":522593,"symbol":"__CFRunLoopDoSources0","symbolLocation":308,"imageIndex":4},{"imageOffset":517499,"symbol":"__CFRunLoopRun","symbolLocation":929,"imageIndex":4},{"imageOffset":514912,"symbol":"CFRunLoopRunSpecific","symbolLocation":560,"imageIndex":4},{"imageOffset":194406,"symbol":"RunCurrentEventLoopInMode","symbolLocation":292,"imageIndex":5},{"imageOffset":193910,"symbol":"ReceiveNextEventCommon","symbolLocation":679,"imageIndex":5},{"imageOffset":193203,"symbol":"_BlockUntilNextEventMatchingListInModeWithFilter","symbolLocation":70,"imageIndex":5},{"imageOffset":254707,"symbol":"_DPSNextEvent","symbolLocation":909,"imageIndex":6},{"imageOffset":250228,"symbol":"-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]","symbolLocation":1219,"imageIndex":6},{"imageOffset":194487,"symbol":"-[NSApplication run]","symbolLocation":586,"imageIndex":6},{"imageOffset":257068,"imageIndex":3},{"imageOffset":1915926,"symbol":"QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)","symbolLocation":502,"imageIndex":1},{"imageOffset":1930898,"symbol":"QCoreApplication::exec()","symbolLocation":130,"imageIndex":1},{"imageOffset":3108469,"symbol":"main","symbolLocation":22069,"imageIndex":0},{"imageOffset":25360,"symbol":"start","symbolLocation":2432,"imageIndex":7}]},{"id":2051979,"name":"com.apple.NSEventThread","frames":[{"imageOffset":5570,"symbol":"mach_msg2_trap","symbolLocation":10,"imageIndex":8},{"imageOffset":62980,"symbol":"mach_msg2_internal","symbolLocation":82,"imageIndex":8},{"imageOffset":34357,"symbol":"mach_msg_overwrite","symbolLocation":723,"imageIndex":8},{"imageOffset":6312,"symbol":"mach_msg","symbolLocation":19,"imageIndex":8},{"imageOffset":523454,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":145,"imageIndex":4},{"imageOffset":517930,"symbol":"__CFRunLoopRun","symbolLocation":1360,"imageIndex":4},{"imageOffset":514912,"symbol":"CFRunLoopRunSpecific","symbolLocation":560,"imageIndex":4},{"imageOffset":1700217,"symbol":"_NSEventThread","symbolLocation":132,"imageIndex":6},{"imageOffset":25177,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":9},{"imageOffset":7291,"symbol":"thread_start","symbolLocation":15,"imageIndex":9}]},{"id":2051997,"name":"Qt bearer thread","frames":[{"imageOffset":33494,"symbol":"poll","symbolLocation":10,"imageIndex":8},{"imageOffset":2309091,"symbol":"qt_safe_poll(pollfd*, unsigned int, timespec const*)","symbolLocation":227,"imageIndex":1},{"imageOffset":2315240,"symbol":"QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)","symbolLocation":792,"imageIndex":1},{"imageOffset":1915926,"symbol":"QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)","symbolLocation":502,"imageIndex":1},{"imageOffset":144220,"symbol":"QThread::exec()","symbolLocation":140,"imageIndex":1},{"imageOffset":148047,"imageIndex":1},{"imageOffset":25177,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":9},{"imageOffset":7291,"symbol":"thread_start","symbolLocation":15,"imageIndex":9}]},{"id":2052992,"name":"com.apple.CFSocket.private","frames":[{"imageOffset":41690,"symbol":"__select","symbolLocation":10,"imageIndex":8},{"imageOffset":685210,"symbol":"__CFSocketManager","symbolLocation":643,"imageIndex":4},{"imageOffset":25177,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":9},{"imageOffset":7291,"symbol":"thread_start","symbolLocation":15,"imageIndex":9}]},{"id":2053342,"frames":[{"imageOffset":7256,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":9}]},{"id":2053937,"frames":[{"imageOffset":7256,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":9}]},{"id":2054026,"frames":[{"imageOffset":7256,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":9}]},{"id":2054038,"frames":[{"imageOffset":7256,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":9}]},{"id":2054092,"name":"Thread (pooled)","frames":[{"imageOffset":16666,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":8},{"imageOffset":26593,"symbol":"_pthread_cond_wait","symbolLocation":1243,"imageIndex":9},{"imageOffset":180731,"imageIndex":1},{"imageOffset":179982,"imageIndex":1},{"imageOffset":179811,"symbol":"QWaitCondition::wait(QMutex*, QDeadlineTimer)","symbolLocation":83,"imageIndex":1},{"imageOffset":165661,"imageIndex":1},{"imageOffset":148047,"imageIndex":1},{"imageOffset":25177,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":9},{"imageOffset":7291,"symbol":"thread_start","symbolLocation":15,"imageIndex":9}]},{"id":2054093,"name":"Thread (pooled)","frames":[{"imageOffset":16666,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":8},{"imageOffset":26593,"symbol":"_pthread_cond_wait","symbolLocation":1243,"imageIndex":9},{"imageOffset":180731,"imageIndex":1},{"imageOffset":179982,"imageIndex":1},{"imageOffset":179811,"symbol":"QWaitCondition::wait(QMutex*, QDeadlineTimer)","symbolLocation":83,"imageIndex":1},{"imageOffset":165661,"imageIndex":1},{"imageOffset":148047,"imageIndex":1},{"imageOffset":25177,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":9},{"imageOffset":7291,"symbol":"thread_start","symbolLocation":15,"imageIndex":9}]},{"id":2054098,"name":"Thread (pooled)","frames":[{"imageOffset":16666,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":8},{"imageOffset":26593,"symbol":"_pthread_cond_wait","symbolLocation":1243,"imageIndex":9},{"imageOffset":180731,"imageIndex":1},{"imageOffset":179982,"imageIndex":1},{"imageOffset":179811,"symbol":"QWaitCondition::wait(QMutex*, QDeadlineTimer)","symbolLocation":83,"imageIndex":1},{"imageOffset":165661,"imageIndex":1},{"imageOffset":148047,"imageIndex":1},{"imageOffset":25177,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":9},{"imageOffset":7291,"symbol":"thread_start","symbolLocation":15,"imageIndex":9}]},{"id":2054099,"name":"Thread (pooled)","frames":[{"imageOffset":16666,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":8},{"imageOffset":26593,"symbol":"_pthread_cond_wait","symbolLocation":1243,"imageIndex":9},{"imageOffset":180731,"imageIndex":1},{"imageOffset":179982,"imageIndex":1},{"imageOffset":179811,"symbol":"QWaitCondition::wait(QMutex*, QDeadlineTimer)","symbolLocation":83,"imageIndex":1},{"imageOffset":165661,"imageIndex":1},{"imageOffset":148047,"imageIndex":1},{"imageOffset":25177,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":9},{"imageOffset":7291,"symbol":"thread_start","symbolLocation":15,"imageIndex":9}]}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4481032192,
    "CFBundleShortVersionString" : "4.17.2",
    "CFBundleIdentifier" : "org.mudlet.mudlet",
    "size" : 26066944,
    "uuid" : "301fd768-731e-3011-83c3-2ebbd5b3ec2e",
    "path" : "\/Users\/USER\/*\/mudlet.app\/Contents\/MacOS\/mudlet",
    "name" : "mudlet",
    "CFBundleVersion" : "4.17.2-dev"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4536799232,
    "CFBundleShortVersionString" : "5.15",
    "CFBundleIdentifier" : "org.qt-project.QtCore",
    "size" : 4751360,
    "uuid" : "e43643ba-bafa-3837-9975-6adf59edcab5",
    "path" : "\/usr\/local\/Cellar\/qt@5\/5.15.8_3\/lib\/QtCore.framework\/Versions\/5\/QtCore",
    "name" : "QtCore",
    "CFBundleVersion" : "5.15.8"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4525314048,
    "CFBundleShortVersionString" : "5.15",
    "CFBundleIdentifier" : "org.qt-project.QtWidgets",
    "size" : 4456448,
    "uuid" : "5a51c79c-e39a-30f1-acd3-90874e81a284",
    "path" : "\/usr\/local\/Cellar\/qt@5\/5.15.8_3\/lib\/QtWidgets.framework\/Versions\/5\/QtWidgets",
    "name" : "QtWidgets",
    "CFBundleVersion" : "5.15.8"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4533403648,
    "size" : 720896,
    "uuid" : "f4fcdf25-6f52-32a4-9850-c4a006195852",
    "path" : "\/usr\/local\/Cellar\/qt@5\/5.15.8_3\/plugins\/platforms\/libqcocoa.dylib",
    "name" : "libqcocoa.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64h",
    "base" : 140703234654208,
    "CFBundleShortVersionString" : "6.9",
    "CFBundleIdentifier" : "com.apple.CoreFoundation",
    "size" : 4825072,
    "uuid" : "c2615780-0140-315c-a455-7e03bb22d3d6",
    "path" : "\/System\/Library\/Frameworks\/CoreFoundation.framework\/Versions\/A\/CoreFoundation",
    "name" : "CoreFoundation",
    "CFBundleVersion" : "1953.300"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703395725312,
    "CFBundleShortVersionString" : "2.1.1",
    "CFBundleIdentifier" : "com.apple.HIToolbox",
    "size" : 3112958,
    "uuid" : "7bf47984-29cb-319e-a6da-0884d158f96a",
    "path" : "\/System\/Library\/Frameworks\/Carbon.framework\/Versions\/A\/Frameworks\/HIToolbox.framework\/Versions\/A\/HIToolbox",
    "name" : "HIToolbox"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703286624256,
    "CFBundleShortVersionString" : "6.9",
    "CFBundleIdentifier" : "com.apple.AppKit",
    "size" : 16814067,
    "uuid" : "540cedfd-5a35-3f35-8953-dcb7c4834eb5",
    "path" : "\/System\/Library\/Frameworks\/AppKit.framework\/Versions\/C\/AppKit",
    "name" : "AppKit",
    "CFBundleVersion" : "2299.40.118"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703230898176,
    "size" : 609456,
    "uuid" : "bba77709-6cad-3592-ab03-09d0f7b8610e",
    "path" : "\/usr\/lib\/dyld",
    "name" : "dyld"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703234015232,
    "size" : 237560,
    "uuid" : "87ff381c-4d30-3087-bab7-a5a53d232c00",
    "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib",
    "name" : "libsystem_kernel.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703234252800,
    "size" : 49144,
    "uuid" : "3bd433d4-15bd-3add-a612-95e4d3b20719",
    "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
    "name" : "libsystem_pthread.dylib"
  },
  {
    "size" : 0,
    "source" : "A",
    "base" : 0,
    "uuid" : "00000000-0000-0000-0000-000000000000"
  }
],
  "sharedCache" : {
  "base" : 140703230291968,
  "size" : 21474836480,
  "uuid" : "57815a20-af2c-3b56-9006-23abde7962b0"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=628.1M resident=0K(0%) swapped_out_or_unallocated=628.1M(100%)\nWritable regions: Total=702.0M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=702.0M(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nAccelerate framework               256K        2 \nActivity Tracing                   256K        1 \nCG backing stores                 2160K        4 \nCG image                          1256K       24 \nColorSync                          244K       28 \nCoreAnimation                     4364K       27 \nCoreGraphics                        12K        2 \nCoreUI image data                 4120K       29 \nFoundation                          16K        1 \nKernel Alloc Once                    8K        1 \nMALLOC                           423.8M      176 \nMALLOC guard page                   32K        8 \nMALLOC_NANO (reserved)           256.0M        1         reserved VM address space (unallocated)\nSTACK GUARD                       56.0M       12 \nStack                             13.6M       12 \nVM_ALLOCATE                        168K       22 \n__CTF                               756        1 \n__DATA                            25.2M      449 \n__DATA_CONST                      21.1M      249 \n__DATA_DIRTY                       870K      128 \n__FONT_DATA                        2352        1 \n__LINKEDIT                       193.5M       54 \n__OBJC_RO                         65.5M        1 \n__OBJC_RW                         1989K        1 \n__TEXT                           434.7M      472 \ndyld private memory                576K        3 \nmapped file                      517.3M       90 \nshared memory                      808K       25 \n===========                     =======  ======= \nTOTAL                              2.0G     1824 \nTOTAL, minus reserved VM space     1.7G     1824 \n",
  "legacyInfo" : {
  "threadTriggered" : {
    "queue" : "com.apple.main-thread"
  }
},
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "63582c5f8a53461413999550",
      "factorPackIds" : {

      },
      "deploymentId" : 240000002
    },
    {
      "rolloutId" : "6297d96be2c9387df974efa4",
      "factorPackIds" : {

      },
      "deploymentId" : 240000008
    }
  ],
  "experiments" : [

  ]
}
}

Model: MacBookPro16,2, BootROM 1916.80.2.0.0 (iBridge: 20.16.3045.0.0,0), 4 processors, Quad-Core Intel Core i7, 2.3 GHz, 16 GB, SMC 
Graphics: Intel Iris Plus Graphics, Intel Iris Plus Graphics, Built-In
Display: Color LCD, 2560 x 1600 Retina, Main, MirrorOff, Online
Memory Module: BANK 0/ChannelA-DIMM0, 8 GB, LPDDR4X, 3733 MHz, Samsung, K4UBE3D4AA-MGCL
Memory Module: BANK 2/ChannelB-DIMM0, 8 GB, LPDDR4X, 3733 MHz, Samsung, K4UBE3D4AA-MGCL
AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x7BF), wl0: Dec  1 2022 17:36:56 version 9.30.489.6.32.5.85 FWID 01-23419ed2
Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB31Bus
USB Device: USB31Bus
USB Device: T2Bus
USB Device: Touch Bar Backlight
USB Device: Touch Bar Display
USB Device: Apple Internal Keyboard / Trackpad
USB Device: Headset
USB Device: Ambient Light Sensor
USB Device: FaceTime HD Camera (Built-in)
USB Device: Apple T2 Controller
Thunderbolt Bus: MacBook Pro, Apple Inc., 86.0
Thunderbolt Bus: MacBook Pro, Apple Inc., 86.0
vadi2 commented 1 year ago

Hmm, what's happening to you is not happening with anyone else that I know of, and a lot of people use macs to play Mudlet. I recommend running diagnostics: both https://support.apple.com/en-us/HT202731 and https://www.makeuseof.com/tag/check-memory-mac. Do both come back clean?

theofficejackpot commented 1 year ago

Yes, I rebooted holding down D and it says No issues found ADP00... so how do I get the compiled mudlet into debugging mode?

SlySven commented 1 year ago

Actually your 3rd message gives a clue - because it identified the lowest bit in the back-trace that identified a problem occurred in the mudlet part of executable from this line:

1   mudlet                                 0x10b76c19f TTextEdit::reportCodepointErrors() + 63

which refers to this method:

// Originally this was going to be part of the destructor - but it was unable
// to get the parent Console and Profile names at that point:
void TTextEdit::reportCodepointErrors()
{
    if (mIsLowerPane) {
        return;
    }

    if (!mProblemCodepoints.isEmpty()) {
        QList<uint> keyList{mProblemCodepoints.keys()};
        std::sort(keyList.begin(), keyList.end());
        qDebug().nospace().noquote() << "TTextEdit INFO - during the use of TTextEdit::getGraphemeWidth(...) for the \n"
                                     << "    \"" << mpConsole->mConsoleName << "\" console for the \"" << mpConsole->mProfileName << "\" profile\n"
                                     << "    the following awkward Unicode codepoints were detected with the frequency\n"
                                        "    indicated. Note that this does not precisely reflect how many times they\n"
                                        "    were seen in the MUD Game server output but instead how many times they\n"
                                        "    had to be redrawn so also depends on how much scrolling around was done.\n"
                                        "    Nevertheless the higher the number the more desirable to eliminate them\n"
                                        "    (if possible) it would be.\n"
                                        "    You may wish to consult with the Mudlet Makers via any of our support\n"
                                        "    channels to see if these problems are known about and can be fixed:\n";
        qDebug().nospace().noquote() << qsl("%1 %2 %3").arg(qsl("    Codepoint (Hex)")).arg(qsl("Count"), 7).arg(qsl("Reason"), -7);
        for (int i = 0, total = mProblemCodepoints.count(); i < total; ++i) {
            const auto key = keyList.at(i);
            const auto [count, reason] = mProblemCodepoints.value(key);
            if (key <= 0xffff) {
                // Within the BMP:
                qDebug().nospace().noquote() << qsl("             U+%1 %2 %3").arg(key, 4, 16, QLatin1Char('0')).arg(count, 7).arg(reason.c_str());
            } else {
                // Beyond the BMP:
                qDebug().nospace().noquote() << qsl("           U+%1 %2 %3").arg(key, 6, 16, QLatin1Char('0')).arg(count, 7).arg(reason.c_str());
            }
        }
        // Needed to put a blank line after the last entry:
        qDebug().nospace().noquote() << " ";
    }
}

OTOH That isn't accessing the TBuffer class - which contains our only use of the std::deque<T> type so things are a little less clear than I thought.

theofficejackpot commented 1 year ago

thanks for the response! how do I get the compiled mudlet into debugging mode to get more info? I still crash every few minutes on 4.17.2 compiled on macOS with my code in a 15+ man group :)

vadi2 commented 2 months ago

@theofficejackpot sorry for the wait, check out https://wiki.mudlet.org/w/Compiling_Mudlet

vadi2 commented 1 month ago

We have another crash happening with the TTextEdit::reportCodepointErrors() errors, this time due to several profiles being open:

Since updating to 4.18.1, and still happening on 4.18.2 on my Macbook Pro M2 running OS 14.5: If I open several profiles at once in a single mudlet window, then close any one of them with the [x] button for that profile tab. The whole app crashes every time

message.txt

https://discord.com/channels/283581582550237184/1260071395279503381/1260113000778567723

vadi2 commented 1 month ago

This is an issue affecting a few people now and the fix is unfortunately not that clear. At the same time, I looked around github / discord and haven't seen that many cases where these reports actually resulted in an actionable outcome in the last 5 years they have been around.

The result is that it seems to be causing problems (crashes and sometimes confusion, because players don't know what should this mean) without the benefit to make up for it. I'll move this into a compile-time option so the feature is still there but is on an opt-in basis for the experienced few who can work with it.