Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Double free in tls_release_read_buffer() #24427

Open
andy-maier opened this issue May 17, 2024 · 4 comments
Open

Double free in tls_release_read_buffer() #24427

andy-maier opened this issue May 17, 2024 · 4 comments
Labels
branch: master Merge to master branch branch: 3.3 Merge to openssl-3.3 triaged: bug The issue/pr is/fixes a bug

Comments

@andy-maier
Copy link

andy-maier commented May 17, 2024

When using an SSL connection for the STOMP protocol, and I make a test to recover from a network disconnect, I get an exception in the thread that uses OpenSSL, reporting a double free in tls_release_read_buffer, presumably this one: https://github.com/openssl/openssl/blob/master/ssl/record/methods/tls_common.c#L284

This is in a Python environment on macOS, and the stomp-py Python package is used for support of the STOMP protocol.

The OpenSSL API function called by Python is ssl3_shutdown, and the Python function called by the stomp-py Python package is ssl.SSLSocket.shutdown(). Note the update in my comment, below, where the Python function and OpenSSL API function is different, but the OpenSSL function that traps is the same.

The OpenSSL was installed with Homebrew.

OpenSSL: 3.3.0
macOS: Ventura 13.6.6
Python: 3.12.3
stomp-py: 8.1.2

The network between the Python client application and the STOMP server is via VPN, and when disconnecting the network in this test, I simply disable the VPN.

The error does not always happen, but with a chance >10%.

Important: A far as I can see, the error so far happened only when I had two instances of the program running. They run in separate Python processess, but on the same OS. They both target the same STOMP server. I had one case where both programs trapped (where I did not collect the exception reports), but in the two cases I reported here, only one of the programs trapped and the other did not.

The Python application that establishes this connection is zhmc_log_forwarder from https://github.com/zhmcclient/zhmc-log-forwarder, but to reproduce the issue with that application, an IBM Z HMC would be necessary :-)

For reproduction with that application:

  • run the zhmc_log_forwarder with a config that enables STOMP heartbeating
  • disconnect the network between zhmc_log_forwarder and HMC by disabling VPN

The error happens when the retry logic attempts to reconnect while the network is still disconnected.

Output of the program:

heartbeat timeout: diff_receive=15.000571481999941, time=88084.54266576, lastrec=88069.542094278
2024-05-17 08:56:50.286235+0200 WARNING: Reconnecting after notification error: NotificationConnectionError: Lost STOMP connection to HMC
2024-05-17 08:56:50.286715+0200 INFO: Disconnecting previous STOMP connection
2024-05-17 08:56:50.286998+0200 INFO: Setting up a STOMP connection
2024-05-17 08:56:50.287333+0200 INFO: Connecting via STOMP to the HMC (currently connected: False)
Python(75825,0x70000eb56000) malloc: double free for ptr 0x7fc0af0e7400
Python(75825,0x70000eb56000) malloc: *** set a breakpoint in malloc_error_break to debug
Abort trap: 6

The call stack with the failure can be seen in Thread 2 in the exception report, below.

Full macOS report of the exception:

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

Process:               Python [75825]
Path:                  /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python
Identifier:            org.python.python
Version:               3.12.3 (3.12.3)
Code Type:             X86-64 (Native)
Parent Process:        bash [52004]
Responsible:           Terminal [617]
User ID:               501

Date/Time:             2024-05-17 08:57:09.5699 +0200
OS Version:            macOS 13.6.6 (22G630)
Report Version:        12
Bridge OS Version:     3.0 (14Y910)
Anonymous UUID:        1E6CE2EF-2174-941A-267D-CE95AFFBACDF

Sleep/Wake UUID:       B4FF06BC-BE05-4E5B-B23A-7F84CD74F81A

Time Awake Since Boot: 88000 seconds
Time Since Wake:       5260 seconds

System Integrity Protection: enabled

Crashed Thread:        2

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000

Termination Reason:    Namespace SIGNAL, Code 6 Abort trap: 6
Terminating Process:   Python [75825]

Application Specific Information:
abort() called


Thread 0::  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	    0x7ff809413bb2 __connect + 10
1   _socket.cpython-312-darwin.so 	       0x109146e5f internal_connect + 51
2   _socket.cpython-312-darwin.so 	       0x109144d31 sock_connect + 126
3   Python                        	       0x1091f39b3 method_vectorcall_O.llvm.10401600717538951285 + 98
4   Python                        	       0x1092de1da _PyEval_EvalFrameDefault + 49919
5   Python                        	       0x1092d1d1f PyEval_EvalCode + 197
6   Python                        	       0x109337e71 run_eval_code_obj.llvm.13599083428988891635 + 83
7   Python                        	       0x109336108 run_mod.llvm.13599083428988891635 + 107
8   Python                        	       0x109335745 pyrun_file + 133
9   Python                        	       0x109334c4d _PyRun_SimpleFileObject + 287
10  Python                        	       0x109334906 _PyRun_AnyFileObject + 148
11  Python                        	       0x10935912f pymain_run_file_obj + 226
12  Python                        	       0x109358de2 pymain_run_file + 89
13  Python                        	       0x109358672 Py_RunMain + 1005
14  Python                        	       0x1093587a8 Py_BytesMain + 42
15  dyld                          	    0x7ff8090f441f start + 1903

Thread 1:
0   libsystem_pthread.dylib       	    0x7ff80944abb0 start_wqthread + 0

Thread 2 Crashed:
0   libsystem_kernel.dylib        	    0x7ff809417196 __pthread_kill + 10
1   libsystem_pthread.dylib       	    0x7ff80944eee6 pthread_kill + 263
2   libsystem_c.dylib             	    0x7ff809375b45 abort + 123
3   libsystem_malloc.dylib        	    0x7ff80928c752 malloc_vreport + 888
4   libsystem_malloc.dylib        	    0x7ff8092a1a08 malloc_zone_error + 183
5   libssl.3.dylib                	       0x10a109657 tls_release_read_buffer + 58
6   libssl.3.dylib                	       0x10a109615 tls_default_read_n + 755
7   libssl.3.dylib                	       0x10a109715 tls_get_more_records + 172
8   libssl.3.dylib                	       0x10a10a4eb tls_read_record + 74
9   libssl.3.dylib                	       0x10a104387 ssl3_read_bytes + 488
10  libssl.3.dylib                	       0x10a0ba8e7 ssl3_shutdown + 176
11  _ssl.cpython-312-darwin.so    	       0x109c350eb _ssl__SSLSocket_shutdown_impl + 269
12  Python                        	       0x1091f38dd method_vectorcall_NOARGS.llvm.10401600717538951285 + 96
13  Python                        	       0x1092de1da _PyEval_EvalFrameDefault + 49919
14  Python                        	       0x1091eaceb method_vectorcall.llvm.13117775298410576162 + 470
15  Python                        	       0x1092e0204 _PyEval_EvalFrameDefault + 58153
16  Python                        	       0x1091eaceb method_vectorcall.llvm.13117775298410576162 + 470
17  Python                        	       0x1093b1b24 thread_run + 124
18  Python                        	       0x1093487bd pythread_wrapper.llvm.556803824338060856 + 40
19  libsystem_pthread.dylib       	    0x7ff80944f1d3 _pthread_start + 125
20  libsystem_pthread.dylib       	    0x7ff80944abd3 thread_start + 15


Thread 2 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x000070000eb56000  rcx: 0x000070000eb55078  rdx: 0x0000000000000000
  rdi: 0x0000000000002803  rsi: 0x0000000000000006  rbp: 0x000070000eb550a0  rsp: 0x000070000eb55078
   r8: 0x000000000000002e   r9: 0x0000000000000000  r10: 0x0000000000000000  r11: 0x0000000000000246
  r12: 0x0000000000002803  r13: 0x0000000108efd028  r14: 0x0000000000000006  r15: 0x0000000000000016
  rip: 0x00007ff809417196  rfl: 0x0000000000000246  cr2: 0x0000000000000000
  
Logical CPU:     0
Error Code:      0x02000148 
Trap Number:     133


