ObjFW  Ticket Change Details

Overview

Artifact ID: daa1aac7b9f165b28b016b2f1df8117eba5b216d0a21ddd6e840d2b520fa3d27
Ticket: ced9d8df0bc81123a789cc52723832d5009cfcec
Exceptions during init in ARC code crash on Windows
User & Date: js on 2020-11-28 20:49:49
Changes

  1. icomment:
    All calls into the personality and their return when it works (first parameter of personality is ex, second is actions):
    ```
    personality(0000000000f0f9f0, 1)
    _URC_CONTINUE_UNWIND
    personality(0000000000f0f9f0, 1)
    _URC_HANDLER_FOUND
    personality(0000000000f0f9f0, 6)
    _URC_INSTALL_CONTEXT
    personality(0000000000f0f9f0, 2)
    _URC_INSTALL_CONTEXT
    [2020-11-28 21:44:25.133 crash.exe(15248)] Deallocated!
    personality(0000000000f0f9f0, 2)
    _URC_CONTINUE_UNWIND
    [2020-11-28 21:44:25.135 crash.exe(15248)] Caught!
    ```
    
    and on a crash:
    ```
    personality(0000000000e603b0, 1)
    _URC_CONTINUE_UNWIND
    personality(0000000000e603b0, 1)
    _URC_HANDLER_FOUND
    personality(0000000000e603b0, 6)
    _URC_INSTALL_CONTEXT
    personality(0000000000e603b0, 2)
    _URC_INSTALL_CONTEXT
    [2020-11-28 21:45:06.703 crash.exe(12620)] Deallocated!
    personality(0000000000e603b0, 2)
    _URC_CONTINUE_UNWIND
    personality(0000000000e603b0, 2)
    _URC_INSTALL_CONTEXT
    personality(0000000000e603b0, 2)
    _URC_CONTINUE_UNWIND
    personality(0000000000e603b0, 2)
    _URC_INSTALL_CONTEXT
    personality(0000000000e603b0, 2)
    _URC_CONTINUE_UNWIND
    zsh: segmentation fault  ./crash.exe
    ```
    
    With removed `free()` (never crashes):
    ```
    personality(0000000000f20170, 1)
    _URC_CONTINUE_UNWIND
    personality(0000000000f20170, 1)
    _URC_HANDLER_FOUND
    personality(0000000000f20170, 6)
    _URC_INSTALL_CONTEXT
    personality(0000000000f20170, 2)
    _URC_INSTALL_CONTEXT
    [2020-11-28 21:48:16.847 crash.exe(15284)] Deallocated!
    personality(0000000000f20170, 2)
    _URC_CONTINUE_UNWIND
    [2020-11-28 21:48:16.849 crash.exe(15284)] Caught!
    ```
    
    I have no idea why there are extra ones when it crashes - that is just odd. I would expect this to behave deterministically.
    
    Time to dig into libgcc code, I suppose.
    
  2. login: "js"
  3. mimetype: "text/x-markdown"