[fpc-pascal] Building compiler which stalls

Hairy Pixels genericptr at gmail.com
Sat Mar 4 15:12:18 CET 2023



> On Mar 4, 2023, at 9:10 PM, Hairy Pixels <genericptr at gmail.com> wrote:
> 
> Thanks, I’ve done that and here’s both the LLDB output and sample.
> 
> It looks like it’s crashed on an exception but I don’t understand why it’s spinning the CPU. Either way something is clearly wrong and I’ve never seen this before.

I just tried to run LLDB on the executable again and got a real stack trace this time. Looks like a legit error.

fpc$ lldb /Users/ryanjoseph/Developer/fpc/ppca64 
(lldb) target create "/Users/ryanjoseph/Developer/fpc/ppca64"
Current executable set to '/Users/ryanjoseph/Developer/fpc/ppca64' (arm64).
(lldb) r
Process 40609 launched: '/Users/ryanjoseph/Developer/fpc/ppca64' (arm64)
Process 40609 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=259, address=0x1003cf71c)
    frame #0: 0x0000000100002c04 ppca64`fpc_shortstr_concat_multi(DESTS=<unavailable>, highDESTS=24, SARR=PSHORTSTRING[] @ 0x000000016fdfecd0, highSARR=2) at generic.inc:914:20
   911     end;
   912   { Concat all strings, except the string we already
   913     copied in DestS }
-> 914   Len:=length(pdest^);
   915   for i:=lowstart to high(sarr) do
   916     begin
   917       p:=sarr[i];
Target 0: (ppca64) stopped.
warning: This version of LLDB has no plugin for the language "pascal83". Inspection of frame variables will be limited.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=259, address=0x1003cf71c)
  * frame #0: 0x0000000100002c04 ppca64`fpc_shortstr_concat_multi(DESTS=<unavailable>, highDESTS=24, SARR=PSHORTSTRING[] @ 0x000000016fdfecd0, highSARR=2) at generic.inc:914:20
    frame #1: 0x00000001000759b4 ppca64`SET_TARGET(T=<unavailable>) at systems.pas:643:47
    frame #2: 0x000000010007638c ppca64`DEFAULT_TARGET(T=SYSTEM_NONE) at systems.pas:899:3
    frame #3: 0x0000000100076448 ppca64`INITSYSTEMS at systems.pas:1147:5
    frame #4: 0x0000000100028ae8 ppca64`INITCOMPILER(CMD=<unavailable>) at compiler.pas:208:3
    frame #5: 0x0000000100028c20 ppca64`COMPILE(CMD=0x0000000000000000) at compiler.pas:272:8
    frame #6: 0x0000000100000fa0 ppca64`PASCALMAIN at pp.pas:308:28
    frame #7: 0x0000000100025a5c ppca64`SYSENTRY(INFO=TENTRYINFORMATION @ 0x00000001003616e0) at system.pp:326:3
    frame #8: 0x0000000100000cf0 ppca64`FPC_SYSTEMMAIN(ARGCPARAM=<unavailable>, ARGVPARAM=<unavailable>, ENVPPARAM=<unavailable>) at sysinit.pas:68:3
    frame #9: 0x00000001937a3e50 dyld`start + 2544
(lldb) 

Regards,
Ryan Joseph



More information about the fpc-pascal mailing list