Binary Images:
       0x108b7a000 -        0x108b7dfff org.python.python (3.12.3) <c1cad4f9-fb45-3aab-bb59-7f65da9f7a07> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python
       0x109187000 -        0x1094b2fff org.python.python (3.12.3, (c) 2001-2023 Python Software Foundation.) <de334930-caaf-375e-a29b-cee78e1bc7ef> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/Python
       0x108efe000 -        0x108f05fff _csv.cpython-312-darwin.so (*) <8091780f-143b-31d3-a693-a9d69c158032> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_csv.cpython-312-darwin.so
       0x108f29000 -        0x108f34fff math.cpython-312-darwin.so (*) <c64c293d-0a4d-37df-81d6-c46497d9dcba> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/math.cpython-312-darwin.so
       0x108f12000 -        0x108f19fff binascii.cpython-312-darwin.so (*) <c0eef3e6-2ff5-383e-a529-c2af4e0ca41a> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/binascii.cpython-312-darwin.so
       0x108f54000 -        0x108f5bfff zlib.cpython-312-darwin.so (*) <bce026f9-22c1-3bec-bb33-0c3743f1cc0a> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/zlib.cpython-312-darwin.so
       0x108f41000 -        0x108f44fff _bz2.cpython-312-darwin.so (*) <a93b8231-452d-3dcb-8a41-25fc609a5022> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_bz2.cpython-312-darwin.so
       0x108f7b000 -        0x108f82fff _lzma.cpython-312-darwin.so (*) <305fc034-93a2-3134-b4d3-01dbe2fee6f2> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_lzma.cpython-312-darwin.so
       0x108fb8000 -        0x108fd7fff liblzma.5.dylib (*) <74cc93b3-d104-3692-ab7a-7348e6fc3cdc> /usr/local/Cellar/xz/5.4.6/lib/liblzma.5.dylib
       0x108f8f000 -        0x108f96fff _struct.cpython-312-darwin.so (*) <86c032d6-418c-35ba-8b7a-247ce8f5157b> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_struct.cpython-312-darwin.so
       0x108f68000 -        0x108f6bfff _opcode.cpython-312-darwin.so (*) <7eb7a781-db47-304e-a4b8-4f3ed280d87a> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_opcode.cpython-312-darwin.so
       0x108fa3000 -        0x108fa6fff _bisect.cpython-312-darwin.so (*) <35f268a7-16e9-3f39-b6ff-5f0310e9f5fb> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_bisect.cpython-312-darwin.so
       0x1090e4000 -        0x1090e7fff _random.cpython-312-darwin.so (*) <f1e00bab-9951-3ed7-b9d8-64fc054ffa41> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_random.cpython-312-darwin.so
       0x10910a000 -        0x109115fff _sha2.cpython-312-darwin.so (*) <a9c3adef-e98e-32aa-aafc-d94f1ca459e2> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_sha2.cpython-312-darwin.so
       0x10913e000 -        0x10914dfff _socket.cpython-312-darwin.so (*) <755445c6-80b7-3f7e-a784-83ec8ee685e3> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_socket.cpython-312-darwin.so
       0x109122000 -        0x109129fff select.cpython-312-darwin.so (*) <c8779338-1cef-3006-85ba-d4663d2b48d1> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/select.cpython-312-darwin.so
       0x10915a000 -        0x109161fff array.cpython-312-darwin.so (*) <ad4a8c5d-65de-3322-9cc2-9adf576c76c4> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/array.cpython-312-darwin.so
       0x109868000 -        0x109877fff _datetime.cpython-312-darwin.so (*) <ac3d501b-f823-384d-bf82-fa06667e708a> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_datetime.cpython-312-darwin.so
       0x109aad000 -        0x109ac4fff _pickle.cpython-312-darwin.so (*) <30f63df2-9c30-3fe4-9194-3820ffc5b1d5> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_pickle.cpython-312-darwin.so
       0x1090f4000 -        0x1090f7fff _heapq.cpython-312-darwin.so (*) <682fe7fb-3ffb-3cb3-82a9-fdd75c511b40> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_heapq.cpython-312-darwin.so
       0x10916e000 -        0x109171fff _queue.cpython-312-darwin.so (*) <b569f10c-ca95-3473-b27e-3a2429d1c4dd> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_queue.cpython-312-darwin.so
       0x10984b000 -        0x10984efff _uuid.cpython-312-darwin.so (*) <8a2ccb4a-b3e5-3a6c-b4e1-22cdef513bec> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_uuid.cpython-312-darwin.so
       0x109a88000 -        0x109a8ffff _json.cpython-312-darwin.so (*) <b82db8fb-d77a-3f5a-9c0b-cd2c9368bd06> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_json.cpython-312-darwin.so
       0x109cbe000 -        0x109d4dfff rpds.cpython-312-darwin.so (*) <2de100f3-5d99-3c94-99d2-be4f6aaca15d> /Users/USER/*/rpds.cpython-312-darwin.so
       0x109ec4000 -        0x109fd3fff unicodedata.cpython-312-darwin.so (*) <5e649f47-fe63-33a0-be3f-831460b7e726> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/unicodedata.cpython-312-darwin.so
       0x109be9000 -        0x109bf0fff _hashlib.cpython-312-darwin.so (*) <2477b356-41d6-3a82-a742-1f535807ffcd> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_hashlib.cpython-312-darwin.so
       0x10a435000 -        0x10a774fff libcrypto.3.dylib (*) <05fbb421-4ad3-3c2d-9312-ce83bff89bac> /usr/local/Cellar/openssl@3/3.3.0/lib/libcrypto.3.dylib
       0x109bd5000 -        0x109bdcfff _blake2.cpython-312-darwin.so (*) <16725e5e-42a3-3eb5-ae21-a63dec59c4c7> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_blake2.cpython-312-darwin.so
       0x109c2b000 -        0x109c42fff _ssl.cpython-312-darwin.so (*) <f455f817-1541-3fbf-9b3a-98b9febb00ce> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_ssl.cpython-312-darwin.so
       0x10a0af000 -        0x10a13efff libssl.3.dylib (*) <74fe5573-2942-3f5e-8f8f-570242dffcc6> /usr/local/Cellar/openssl@3/3.3.0/lib/libssl.3.dylib
       0x109a9c000 -        0x109a9ffff _scproxy.cpython-312-darwin.so (*) <da897eb0-0687-3aa6-a9b8-73e71f5828f8> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_scproxy.cpython-312-darwin.so
       0x109c5b000 -        0x109c76fff _decimal.cpython-312-darwin.so (*) <95de6bdd-166c-3b91-a1ea-caedfed95fd3> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_decimal.cpython-312-darwin.so
       0x109c87000 -        0x109ca2fff libmpdec.4.0.0.dylib (*) <d58fae4c-8875-3c1a-a478-f85a081c8128> /usr/local/Cellar/mpdecimal/4.0.0/lib/libmpdec.4.0.0.dylib
       0x10a03d000 -        0x10a080fff _yaml.cpython-312-darwin.so (*) <09357fdd-8a16-39f6-b55a-b87d4546d305> /Users/USER/*/_yaml.cpython-312-darwin.so
       0x10985b000 -        0x10985efff md.cpython-312-darwin.so (*) <e3139399-a759-32f4-81b9-c37215734648> /Users/USER/*/md.cpython-312-darwin.so
       0x10a37f000 -        0x10a3a2fff md__mypyc.cpython-312-darwin.so (*) <7b12a7e8-3aa9-3f99-a7c7-5638d7e16fd1> /Users/USER/*/md__mypyc.cpython-312-darwin.so
       0x109c11000 -        0x109c18fff _multibytecodec.cpython-312-darwin.so (*) <da5b05e7-8520-3c27-aef1-dad0e3306d62> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_multibytecodec.cpython-312-darwin.so
       0x10a3de000 -        0x10a3f1fff _ctypes.cpython-312-darwin.so (*) <f2cc085e-ba49-36bd-818f-0e277f277b0e> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_ctypes.cpython-312-darwin.so
    0x7ff80940f000 -     0x7ff809448fff libsystem_kernel.dylib (*) <484971ab-1a24-3d48-9726-4ad56d8e05d3> /usr/lib/system/libsystem_kernel.dylib
    0x7ff8090ee000 -     0x7ff8091865ef dyld (*) <022fb827-a638-3286-a672-588c661526e0> /usr/lib/dyld
    0x7ff809449000 -     0x7ff809454fff libsystem_pthread.dylib (*) <60b15e1f-39ea-33a1-8616-3af57dc1094a> /usr/lib/system/libsystem_pthread.dylib
    0x7ff8092f6000 -     0x7ff80937dff7 libsystem_c.dylib (*) <a720129c-c1cf-3e62-9d76-aa6fa0d31333> /usr/lib/system/libsystem_c.dylib
    0x7ff80927e000 -     0x7ff8092aafff libsystem_malloc.dylib (*) <cb2f46a4-4f06-3d9a-9c8e-502a6ade9cce> /usr/lib/system/libsystem_malloc.dylib

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=299.4M resident=0K(0%) swapped_out_or_unallocated=299.4M(100%)
Writable regions: Total=638.5M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=638.5M(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Activity Tracing                   256K        1 
Kernel Alloc Once                    8K        1 
MALLOC                           203.3M       41 
MALLOC guard page                   16K        4 
MALLOC_LARGE (reserved)            128K        1         reserved VM address space (unallocated)
MALLOC_NANO (reserved)           384.0M        1         reserved VM address space (unallocated)
STACK GUARD                         12K        3 
Stack                             32.5M        3 
VM_ALLOCATE                       18.0M       22 
__DATA                            5068K      176 
__DATA_CONST                      7055K      132 
__DATA_DIRTY                       339K       57 
__LINKEDIT                       173.7M       39 
__OBJC_RO                         66.3M        1 
__OBJC_RW                         2013K        2 
__TEXT                           125.7M      189 
dyld private memory                260K        2 
mapped file                         52K        1 
shared memory                       52K        5 
===========                     =======  ======= 
TOTAL                              1.0G      681 
TOTAL, minus reserved VM space   634.4M      681 



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

{"app_name":"Python","timestamp":"2024-05-17 08:57:10.00 +0200","app_version":"3.12.3","slice_uuid":"c1cad4f9-fb45-3aab-bb59-7f65da9f7a07","build_version":"3.12.3","platform":1,"bundleID":"org.python.python","share_with_app_devs":1,"is_first_party":0,"bug_type":"309","os_version":"macOS 13.6.6 (22G630)","roots_installed":0,"name":"Python","incident_id":"0D7E0B9C-E81A-4FB0-9E35-893500DDB15D"}
{
  "uptime" : 88000,
  "procRole" : "Unspecified",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "MacBookPro14,3",
  "coalitionID" : 490,
  "osVersion" : {
    "train" : "macOS 13.6.6",
    "build" : "22G630",
    "releaseType" : "User"
  },
  "captureTime" : "2024-05-17 08:57:09.5699 +0200",
  "incident" : "0D7E0B9C-E81A-4FB0-9E35-893500DDB15D",
  "pid" : 75825,
  "cpuType" : "X86-64",
  "roots_installed" : 0,
  "bug_type" : "309",
  "procLaunch" : "2024-05-17 08:55:57.9645 +0200",
  "procStartAbsTime" : 88037089022945,
  "procExitAbsTime" : 88108693272167,
  "procName" : "Python",
  "procPath" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/Resources\/Python.app\/Contents\/MacOS\/Python",
  "bundleInfo" : {"CFBundleShortVersionString":"3.12.3","CFBundleVersion":"3.12.3","CFBundleIdentifier":"org.python.python"},
  "storeInfo" : {"deviceIdentifierForVendor":"61C904E8-2A91-5EB4-83AD-3AD928115747","thirdParty":true},
  "parentProc" : "bash",
  "parentPid" : 52004,
  "coalitionName" : "com.apple.Terminal",
  "crashReporterKey" : "1E6CE2EF-2174-941A-267D-CE95AFFBACDF",
  "responsiblePid" : 617,
  "responsibleProc" : "Terminal",
  "codeSigningID" : "",
  "codeSigningTeamID" : "",
  "codeSigningValidationCategory" : 0,
  "codeSigningTrustLevel" : 0,
  "wakeTime" : 5260,
  "bridgeVersion" : {"build":"14Y910","train":"3.0"},
  "sleepWakeUUID" : "B4FF06BC-BE05-4E5B-B23A-7F84CD74F81A",
  "sip" : "enabled",
  "exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"},
  "termination" : {"flags":0,"code":6,"namespace":"SIGNAL","indicator":"Abort trap: 6","byProc":"Python","byPid":75825},
  "asi" : {"libsystem_c.dylib":["abort() called"]},
  "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" : 2,
  "threads" : [{"id":1704483,"queue":"com.apple.main-thread","frames":[{"imageOffset":19378,"symbol":"__connect","symbolLocation":10,"imageIndex":38},{"imageOffset":36447,"symbol":"internal_connect","symbolLocation":51,"imageIndex":14},{"imageOffset":27953,"symbol":"sock_connect","symbolLocation":126,"imageIndex":14},{"imageOffset":444851,"symbol":"method_vectorcall_O.llvm.10401600717538951285","symbolLocation":98,"imageIndex":1},{"imageOffset":1405402,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":49919,"imageIndex":1},{"imageOffset":1355039,"symbol":"PyEval_EvalCode","symbolLocation":197,"imageIndex":1},{"imageOffset":1773169,"symbol":"run_eval_code_obj.llvm.13599083428988891635","symbolLocation":83,"imageIndex":1},{"imageOffset":1765640,"symbol":"run_mod.llvm.13599083428988891635","symbolLocation":107,"imageIndex":1},{"imageOffset":1763141,"symbol":"pyrun_file","symbolLocation":133,"imageIndex":1},{"imageOffset":1760333,"symbol":"_PyRun_SimpleFileObject","symbolLocation":287,"imageIndex":1},{"imageOffset":1759494,"symbol":"_PyRun_AnyFileObject","symbolLocation":148,"imageIndex":1},{"imageOffset":1909039,"symbol":"pymain_run_file_obj","symbolLocation":226,"imageIndex":1},{"imageOffset":1908194,"symbol":"pymain_run_file","symbolLocation":89,"imageIndex":1},{"imageOffset":1906290,"symbol":"Py_RunMain","symbolLocation":1005,"imageIndex":1},{"imageOffset":1906600,"symbol":"Py_BytesMain","symbolLocation":42,"imageIndex":1},{"imageOffset":25631,"symbol":"start","symbolLocation":1903,"imageIndex":39}]},{"id":1704490,"frames":[{"imageOffset":7088,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":40}]},{"triggered":true,"id":1704545,"threadState":{"r13":{"value":4444901416},"rax":{"value":0},"rflags":{"value":582},"cpu":{"value":0},"r14":{"value":6},"rsi":{"value":6},"r8":{"value":46},"cr2":{"value":0},"rdx":{"value":0},"r10":{"value":0},"r9":{"value":0},"r15":{"value":22},"rbx":{"value":123145549078528},"trap":{"value":133},"err":{"value":33554760},"r11":{"value":582},"rip":{"value":140703283900822,"matchesCrashFrame":1},"rbp":{"value":123145549074592},"rsp":{"value":123145549074552},"r12":{"value":10243},"rcx":{"value":123145549074552},"flavor":"x86_THREAD_STATE","rdi":{"value":10243}},"frames":[{"imageOffset":33174,"symbol":"__pthread_kill","symbolLocation":10,"imageIndex":38},{"imageOffset":24294,"symbol":"pthread_kill","symbolLocation":263,"imageIndex":40},{"imageOffset":523077,"symbol":"abort","symbolLocation":123,"imageIndex":41},{"imageOffset":59218,"symbol":"malloc_vreport","symbolLocation":888,"imageIndex":42},{"imageOffset":145928,"symbol":"malloc_zone_error","symbolLocation":183,"imageIndex":42},{"imageOffset":370263,"symbol":"tls_release_read_buffer","symbolLocation":58,"imageIndex":29},{"imageOffset":370197,"symbol":"tls_default_read_n","symbolLocation":755,"imageIndex":29},{"imageOffset":370453,"symbol":"tls_get_more_records","symbolLocation":172,"imageIndex":29},{"imageOffset":373995,"symbol":"tls_read_record","symbolLocation":74,"imageIndex":29},{"imageOffset":349063,"symbol":"ssl3_read_bytes","symbolLocation":488,"imageIndex":29},{"imageOffset":47335,"symbol":"ssl3_shutdown","symbolLocation":176,"imageIndex":29},{"imageOffset":41195,"symbol":"_ssl__SSLSocket_shutdown_impl","symbolLocation":269,"imageIndex":28},{"imageOffset":444637,"symbol":"method_vectorcall_NOARGS.llvm.10401600717538951285","symbolLocation":96,"imageIndex":1},{"imageOffset":1405402,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":49919,"imageIndex":1},{"imageOffset":408811,"symbol":"method_vectorcall.llvm.13117775298410576162","symbolLocation":470,"imageIndex":1},{"imageOffset":1413636,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":58153,"imageIndex":1},{"imageOffset":408811,"symbol":"method_vectorcall.llvm.13117775298410576162","symbolLocation":470,"imageIndex":1},{"imageOffset":2272036,"symbol":"thread_run","symbolLocation":124,"imageIndex":1},{"imageOffset":1841085,"symbol":"pythread_wrapper.llvm.556803824338060856","symbolLocation":40,"imageIndex":1},{"imageOffset":25043,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":40},{"imageOffset":7123,"symbol":"thread_start","symbolLocation":15,"imageIndex":40}]}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4441219072,
    "CFBundleShortVersionString" : "3.12.3",
    "CFBundleIdentifier" : "org.python.python",
    "size" : 16384,
    "uuid" : "c1cad4f9-fb45-3aab-bb59-7f65da9f7a07",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/Resources\/Python.app\/Contents\/MacOS\/Python",
    "name" : "Python",
    "CFBundleVersion" : "3.12.3"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4447563776,
    "CFBundleShortVersionString" : "3.12.3, (c) 2001-2023 Python Software Foundation.",
    "CFBundleIdentifier" : "org.python.python",
    "size" : 3325952,
    "uuid" : "de334930-caaf-375e-a29b-cee78e1bc7ef",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/Python",
    "name" : "Python",
    "CFBundleVersion" : "3.12.3"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4444905472,
    "size" : 32768,
    "uuid" : "8091780f-143b-31d3-a693-a9d69c158032",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_csv.cpython-312-darwin.so",
    "name" : "_csv.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4445081600,
    "size" : 49152,
    "uuid" : "c64c293d-0a4d-37df-81d6-c46497d9dcba",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/math.cpython-312-darwin.so",
    "name" : "math.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4444987392,
    "size" : 32768,
    "uuid" : "c0eef3e6-2ff5-383e-a529-c2af4e0ca41a",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/binascii.cpython-312-darwin.so",
    "name" : "binascii.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4445257728,
    "size" : 32768,
    "uuid" : "bce026f9-22c1-3bec-bb33-0c3743f1cc0a",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/zlib.cpython-312-darwin.so",
    "name" : "zlib.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4445179904,
    "size" : 16384,
    "uuid" : "a93b8231-452d-3dcb-8a41-25fc609a5022",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_bz2.cpython-312-darwin.so",
    "name" : "_bz2.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4445417472,
    "size" : 32768,
    "uuid" : "305fc034-93a2-3134-b4d3-01dbe2fee6f2",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_lzma.cpython-312-darwin.so",
    "name" : "_lzma.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4445667328,
    "size" : 131072,
    "uuid" : "74cc93b3-d104-3692-ab7a-7348e6fc3cdc",
    "path" : "\/usr\/local\/Cellar\/xz\/5.4.6\/lib\/liblzma.5.dylib",
    "name" : "liblzma.5.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4445499392,
    "size" : 32768,
    "uuid" : "86c032d6-418c-35ba-8b7a-247ce8f5157b",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_struct.cpython-312-darwin.so",
    "name" : "_struct.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4445339648,
    "size" : 16384,
    "uuid" : "7eb7a781-db47-304e-a4b8-4f3ed280d87a",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_opcode.cpython-312-darwin.so",
    "name" : "_opcode.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4445581312,
    "size" : 16384,
    "uuid" : "35f268a7-16e9-3f39-b6ff-5f0310e9f5fb",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_bisect.cpython-312-darwin.so",
    "name" : "_bisect.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4446896128,
    "size" : 16384,
    "uuid" : "f1e00bab-9951-3ed7-b9d8-64fc054ffa41",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_random.cpython-312-darwin.so",
    "name" : "_random.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4447051776,
    "size" : 49152,
    "uuid" : "a9c3adef-e98e-32aa-aafc-d94f1ca459e2",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_sha2.cpython-312-darwin.so",
    "name" : "_sha2.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4447264768,
    "size" : 65536,
    "uuid" : "755445c6-80b7-3f7e-a784-83ec8ee685e3",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_socket.cpython-312-darwin.so",
    "name" : "_socket.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4447150080,
    "size" : 32768,
    "uuid" : "c8779338-1cef-3006-85ba-d4663d2b48d1",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/select.cpython-312-darwin.so",
    "name" : "select.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4447379456,
    "size" : 32768,
    "uuid" : "ad4a8c5d-65de-3322-9cc2-9adf576c76c4",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/array.cpython-312-darwin.so",
    "name" : "array.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4454776832,
    "size" : 65536,
    "uuid" : "ac3d501b-f823-384d-bf82-fa06667e708a",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_datetime.cpython-312-darwin.so",
    "name" : "_datetime.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4457156608,
    "size" : 98304,
    "uuid" : "30f63df2-9c30-3fe4-9194-3820ffc5b1d5",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_pickle.cpython-312-darwin.so",
    "name" : "_pickle.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4446961664,
    "size" : 16384,
    "uuid" : "682fe7fb-3ffb-3cb3-82a9-fdd75c511b40",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_heapq.cpython-312-darwin.so",
    "name" : "_heapq.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4447461376,
    "size" : 16384,
    "uuid" : "b569f10c-ca95-3473-b27e-3a2429d1c4dd",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_queue.cpython-312-darwin.so",
    "name" : "_queue.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4454658048,
    "size" : 16384,
    "uuid" : "8a2ccb4a-b3e5-3a6c-b4e1-22cdef513bec",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_uuid.cpython-312-darwin.so",
    "name" : "_uuid.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4457005056,
    "size" : 32768,
    "uuid" : "b82db8fb-d77a-3f5a-9c0b-cd2c9368bd06",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_json.cpython-312-darwin.so",
    "name" : "_json.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4459323392,
    "size" : 589824,
    "uuid" : "2de100f3-5d99-3c94-99d2-be4f6aaca15d",
    "path" : "\/Users\/USER\/*\/rpds.cpython-312-darwin.so",
    "name" : "rpds.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4461445120,
    "size" : 1114112,
    "uuid" : "5e649f47-fe63-33a0-be3f-831460b7e726",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/unicodedata.cpython-312-darwin.so",
    "name" : "unicodedata.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4458450944,
    "size" : 32768,
    "uuid" : "2477b356-41d6-3a82-a742-1f535807ffcd",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_hashlib.cpython-312-darwin.so",
    "name" : "_hashlib.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4467150848,
    "size" : 3407872,
    "uuid" : "05fbb421-4ad3-3c2d-9312-ce83bff89bac",
    "path" : "\/usr\/local\/Cellar\/openssl@3\/3.3.0\/lib\/libcrypto.3.dylib",
    "name" : "libcrypto.3.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4458369024,
    "size" : 32768,
    "uuid" : "16725e5e-42a3-3eb5-ae21-a63dec59c4c7",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_blake2.cpython-312-darwin.so",
    "name" : "_blake2.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4458721280,
    "size" : 98304,
    "uuid" : "f455f817-1541-3fbf-9b3a-98b9febb00ce",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_ssl.cpython-312-darwin.so",
    "name" : "_ssl.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4463456256,
    "size" : 589824,
    "uuid" : "74fe5573-2942-3f5e-8f8f-570242dffcc6",
    "path" : "\/usr\/local\/Cellar\/openssl@3\/3.3.0\/lib\/libssl.3.dylib",
    "name" : "libssl.3.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4457086976,
    "size" : 16384,
    "uuid" : "da897eb0-0687-3aa6-a9b8-73e71f5828f8",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_scproxy.cpython-312-darwin.so",
    "name" : "_scproxy.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4458917888,
    "size" : 114688,
    "uuid" : "95de6bdd-166c-3b91-a1ea-caedfed95fd3",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_decimal.cpython-312-darwin.so",
    "name" : "_decimal.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4459098112,
    "size" : 114688,
    "uuid" : "d58fae4c-8875-3c1a-a478-f85a081c8128",
    "path" : "\/usr\/local\/Cellar\/mpdecimal\/4.0.0\/lib\/libmpdec.4.0.0.dylib",
    "name" : "libmpdec.4.0.0.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4462989312,
    "size" : 278528,
    "uuid" : "09357fdd-8a16-39f6-b55a-b87d4546d305",
    "path" : "\/Users\/USER\/*\/_yaml.cpython-312-darwin.so",
    "name" : "_yaml.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4454723584,
    "size" : 16384,
    "uuid" : "e3139399-a759-32f4-81b9-c37215734648",
    "path" : "\/Users\/USER\/*\/md.cpython-312-darwin.so",
    "name" : "md.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4466405376,
    "size" : 147456,
    "uuid" : "7b12a7e8-3aa9-3f99-a7c7-5638d7e16fd1",
    "path" : "\/Users\/USER\/*\/md__mypyc.cpython-312-darwin.so",
    "name" : "md__mypyc.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4458614784,
    "size" : 32768,
    "uuid" : "da5b05e7-8520-3c27-aef1-dad0e3306d62",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_multibytecodec.cpython-312-darwin.so",
    "name" : "_multibytecodec.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4466794496,
    "size" : 81920,
    "uuid" : "f2cc085e-ba49-36bd-818f-0e277f277b0e",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_ctypes.cpython-312-darwin.so",
    "name" : "_ctypes.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703283867648,
    "size" : 237568,
    "uuid" : "484971ab-1a24-3d48-9726-4ad56d8e05d3",
    "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib",
    "name" : "libsystem_kernel.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703280586752,
    "size" : 624112,
    "uuid" : "022fb827-a638-3286-a672-588c661526e0",
    "path" : "\/usr\/lib\/dyld",
    "name" : "dyld"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703284105216,
    "size" : 49152,
    "uuid" : "60b15e1f-39ea-33a1-8616-3af57dc1094a",
    "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
    "name" : "libsystem_pthread.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703282716672,
    "size" : 557048,
    "uuid" : "a720129c-c1cf-3e62-9d76-aa6fa0d31333",
    "path" : "\/usr\/lib\/system\/libsystem_c.dylib",
    "name" : "libsystem_c.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703282225152,
    "size" : 184320,
    "uuid" : "cb2f46a4-4f06-3d9a-9c8e-502a6ade9cce",
    "path" : "\/usr\/lib\/system\/libsystem_malloc.dylib",
    "name" : "libsystem_malloc.dylib"
  }
],
  "sharedCache" : {
  "base" : 140703279964160,
  "size" : 21474836480,
  "uuid" : "9b3c3d4c-ff04-3420-912e-a2f64a0f912e"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=299.4M resident=0K(0%) swapped_out_or_unallocated=299.4M(100%)\nWritable regions: Total=638.5M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=638.5M(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nActivity Tracing                   256K        1 \nKernel Alloc Once                    8K        1 \nMALLOC                           203.3M       41 \nMALLOC guard page                   16K        4 \nMALLOC_LARGE (reserved)            128K        1         reserved VM address space (unallocated)\nMALLOC_NANO (reserved)           384.0M        1         reserved VM address space (unallocated)\nSTACK GUARD                         12K        3 \nStack                             32.5M        3 \nVM_ALLOCATE                       18.0M       22 \n__DATA                            5068K      176 \n__DATA_CONST                      7055K      132 \n__DATA_DIRTY                       339K       57 \n__LINKEDIT                       173.7M       39 \n__OBJC_RO                         66.3M        1 \n__OBJC_RW                         2013K        2 \n__TEXT                           125.7M      189 \ndyld private memory                260K        2 \nmapped file                         52K        1 \nshared memory                       52K        5 \n===========                     =======  ======= \nTOTAL                              1.0G      681 \nTOTAL, minus reserved VM space   634.4M      681 \n",
  "legacyInfo" : {
  "threadTriggered" : {

  }
},
  "logWritingSignature" : "c96fad10c29925581d929ce0fc91aa5af09be5c4",
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "64628732bf2f5257dedc8988",
      "factorPackIds" : {

      },
      "deploymentId" : 240000001
    },
    {
      "rolloutId" : "62c73fd17cce0d1b0bcb8a02",
      "factorPackIds" : {

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

  ]
}
}

Model: MacBookPro14,3, BootROM 526.0.0.0.0, 4 processors, Quad-Core Intel Core i7, 2,9 GHz, 16 GB, SMC 2.45f5
Graphics: Intel HD Graphics 630, Intel HD Graphics 630, Built-In
Display: Color LCD, 2880 x 1800 Retina, Main, MirrorOff, Online
Graphics: Radeon Pro 560, Radeon Pro 560, PCIe, 4 GB
Memory Module: BANK 0/DIMM0, 8 GB, LPDDR3, 2133 MHz, 0x802C, 0x4D5435324C31473332443450472D30393320
Memory Module: BANK 1/DIMM0, 8 GB, LPDDR3, 2133 MHz, 0x802C, 0x4D5435324C31473332443450472D30393320
AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x173), Broadcom BCM43xx 1.0 (7.77.111.1 AirPortDriverBrcmNIC-1772.1)
AirPort: 
Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB30Bus
USB Device: Apple T1 Controller
USB Device: Yubikey 4 OTP+U2F+CCID
Thunderbolt Bus: MacBook Pro, Apple Inc., 41.5
Thunderbolt Bus: MacBook Pro, Apple Inc., 41.5
@andy-maier andy-maier added the issue: bug report The issue was opened to report a bug label May 17, 2024
@andy-maier
Copy link
Author

Another occurrence of the error, again in tls_release_read_buffer, but this time the OpenSSL API function is SSL_read_ex, called by Python function ssl.SSLSocket.read().

Progam output:

heartbeat timeout: diff_receive=15.003528257000085, time=773.073895511, lastrec=758.070367254
2024-05-17 10:07:28.911710+0200 WARNING: Reconnecting after notification error: NotificationConnectionError: Lost STOMP connection to HMC
2024-05-17 10:07:28.912346+0200 INFO: Disconnecting previous STOMP connection
2024-05-17 10:07:28.912863+0200 INFO: Setting up a STOMP connection
2024-05-17 10:07:28.913231+0200 INFO: Connecting via STOMP to the HMC (currently connected: False)
[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:2685)
Python(2901,0x700002c93000) malloc: double free for ptr 0x7f9122851000
Python(2901,0x700002c93000) malloc: *** set a breakpoint in malloc_error_break to debug
Abort trap: 6

macOS exception report:

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

Process:               Python [2901]
Path:                  /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python
Identifier:            org.python.python
Version:               3.12.3 (3.12.3)
Code Type:             X86-64 (Native)
Parent Process:        bash [807]
Responsible:           Terminal [658]
User ID:               501

Date/Time:             2024-05-17 10:07:53.5640 +0200
OS Version:            macOS 13.6.6 (22G630)
Report Version:        12
Bridge OS Version:     3.0 (14Y910)
Anonymous UUID:        1E6CE2EF-2174-941A-267D-CE95AFFBACDF


Time Awake Since Boot: 790 seconds

System Integrity Protection: enabled

Crashed Thread:        2

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000

Termination Reason:    Namespace SIGNAL, Code 6 Abort trap: 6
Terminating Process:   Python [2901]

Application Specific Information:
abort() called


Thread 0::  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	    0x7ff8030e9bb2 __connect + 10
1   _socket.cpython-312-darwin.so 	       0x104e99e5f internal_connect + 51
2   _socket.cpython-312-darwin.so 	       0x104e97d31 sock_connect + 126
3   Python                        	       0x104f469b3 method_vectorcall_O.llvm.10401600717538951285 + 98
4   Python                        	       0x1050311da _PyEval_EvalFrameDefault + 49919
5   Python                        	       0x105024d1f PyEval_EvalCode + 197
6   Python                        	       0x10508ae71 run_eval_code_obj.llvm.13599083428988891635 + 83
7   Python                        	       0x105089108 run_mod.llvm.13599083428988891635 + 107
8   Python                        	       0x105088745 pyrun_file + 133
9   Python                        	       0x105087c4d _PyRun_SimpleFileObject + 287
10  Python                        	       0x105087906 _PyRun_AnyFileObject + 148
11  Python                        	       0x1050ac12f pymain_run_file_obj + 226
12  Python                        	       0x1050abde2 pymain_run_file + 89
13  Python                        	       0x1050ab672 Py_RunMain + 1005
14  Python                        	       0x1050ab7a8 Py_BytesMain + 42
15  dyld                          	    0x7ff802dca41f start + 1903

Thread 1:
0   libsystem_pthread.dylib       	    0x7ff803120bb0 start_wqthread + 0

Thread 2 Crashed:
0   libsystem_kernel.dylib        	    0x7ff8030ed196 __pthread_kill + 10
1   libsystem_pthread.dylib       	    0x7ff803124ee6 pthread_kill + 263
2   libsystem_c.dylib             	    0x7ff80304bb45 abort + 123
3   libsystem_malloc.dylib        	    0x7ff802f62752 malloc_vreport + 888
4   libsystem_malloc.dylib        	    0x7ff802f77a08 malloc_zone_error + 183
5   libssl.3.dylib                	       0x105e5c657 tls_release_read_buffer + 58
6   libssl.3.dylib                	       0x105e5c615 tls_default_read_n + 755
7   libssl.3.dylib                	       0x105e5c715 tls_get_more_records + 172
8   libssl.3.dylib                	       0x105e5d4eb tls_read_record + 74
9   libssl.3.dylib                	       0x105e57387 ssl3_read_bytes + 488
10  libssl.3.dylib                	       0x105e0daa8 ssl3_read_internal + 122
11  libssl.3.dylib                	       0x105e18bcb SSL_read_ex + 9
12  _ssl.cpython-312-darwin.so    	       0x10598796d _ssl__SSLSocket_read_impl + 535
13  _ssl.cpython-312-darwin.so    	       0x105986d4d _ssl__SSLSocket_read + 143
14  Python                        	       0x104f465b2 method_vectorcall_VARARGS.llvm.10401600717538951285 + 118
15  Python                        	       0x1050311da _PyEval_EvalFrameDefault + 49919
16  Python                        	       0x104f3dceb method_vectorcall.llvm.13117775298410576162 + 470
17  Python                        	       0x105033204 _PyEval_EvalFrameDefault + 58153
18  Python                        	       0x104f3dceb method_vectorcall.llvm.13117775298410576162 + 470
19  Python                        	       0x105104b24 thread_run + 124
20  Python                        	       0x10509b7bd pythread_wrapper.llvm.556803824338060856 + 40
21  libsystem_pthread.dylib       	    0x7ff8031251d3 _pthread_start + 125
22  libsystem_pthread.dylib       	    0x7ff803120bd3 thread_start + 15


Thread 2 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000700002c93000  rcx: 0x0000700002c91fc8  rdx: 0x0000000000000000
  rdi: 0x0000000000002303  rsi: 0x0000000000000006  rbp: 0x0000700002c91ff0  rsp: 0x0000700002c91fc8
   r8: 0x000000000000002e   r9: 0x0000000000000000  r10: 0x0000000000000000  r11: 0x0000000000000246
  r12: 0x0000000000002303  r13: 0x0000000104c50028  r14: 0x0000000000000006  r15: 0x0000000000000016
  rip: 0x00007ff8030ed196  rfl: 0x0000000000000246  cr2: 0x0000000000000000
  
Logical CPU:     0
Error Code:      0x02000148 
Trap Number:     133


Binary Images:
       0x1048cd000 -        0x1048d0fff org.python.python (3.12.3) <c1cad4f9-fb45-3aab-bb59-7f65da9f7a07> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/Resources/Python.app/Contents/MacOS/Python
       0x104eda000 -        0x105205fff org.python.python (3.12.3, (c) 2001-2023 Python Software Foundation.) <de334930-caaf-375e-a29b-cee78e1bc7ef> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/Python
       0x104c51000 -        0x104c58fff _csv.cpython-312-darwin.so (*) <8091780f-143b-31d3-a693-a9d69c158032> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_csv.cpython-312-darwin.so
       0x104c7c000 -        0x104c87fff math.cpython-312-darwin.so (*) <c64c293d-0a4d-37df-81d6-c46497d9dcba> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/math.cpython-312-darwin.so
       0x104c65000 -        0x104c6cfff binascii.cpython-312-darwin.so (*) <c0eef3e6-2ff5-383e-a529-c2af4e0ca41a> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/binascii.cpython-312-darwin.so
       0x104ca7000 -        0x104caefff zlib.cpython-312-darwin.so (*) <bce026f9-22c1-3bec-bb33-0c3743f1cc0a> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/zlib.cpython-312-darwin.so
       0x104c94000 -        0x104c97fff _bz2.cpython-312-darwin.so (*) <a93b8231-452d-3dcb-8a41-25fc609a5022> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_bz2.cpython-312-darwin.so
       0x104dce000 -        0x104dd5fff _lzma.cpython-312-darwin.so (*) <305fc034-93a2-3134-b4d3-01dbe2fee6f2> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_lzma.cpython-312-darwin.so
       0x104e0b000 -        0x104e2afff liblzma.5.dylib (*) <74cc93b3-d104-3692-ab7a-7348e6fc3cdc> /usr/local/Cellar/xz/5.4.6/lib/liblzma.5.dylib
       0x104de2000 -        0x104de9fff _struct.cpython-312-darwin.so (*) <86c032d6-418c-35ba-8b7a-247ce8f5157b> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_struct.cpython-312-darwin.so
       0x104dbb000 -        0x104dbefff _opcode.cpython-312-darwin.so (*) <7eb7a781-db47-304e-a4b8-4f3ed280d87a> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_opcode.cpython-312-darwin.so
       0x104df6000 -        0x104df9fff _bisect.cpython-312-darwin.so (*) <35f268a7-16e9-3f39-b6ff-5f0310e9f5fb> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_bisect.cpython-312-darwin.so
       0x104e37000 -        0x104e3afff _random.cpython-312-darwin.so (*) <f1e00bab-9951-3ed7-b9d8-64fc054ffa41> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_random.cpython-312-darwin.so
       0x104e5d000 -        0x104e68fff _sha2.cpython-312-darwin.so (*) <a9c3adef-e98e-32aa-aafc-d94f1ca459e2> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_sha2.cpython-312-darwin.so
       0x104e91000 -        0x104ea0fff _socket.cpython-312-darwin.so (*) <755445c6-80b7-3f7e-a784-83ec8ee685e3> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_socket.cpython-312-darwin.so
       0x104e75000 -        0x104e7cfff select.cpython-312-darwin.so (*) <c8779338-1cef-3006-85ba-d4663d2b48d1> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/select.cpython-312-darwin.so
       0x104ead000 -        0x104eb4fff array.cpython-312-darwin.so (*) <ad4a8c5d-65de-3322-9cc2-9adf576c76c4> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/array.cpython-312-darwin.so
       0x1055bb000 -        0x1055cafff _datetime.cpython-312-darwin.so (*) <ac3d501b-f823-384d-bf82-fa06667e708a> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_datetime.cpython-312-darwin.so
       0x105800000 -        0x105817fff _pickle.cpython-312-darwin.so (*) <30f63df2-9c30-3fe4-9194-3820ffc5b1d5> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_pickle.cpython-312-darwin.so
       0x104e47000 -        0x104e4afff _heapq.cpython-312-darwin.so (*) <682fe7fb-3ffb-3cb3-82a9-fdd75c511b40> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_heapq.cpython-312-darwin.so
       0x104ec1000 -        0x104ec4fff _queue.cpython-312-darwin.so (*) <b569f10c-ca95-3473-b27e-3a2429d1c4dd> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_queue.cpython-312-darwin.so
       0x10559e000 -        0x1055a1fff _uuid.cpython-312-darwin.so (*) <8a2ccb4a-b3e5-3a6c-b4e1-22cdef513bec> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_uuid.cpython-312-darwin.so
       0x1057db000 -        0x1057e2fff _json.cpython-312-darwin.so (*) <b82db8fb-d77a-3f5a-9c0b-cd2c9368bd06> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_json.cpython-312-darwin.so
       0x105a11000 -        0x105aa0fff rpds.cpython-312-darwin.so (*) <2de100f3-5d99-3c94-99d2-be4f6aaca15d> /Users/USER/*/rpds.cpython-312-darwin.so
       0x105c17000 -        0x105d26fff unicodedata.cpython-312-darwin.so (*) <5e649f47-fe63-33a0-be3f-831460b7e726> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/unicodedata.cpython-312-darwin.so
       0x10593c000 -        0x105943fff _hashlib.cpython-312-darwin.so (*) <2477b356-41d6-3a82-a742-1f535807ffcd> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_hashlib.cpython-312-darwin.so
       0x106188000 -        0x1064c7fff libcrypto.3.dylib (*) <05fbb421-4ad3-3c2d-9312-ce83bff89bac> /usr/local/Cellar/openssl@3/3.3.0/lib/libcrypto.3.dylib
       0x105928000 -        0x10592ffff _blake2.cpython-312-darwin.so (*) <16725e5e-42a3-3eb5-ae21-a63dec59c4c7> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_blake2.cpython-312-darwin.so
       0x10597e000 -        0x105995fff _ssl.cpython-312-darwin.so (*) <f455f817-1541-3fbf-9b3a-98b9febb00ce> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_ssl.cpython-312-darwin.so
       0x105e02000 -        0x105e91fff libssl.3.dylib (*) <74fe5573-2942-3f5e-8f8f-570242dffcc6> /usr/local/Cellar/openssl@3/3.3.0/lib/libssl.3.dylib
       0x1057ef000 -        0x1057f2fff _scproxy.cpython-312-darwin.so (*) <da897eb0-0687-3aa6-a9b8-73e71f5828f8> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_scproxy.cpython-312-darwin.so
       0x1059ae000 -        0x1059c9fff _decimal.cpython-312-darwin.so (*) <95de6bdd-166c-3b91-a1ea-caedfed95fd3> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_decimal.cpython-312-darwin.so
       0x1059da000 -        0x1059f5fff libmpdec.4.0.0.dylib (*) <d58fae4c-8875-3c1a-a478-f85a081c8128> /usr/local/Cellar/mpdecimal/4.0.0/lib/libmpdec.4.0.0.dylib
       0x105d90000 -        0x105dd3fff _yaml.cpython-312-darwin.so (*) <09357fdd-8a16-39f6-b55a-b87d4546d305> /Users/USER/*/_yaml.cpython-312-darwin.so
       0x1055ae000 -        0x1055b1fff md.cpython-312-darwin.so (*) <e3139399-a759-32f4-81b9-c37215734648> /Users/USER/*/md.cpython-312-darwin.so
       0x1060d2000 -        0x1060f5fff md__mypyc.cpython-312-darwin.so (*) <7b12a7e8-3aa9-3f99-a7c7-5638d7e16fd1> /Users/USER/*/md__mypyc.cpython-312-darwin.so
       0x105964000 -        0x10596bfff _multibytecodec.cpython-312-darwin.so (*) <da5b05e7-8520-3c27-aef1-dad0e3306d62> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_multibytecodec.cpython-312-darwin.so
       0x106131000 -        0x106144fff _ctypes.cpython-312-darwin.so (*) <f2cc085e-ba49-36bd-818f-0e277f277b0e> /usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_ctypes.cpython-312-darwin.so
    0x7ff8030e5000 -     0x7ff80311efff libsystem_kernel.dylib (*) <484971ab-1a24-3d48-9726-4ad56d8e05d3> /usr/lib/system/libsystem_kernel.dylib
    0x7ff802dc4000 -     0x7ff802e5c5ef dyld (*) <022fb827-a638-3286-a672-588c661526e0> /usr/lib/dyld
    0x7ff80311f000 -     0x7ff80312afff libsystem_pthread.dylib (*) <60b15e1f-39ea-33a1-8616-3af57dc1094a> /usr/lib/system/libsystem_pthread.dylib
    0x7ff802fcc000 -     0x7ff803053ff7 libsystem_c.dylib (*) <a720129c-c1cf-3e62-9d76-aa6fa0d31333> /usr/lib/system/libsystem_c.dylib
    0x7ff802f54000 -     0x7ff802f80fff libsystem_malloc.dylib (*) <cb2f46a4-4f06-3d9a-9c8e-502a6ade9cce> /usr/lib/system/libsystem_malloc.dylib

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=299.4M resident=0K(0%) swapped_out_or_unallocated=299.4M(100%)
Writable regions: Total=639.5M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=639.5M(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Activity Tracing                   256K        1 
Kernel Alloc Once                    8K        1 
MALLOC                           204.3M       42 
MALLOC guard page                   16K        4 
MALLOC_LARGE (reserved)            128K        1         reserved VM address space (unallocated)
MALLOC_NANO (reserved)           384.0M        1         reserved VM address space (unallocated)
STACK GUARD                         12K        3 
Stack                             32.5M        3 
VM_ALLOCATE                       18.0M       22 
__DATA                            5068K      175 
__DATA_CONST                      7051K      132 
__DATA_DIRTY                       339K       58 
__LINKEDIT                       173.7M       39 
__OBJC_RO                         66.3M        1 
__OBJC_RW                         2013K        1 
__TEXT                           125.7M      189 
dyld private memory                260K        2 
mapped file                         52K        1 
shared memory                       52K        5 
===========                     =======  ======= 
TOTAL                              1.0G      681 
TOTAL, minus reserved VM space   635.4M      681 



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

{"app_name":"Python","timestamp":"2024-05-17 10:07:57.00 +0200","app_version":"3.12.3","slice_uuid":"c1cad4f9-fb45-3aab-bb59-7f65da9f7a07","build_version":"3.12.3","platform":1,"bundleID":"org.python.python","share_with_app_devs":1,"is_first_party":0,"bug_type":"309","os_version":"macOS 13.6.6 (22G630)","roots_installed":0,"name":"Python","incident_id":"55B5C0F1-6A47-4476-A7B2-149675220A82"}
{
  "uptime" : 790,
  "procRole" : "Unspecified",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "MacBookPro14,3",
  "coalitionID" : 480,
  "osVersion" : {
    "train" : "macOS 13.6.6",
    "build" : "22G630",
    "releaseType" : "User"
  },
  "captureTime" : "2024-05-17 10:07:53.5640 +0200",
  "incident" : "55B5C0F1-6A47-4476-A7B2-149675220A82",
  "pid" : 2901,
  "cpuType" : "X86-64",
  "roots_installed" : 0,
  "bug_type" : "309",
  "procLaunch" : "2024-05-17 10:06:44.6371 +0200",
  "procStartAbsTime" : 729806661188,
  "procExitAbsTime" : 798678825249,
  "procName" : "Python",
  "procPath" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/Resources\/Python.app\/Contents\/MacOS\/Python",
  "bundleInfo" : {"CFBundleShortVersionString":"3.12.3","CFBundleVersion":"3.12.3","CFBundleIdentifier":"org.python.python"},
  "storeInfo" : {"deviceIdentifierForVendor":"61C904E8-2A91-5EB4-83AD-3AD928115747","thirdParty":true},
  "parentProc" : "bash",
  "parentPid" : 807,
  "coalitionName" : "com.apple.Terminal",
  "crashReporterKey" : "1E6CE2EF-2174-941A-267D-CE95AFFBACDF",
  "responsiblePid" : 658,
  "responsibleProc" : "Terminal",
  "codeSigningID" : "",
  "codeSigningTeamID" : "",
  "codeSigningValidationCategory" : 0,
  "codeSigningTrustLevel" : 0,
  "bridgeVersion" : {"build":"14Y910","train":"3.0"},
  "sip" : "enabled",
  "exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"},
  "termination" : {"flags":0,"code":6,"namespace":"SIGNAL","indicator":"Abort trap: 6","byProc":"Python","byPid":2901},
  "asi" : {"libsystem_c.dylib":["abort() called"]},
  "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" : 2,
  "threads" : [{"id":26995,"queue":"com.apple.main-thread","frames":[{"imageOffset":19378,"symbol":"__connect","symbolLocation":10,"imageIndex":38},{"imageOffset":36447,"symbol":"internal_connect","symbolLocation":51,"imageIndex":14},{"imageOffset":27953,"symbol":"sock_connect","symbolLocation":126,"imageIndex":14},{"imageOffset":444851,"symbol":"method_vectorcall_O.llvm.10401600717538951285","symbolLocation":98,"imageIndex":1},{"imageOffset":1405402,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":49919,"imageIndex":1},{"imageOffset":1355039,"symbol":"PyEval_EvalCode","symbolLocation":197,"imageIndex":1},{"imageOffset":1773169,"symbol":"run_eval_code_obj.llvm.13599083428988891635","symbolLocation":83,"imageIndex":1},{"imageOffset":1765640,"symbol":"run_mod.llvm.13599083428988891635","symbolLocation":107,"imageIndex":1},{"imageOffset":1763141,"symbol":"pyrun_file","symbolLocation":133,"imageIndex":1},{"imageOffset":1760333,"symbol":"_PyRun_SimpleFileObject","symbolLocation":287,"imageIndex":1},{"imageOffset":1759494,"symbol":"_PyRun_AnyFileObject","symbolLocation":148,"imageIndex":1},{"imageOffset":1909039,"symbol":"pymain_run_file_obj","symbolLocation":226,"imageIndex":1},{"imageOffset":1908194,"symbol":"pymain_run_file","symbolLocation":89,"imageIndex":1},{"imageOffset":1906290,"symbol":"Py_RunMain","symbolLocation":1005,"imageIndex":1},{"imageOffset":1906600,"symbol":"Py_BytesMain","symbolLocation":42,"imageIndex":1},{"imageOffset":25631,"symbol":"start","symbolLocation":1903,"imageIndex":39}]},{"id":27007,"frames":[{"imageOffset":7088,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":40}]},{"triggered":true,"id":27030,"threadState":{"r13":{"value":4374986792},"rax":{"value":0},"rflags":{"value":582},"cpu":{"value":0},"r14":{"value":6},"rsi":{"value":6},"r8":{"value":46},"cr2":{"value":0},"rdx":{"value":0},"r10":{"value":0},"r9":{"value":0},"r15":{"value":22},"rbx":{"value":123145349050368},"trap":{"value":133},"err":{"value":33554760},"r11":{"value":582},"rip":{"value":140703179919766,"matchesCrashFrame":1},"rbp":{"value":123145349046256},"rsp":{"value":123145349046216},"r12":{"value":8963},"rcx":{"value":123145349046216},"flavor":"x86_THREAD_STATE","rdi":{"value":8963}},"frames":[{"imageOffset":33174,"symbol":"__pthread_kill","symbolLocation":10,"imageIndex":38},{"imageOffset":24294,"symbol":"pthread_kill","symbolLocation":263,"imageIndex":40},{"imageOffset":523077,"symbol":"abort","symbolLocation":123,"imageIndex":41},{"imageOffset":59218,"symbol":"malloc_vreport","symbolLocation":888,"imageIndex":42},{"imageOffset":145928,"symbol":"malloc_zone_error","symbolLocation":183,"imageIndex":42},{"imageOffset":370263,"symbol":"tls_release_read_buffer","symbolLocation":58,"imageIndex":29},{"imageOffset":370197,"symbol":"tls_default_read_n","symbolLocation":755,"imageIndex":29},{"imageOffset":370453,"symbol":"tls_get_more_records","symbolLocation":172,"imageIndex":29},{"imageOffset":373995,"symbol":"tls_read_record","symbolLocation":74,"imageIndex":29},{"imageOffset":349063,"symbol":"ssl3_read_bytes","symbolLocation":488,"imageIndex":29},{"imageOffset":47784,"symbol":"ssl3_read_internal","symbolLocation":122,"imageIndex":29},{"imageOffset":93131,"symbol":"SSL_read_ex","symbolLocation":9,"imageIndex":29},{"imageOffset":39277,"symbol":"_ssl__SSLSocket_read_impl","symbolLocation":535,"imageIndex":28},{"imageOffset":36173,"symbol":"_ssl__SSLSocket_read","symbolLocation":143,"imageIndex":28},{"imageOffset":443826,"symbol":"method_vectorcall_VARARGS.llvm.10401600717538951285","symbolLocation":118,"imageIndex":1},{"imageOffset":1405402,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":49919,"imageIndex":1},{"imageOffset":408811,"symbol":"method_vectorcall.llvm.13117775298410576162","symbolLocation":470,"imageIndex":1},{"imageOffset":1413636,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":58153,"imageIndex":1},{"imageOffset":408811,"symbol":"method_vectorcall.llvm.13117775298410576162","symbolLocation":470,"imageIndex":1},{"imageOffset":2272036,"symbol":"thread_run","symbolLocation":124,"imageIndex":1},{"imageOffset":1841085,"symbol":"pythread_wrapper.llvm.556803824338060856","symbolLocation":40,"imageIndex":1},{"imageOffset":25043,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":40},{"imageOffset":7123,"symbol":"thread_start","symbolLocation":15,"imageIndex":40}]}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4371304448,
    "CFBundleShortVersionString" : "3.12.3",
    "CFBundleIdentifier" : "org.python.python",
    "size" : 16384,
    "uuid" : "c1cad4f9-fb45-3aab-bb59-7f65da9f7a07",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/Resources\/Python.app\/Contents\/MacOS\/Python",
    "name" : "Python",
    "CFBundleVersion" : "3.12.3"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4377649152,
    "CFBundleShortVersionString" : "3.12.3, (c) 2001-2023 Python Software Foundation.",
    "CFBundleIdentifier" : "org.python.python",
    "size" : 3325952,
    "uuid" : "de334930-caaf-375e-a29b-cee78e1bc7ef",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/Python",
    "name" : "Python",
    "CFBundleVersion" : "3.12.3"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4374990848,
    "size" : 32768,
    "uuid" : "8091780f-143b-31d3-a693-a9d69c158032",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_csv.cpython-312-darwin.so",
    "name" : "_csv.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4375166976,
    "size" : 49152,
    "uuid" : "c64c293d-0a4d-37df-81d6-c46497d9dcba",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/math.cpython-312-darwin.so",
    "name" : "math.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4375072768,
    "size" : 32768,
    "uuid" : "c0eef3e6-2ff5-383e-a529-c2af4e0ca41a",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/binascii.cpython-312-darwin.so",
    "name" : "binascii.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4375343104,
    "size" : 32768,
    "uuid" : "bce026f9-22c1-3bec-bb33-0c3743f1cc0a",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/zlib.cpython-312-darwin.so",
    "name" : "zlib.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4375265280,
    "size" : 16384,
    "uuid" : "a93b8231-452d-3dcb-8a41-25fc609a5022",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_bz2.cpython-312-darwin.so",
    "name" : "_bz2.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4376551424,
    "size" : 32768,
    "uuid" : "305fc034-93a2-3134-b4d3-01dbe2fee6f2",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_lzma.cpython-312-darwin.so",
    "name" : "_lzma.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4376801280,
    "size" : 131072,
    "uuid" : "74cc93b3-d104-3692-ab7a-7348e6fc3cdc",
    "path" : "\/usr\/local\/Cellar\/xz\/5.4.6\/lib\/liblzma.5.dylib",
    "name" : "liblzma.5.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4376633344,
    "size" : 32768,
    "uuid" : "86c032d6-418c-35ba-8b7a-247ce8f5157b",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_struct.cpython-312-darwin.so",
    "name" : "_struct.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4376473600,
    "size" : 16384,
    "uuid" : "7eb7a781-db47-304e-a4b8-4f3ed280d87a",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_opcode.cpython-312-darwin.so",
    "name" : "_opcode.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4376715264,
    "size" : 16384,
    "uuid" : "35f268a7-16e9-3f39-b6ff-5f0310e9f5fb",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_bisect.cpython-312-darwin.so",
    "name" : "_bisect.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4376981504,
    "size" : 16384,
    "uuid" : "f1e00bab-9951-3ed7-b9d8-64fc054ffa41",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_random.cpython-312-darwin.so",
    "name" : "_random.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4377137152,
    "size" : 49152,
    "uuid" : "a9c3adef-e98e-32aa-aafc-d94f1ca459e2",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_sha2.cpython-312-darwin.so",
    "name" : "_sha2.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4377350144,
    "size" : 65536,
    "uuid" : "755445c6-80b7-3f7e-a784-83ec8ee685e3",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_socket.cpython-312-darwin.so",
    "name" : "_socket.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4377235456,
    "size" : 32768,
    "uuid" : "c8779338-1cef-3006-85ba-d4663d2b48d1",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/select.cpython-312-darwin.so",
    "name" : "select.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4377464832,
    "size" : 32768,
    "uuid" : "ad4a8c5d-65de-3322-9cc2-9adf576c76c4",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/array.cpython-312-darwin.so",
    "name" : "array.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4384862208,
    "size" : 65536,
    "uuid" : "ac3d501b-f823-384d-bf82-fa06667e708a",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_datetime.cpython-312-darwin.so",
    "name" : "_datetime.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4387241984,
    "size" : 98304,
    "uuid" : "30f63df2-9c30-3fe4-9194-3820ffc5b1d5",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_pickle.cpython-312-darwin.so",
    "name" : "_pickle.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4377047040,
    "size" : 16384,
    "uuid" : "682fe7fb-3ffb-3cb3-82a9-fdd75c511b40",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_heapq.cpython-312-darwin.so",
    "name" : "_heapq.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4377546752,
    "size" : 16384,
    "uuid" : "b569f10c-ca95-3473-b27e-3a2429d1c4dd",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_queue.cpython-312-darwin.so",
    "name" : "_queue.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4384743424,
    "size" : 16384,
    "uuid" : "8a2ccb4a-b3e5-3a6c-b4e1-22cdef513bec",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_uuid.cpython-312-darwin.so",
    "name" : "_uuid.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4387090432,
    "size" : 32768,
    "uuid" : "b82db8fb-d77a-3f5a-9c0b-cd2c9368bd06",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_json.cpython-312-darwin.so",
    "name" : "_json.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4389408768,
    "size" : 589824,
    "uuid" : "2de100f3-5d99-3c94-99d2-be4f6aaca15d",
    "path" : "\/Users\/USER\/*\/rpds.cpython-312-darwin.so",
    "name" : "rpds.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4391530496,
    "size" : 1114112,
    "uuid" : "5e649f47-fe63-33a0-be3f-831460b7e726",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/unicodedata.cpython-312-darwin.so",
    "name" : "unicodedata.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4388536320,
    "size" : 32768,
    "uuid" : "2477b356-41d6-3a82-a742-1f535807ffcd",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_hashlib.cpython-312-darwin.so",
    "name" : "_hashlib.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4397236224,
    "size" : 3407872,
    "uuid" : "05fbb421-4ad3-3c2d-9312-ce83bff89bac",
    "path" : "\/usr\/local\/Cellar\/openssl@3\/3.3.0\/lib\/libcrypto.3.dylib",
    "name" : "libcrypto.3.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4388454400,
    "size" : 32768,
    "uuid" : "16725e5e-42a3-3eb5-ae21-a63dec59c4c7",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_blake2.cpython-312-darwin.so",
    "name" : "_blake2.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4388806656,
    "size" : 98304,
    "uuid" : "f455f817-1541-3fbf-9b3a-98b9febb00ce",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_ssl.cpython-312-darwin.so",
    "name" : "_ssl.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4393541632,
    "size" : 589824,
    "uuid" : "74fe5573-2942-3f5e-8f8f-570242dffcc6",
    "path" : "\/usr\/local\/Cellar\/openssl@3\/3.3.0\/lib\/libssl.3.dylib",
    "name" : "libssl.3.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4387172352,
    "size" : 16384,
    "uuid" : "da897eb0-0687-3aa6-a9b8-73e71f5828f8",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_scproxy.cpython-312-darwin.so",
    "name" : "_scproxy.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4389003264,
    "size" : 114688,
    "uuid" : "95de6bdd-166c-3b91-a1ea-caedfed95fd3",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_decimal.cpython-312-darwin.so",
    "name" : "_decimal.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4389183488,
    "size" : 114688,
    "uuid" : "d58fae4c-8875-3c1a-a478-f85a081c8128",
    "path" : "\/usr\/local\/Cellar\/mpdecimal\/4.0.0\/lib\/libmpdec.4.0.0.dylib",
    "name" : "libmpdec.4.0.0.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4393074688,
    "size" : 278528,
    "uuid" : "09357fdd-8a16-39f6-b55a-b87d4546d305",
    "path" : "\/Users\/USER\/*\/_yaml.cpython-312-darwin.so",
    "name" : "_yaml.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4384808960,
    "size" : 16384,
    "uuid" : "e3139399-a759-32f4-81b9-c37215734648",
    "path" : "\/Users\/USER\/*\/md.cpython-312-darwin.so",
    "name" : "md.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4396490752,
    "size" : 147456,
    "uuid" : "7b12a7e8-3aa9-3f99-a7c7-5638d7e16fd1",
    "path" : "\/Users\/USER\/*\/md__mypyc.cpython-312-darwin.so",
    "name" : "md__mypyc.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4388700160,
    "size" : 32768,
    "uuid" : "da5b05e7-8520-3c27-aef1-dad0e3306d62",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_multibytecodec.cpython-312-darwin.so",
    "name" : "_multibytecodec.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4396879872,
    "size" : 81920,
    "uuid" : "f2cc085e-ba49-36bd-818f-0e277f277b0e",
    "path" : "\/usr\/local\/Cellar\/python@3.12\/3.12.3\/Frameworks\/Python.framework\/Versions\/3.12\/lib\/python3.12\/lib-dynload\/_ctypes.cpython-312-darwin.so",
    "name" : "_ctypes.cpython-312-darwin.so"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703179886592,
    "size" : 237568,
    "uuid" : "484971ab-1a24-3d48-9726-4ad56d8e05d3",
    "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib",
    "name" : "libsystem_kernel.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703176605696,
    "size" : 624112,
    "uuid" : "022fb827-a638-3286-a672-588c661526e0",
    "path" : "\/usr\/lib\/dyld",
    "name" : "dyld"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703180124160,
    "size" : 49152,
    "uuid" : "60b15e1f-39ea-33a1-8616-3af57dc1094a",
    "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
    "name" : "libsystem_pthread.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703178735616,
    "size" : 557048,
    "uuid" : "a720129c-c1cf-3e62-9d76-aa6fa0d31333",
    "path" : "\/usr\/lib\/system\/libsystem_c.dylib",
    "name" : "libsystem_c.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703178244096,
    "size" : 184320,
    "uuid" : "cb2f46a4-4f06-3d9a-9c8e-502a6ade9cce",
    "path" : "\/usr\/lib\/system\/libsystem_malloc.dylib",
    "name" : "libsystem_malloc.dylib"
  }
],
  "sharedCache" : {
  "base" : 140703175983104,
  "size" : 21474836480,
  "uuid" : "9b3c3d4c-ff04-3420-912e-a2f64a0f912e"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=299.4M resident=0K(0%) swapped_out_or_unallocated=299.4M(100%)\nWritable regions: Total=639.5M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=639.5M(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nActivity Tracing                   256K        1 \nKernel Alloc Once                    8K        1 \nMALLOC                           204.3M       42 \nMALLOC guard page                   16K        4 \nMALLOC_LARGE (reserved)            128K        1         reserved VM address space (unallocated)\nMALLOC_NANO (reserved)           384.0M        1         reserved VM address space (unallocated)\nSTACK GUARD                         12K        3 \nStack                             32.5M        3 \nVM_ALLOCATE                       18.0M       22 \n__DATA                            5068K      175 \n__DATA_CONST                      7051K      132 \n__DATA_DIRTY                       339K       58 \n__LINKEDIT                       173.7M       39 \n__OBJC_RO                         66.3M        1 \n__OBJC_RW                         2013K        1 \n__TEXT                           125.7M      189 \ndyld private memory                260K        2 \nmapped file                         52K        1 \nshared memory                       52K        5 \n===========                     =======  ======= \nTOTAL                              1.0G      681 \nTOTAL, minus reserved VM space   635.4M      681 \n",
  "legacyInfo" : {
  "threadTriggered" : {

  }
},
  "logWritingSignature" : "0fae77d3beb6e413e40ddbf50504ce422780b3ee",
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "64628732bf2f5257dedc8988",
      "factorPackIds" : {

      },
      "deploymentId" : 240000001
    },
    {
      "rolloutId" : "62c73fd17cce0d1b0bcb8a02",
      "factorPackIds" : {

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

  ]
}
}

Model: MacBookPro14,3, BootROM 526.0.0.0.0, 4 processors, Quad-Core Intel Core i7, 2,9 GHz, 16 GB, SMC 2.45f5
Graphics: Intel HD Graphics 630, Intel HD Graphics 630, Built-In
Display: Color LCD, 2880 x 1800 Retina, Main, MirrorOff, Online
Graphics: Radeon Pro 560, Radeon Pro 560, PCIe, 4 GB
Memory Module: BANK 0/DIMM0, 8 GB, LPDDR3, 2133 MHz, 0x802C, 0x4D5435324C31473332443450472D30393320
Memory Module: BANK 1/DIMM0, 8 GB, LPDDR3, 2133 MHz, 0x802C, 0x4D5435324C31473332443450472D30393320
AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x173), Broadcom BCM43xx 1.0 (7.77.111.1 AirPortDriverBrcmNIC-1772.1)
AirPort: 
Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB30Bus
USB Device: Apple T1 Controller
USB Device: Yubikey 4 OTP+U2F+CCID
Thunderbolt Bus: MacBook Pro, Apple Inc., 41.5
Thunderbolt Bus: MacBook Pro, Apple Inc., 41.5

@mattcaswell mattcaswell added branch: master Merge to master branch triaged: bug The issue/pr is/fixes a bug branch: 3.3 Merge to openssl-3.3 and removed issue: bug report The issue was opened to report a bug labels May 17, 2024
@mattcaswell
Copy link
Member

but to reproduce the issue with that application, an IBM Z HMC would be necessary

Unfortunately I don't have one of those!

A double free is quite perplexing since the location where we free the buffer is in tls_release_read_buffer which looks like this:

static int tls_release_read_buffer(OSSL_RECORD_LAYER *rl)
{
    TLS_BUFFER *b;

    b = &rl->rbuf;
    if ((rl->options & SSL_OP_CLEANSE_PLAINTEXT) != 0)
        OPENSSL_cleanse(b->buf, b->len);
    OPENSSL_free(b->buf);
    b->buf = NULL;
    return 1;
}

As you can see, immediately after freeing the buffer we immediately set the pointer to it to NULL. So, any subsequent attempt to free the buffer on the same thread (while erroneous) would just be a simple harmless free of a NULL ptr rather than a double free.

Which suggests one of two things: 1) there is some other reference to the buffer hanging around somewhere else which is being freed in some other location in the code ...(but if so where??? I can't think why that would occur) or 2) possibly a multi-threaded issue?? If two threads happen to have references to the same SSL object then that could definitely cause spurious failures like this. Is your app multi-threaded?

I note that the only call to tls_release_read_buffer from tls_default_read_n is in the case where the SSL_MODE_RELEASE_BUFFERS mode has been set. Is that something you are doing directly in your code or is python doing that. A workaround might be to not use that mode.

Do you have any tools such as asan or equivalent on this platform which would help identify the location in the code where the original free occurred?

@andy-maier
Copy link
Author

andy-maier commented May 23, 2024

The app is indeed multi-threaded, but I believe that only one of the threads uses the ssl connection.

SSL_MODE_RELEASE_BUFFERS is not used in the app, but I don't know whether it is set by Python.

I did not use asan so far, but can have a look at it.

I'll look into all of that when I'm back from vacation (week after next).

@nhorman
Copy link
Contributor

nhorman commented Jun 5, 2024

could you condense this into a reproducer that you can share here? Barring that, running your crashing client under helgrind to detect potential thread races would be useful. note you may need to use the PYTHONMALLOC environment variabel to make python behave in a way amenable to helgrind

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
branch: master Merge to master branch branch: 3.3 Merge to openssl-3.3 triaged: bug The issue/pr is/fixes a bug
Projects
None yet
Development

No branches or pull requests

3 participants