[fpc-pascal] Confusing crash in System.WaitFree

Ryan Joseph genericptr at gmail.com
Mon Dec 2 23:04:16 CET 2019


I have a crash that I'm not able to replicate in a simple program and appears to be related to threading. All I have to go on is this back trace but it doesn't give any context into the calling code, just that it's in the FPC system unit. Does anyone have any idea what this may be related to so I could better track it down? I'm using POSIX threads and I wonder if I'm omitting something required for the FPC RTL.

Process 13929 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
    frame #0: 0x0000000100020e07 Syndicate`SYSTEM_$$_WAITFREE_VAR$PMEMCHUNK_VAR + 23
Syndicate`SYSTEM_$$_WAITFREE_VAR$PMEMCHUNK_VAR:
->  0x100020e07 <+23>: movq   0xb8(%rdx), %rdx
    0x100020e0e <+30>: movq   %rdx, 0x18(%rax)
    0x100020e12 <+34>: movq   0x8(%rax), %rdx
    0x100020e16 <+38>: movq   %rax, 0xb8(%rdx)
Target 0: (Syndicate) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
  * frame #0: 0x0000000100020e07 Syndicate`SYSTEM_$$_WAITFREE_VAR$PMEMCHUNK_VAR + 23
    frame #1: 0x0000000100020efa Syndicate`SYSTEM_$$_SYSFREEMEM_VAR$PFREELISTS$PMEMCHUNK_VAR$$QWORD + 42
    frame #2: 0x0000000100020fdd Syndicate`SYSTEM_$$_SYSFREEMEM$POINTER$$QWORD + 109
    frame #3: 0x000000010001fe6f Syndicate`SYSTEM_$$_FREEMEM$POINTER$$QWORD + 15


Regards,
	Ryan Joseph



More information about the fpc-pascal mailing list