View Issue Details

IDProjectCategoryView StatusLast Update
0034664FPCCompilerpublic2021-01-05 16:45
ReporterCyrax Assigned ToFlorian  
PrioritynormalSeverityminorReproducibilityrandom
Status resolvedResolutionunable to reproduce 
PlatformLinux x86_64OSArch 
Product Version3.3.1 
Summary0034664: When compiling Lazarus trunk, compiler sometimes randomly hangs.
DescriptionWhen doing full build of Lazarus trunk from scratch, the FPC compiler would hang and compile process won't continue at all.

I have noticed that this is quite common when building under x86_64 LXC container.
Additional Information
Reading symbols from /mnt/shares/ohjelmointi2/fpc/x86_64/trunk/3.3.1/binary/trunk/bin/x86_64-linux/ppcx64...done.
FPSYSCALL (SYSNR=1, PARAM1=8818380, PARAM2=256, PARAM3=4199319) at x86_64/syscall.inc:109
109	  cmpq $-4095, %rax       { Check %rax for error.  }
(gdb) bt
#0  FPSYSCALL (SYSNR=1, PARAM1=8818380, PARAM2=256, PARAM3=4199319) at x86_64/syscall.inc:109
0000001  0x000000000040209f in FPWRITE (FD=1, 
    BUF=0x868ecc 'tdlg.pas(93,6) Note: tgobj: (FreeTemp) freeing of temp at pos -64 requested'0000010'/mnt/shares/ohjelmointi2/lazarus/x86_64/trunk/1.9.0/binary/trunk/components/ideintf/pagespropeditdlg.pas(96,3) Note: tgobj: '..., NBYTES=256) at ossysc.inc:86
0000002  0x0000000000423926 in DO_WRITE (HANDLE=1, ADDR=0x868ecc, LEN=256) at ../unix/sysfile.inc:77
0000003  0x00000000004242c6 in FILEWRITEFUNC (T=...) at ../inc/text.inc:39
0000004  0x0000000000425c6e in FPC_WRITEBUFFER (F=..., B=, LEN=189) at ../inc/text.inc:702
0000005  0x0000000000426643 in fpc_write_text_ansistr (LEN=0, F=..., 
    S=0x7efdfbda4e58 '/mnt/shares/ohjelmointi2/lazarus/x86_64/trunk/1.9.0/binary/trunk/components/ideintf/pagespropeditdlg.pas(96,3) Note: tgobj: (Freetemp) temp at pos -16 has different type (persistent), not releasing')
    at ../inc/text.inc:916
0000006  0x0000000000485665 in DEF_COMMENT (LEVEL=268435472, S=0x7efdf4365e18 'tgobj: (Freetemp) temp at pos -16 has different type (persistent), not releasing') at comphook.pas:364
0000007  0x000000000043d0c9 in COMMENT (L=268435472, S=0x7efdf4365e18 'tgobj: (Freetemp) temp at pos -16 has different type (persistent), not releasing') at verbose.pas:609
0000008  0x000000000051b26a in TTGOBJ__FREETEMP (this=0x7efdf746f000, LIST=0x7efdf6c61780, POS=..., TEMPTYPES=...) at tgobj.pas:499
0000009  0x000000000051be95 in TTGOBJ__UNGETIFTEMP (this=0x7efdf746f000, LIST=0x7efdf6c61780, REF=...) at tgobj.pas:737
0000010 0x000000000051a14d in LOCATION_FREETEMP (LIST=0x7efdf6c61780, L=...) at tgobj.pas:173
0000011 0x000000000069471e in TCGCALLNODE__RELEASE_PARA_TEMPS (this=0x7efdf55ab2c0) at ncgcal.pas:693
0000012 0x0000000000696b72 in TCGCALLNODE__PASS_GENERATE_CODE (this=0x7efdf55ab2c0) at ncgcal.pas:1273
0000013 0x00000000005e7a18 in SECONDPASS (P=0x7efdf55ab2c0) at pass_2.pas:209
0000014 0x00000000006825b1 in TCGBLOCKNODE__PASS_GENERATE_CODE (this=0x7efdf4e17100) at ncgbas.pas:442
0000015 0x00000000005e7a18 in SECONDPASS (P=0x7efdf4e17100) at pass_2.pas:209
0000016 0x00000000006825b1 in TCGBLOCKNODE__PASS_GENERATE_CODE (this=0x7efdf4e17ac0) at ncgbas.pas:442
0000017 0x00000000005e7a18 in SECONDPASS (P=0x7efdf4e17ac0) at pass_2.pas:209
0000018 0x00000000005e7e66 in DO_SECONDPASS (P=0x7efdf4e17ac0) at pass_2.pas:249
--Type <RET> for more, q to quit, c to continue without paging--
0000019 0x00000000005b840f in TCGPROCINFO__GENERATE_CODE (this=0x7efdfe533b00) at psub.pas:1556
0000020 0x00000000005b7509 in TCGPROCINFO__GENERATE_CODE_TREE (this=0x7efdfe533b00) at psub.pas:1138
0000021 0x00000000005b9e1e in READ_PROC_BODY (OLD_CURRENT_PROCINFO=0x7efdfe533e40, PD=0x7efdf5ea1360) at psub.pas:2149
0000022 0x00000000005ba469 in READ_PROC (ISCLASSMETHOD=false, USEFWPD=0x0, ISGENERIC=false) at psub.pas:2349
0000023 0x00000000005baacf in READ_DECLARATIONS (ISLIBRARY=false) at psub.pas:2533
0000024 0x00000000005b4c78 in BLOCK (ISLIBRARY=false) at psub.pas:317
0000025 0x00000000005b977a in TCGPROCINFO__PARSE_BODY (this=0x7efdfe533e40) at psub.pas:1967
0000026 0x0000000000674052 in PROC_UNIT () at pmodules.pas:1085
0000027 0x0000000000635160 in COMPILE (FILENAME=...) at parser.pas:385
0000028 0x0000000000665d66 in TPPUMODULE__LOADPPU (this=0x7efdf6f21750) at fppu.pas:2106
0000029 0x0000000000672667 in LOADUNITS (PRESERVEST=0x0) at pmodules.pas:514
0000030 0x0000000000673a77 in PROC_UNIT () at pmodules.pas:967
0000031 0x0000000000635160 in COMPILE (FILENAME=...) at parser.pas:385
0000032 0x0000000000665d66 in TPPUMODULE__LOADPPU (this=0x7efe009772f0) at fppu.pas:2106
0000033 0x0000000000672667 in LOADUNITS (PRESERVEST=0x7efdf5d41760) at pmodules.pas:514
0000034 0x0000000000673e84 in PROC_UNIT () at pmodules.pas:1058
0000035 0x0000000000635160 in COMPILE (FILENAME=...) at parser.pas:385
0000036 0x0000000000665d66 in TPPUMODULE__LOADPPU (this=0x7efe010c1d90) at fppu.pas:2106
0000037 0x0000000000672667 in LOADUNITS (PRESERVEST=0x0) at pmodules.pas:514
0000038 0x0000000000673a77 in PROC_UNIT () at pmodules.pas:967
0000039 0x0000000000635160 in COMPILE (FILENAME=...) at parser.pas:385
0000040 0x0000000000665d66 in TPPUMODULE__LOADPPU (this=0x7efe009772f0) at fppu.pas:2106
0000041 0x0000000000672667 in LOADUNITS (PRESERVEST=0x0) at pmodules.pas:514
--Type <RET> for more, q to quit, c to continue without paging--
0000042 0x0000000000673a77 in PROC_UNIT () at pmodules.pas:967
0000043 0x0000000000635160 in COMPILE (FILENAME=...) at parser.pas:385
0000044 0x0000000000665d66 in TPPUMODULE__LOADPPU (this=0x7efe0096e1d0) at fppu.pas:2106
0000045 0x0000000000672667 in LOADUNITS (PRESERVEST=0x0) at pmodules.pas:514
0000046 0x0000000000673a77 in PROC_UNIT () at pmodules.pas:967
0000047 0x0000000000635160 in COMPILE (FILENAME=...) at parser.pas:385
0000048 0x0000000000665d66 in TPPUMODULE__LOADPPU (this=0x7efe00977db0) at fppu.pas:2106
0000049 0x0000000000672667 in LOADUNITS (PRESERVEST=0x0) at pmodules.pas:514
0000050 0x0000000000673a77 in PROC_UNIT () at pmodules.pas:967
0000051 0x0000000000635160 in COMPILE (FILENAME=...) at parser.pas:385
0000052 0x0000000000665d66 in TPPUMODULE__LOADPPU (this=0x7efe00972250) at fppu.pas:2106
#53 0x0000000000672667 in LOADUNITS (PRESERVEST=0x7efdf7cd5120) at pmodules.pas:514
#54 0x0000000000673e84 in PROC_UNIT () at pmodules.pas:1058
0000055 0x0000000000635160 in COMPILE (FILENAME=...) at parser.pas:385
0000056 0x0000000000665d66 in TPPUMODULE__LOADPPU (this=0x7efe00971230) at fppu.pas:2106
0000057 0x0000000000672667 in LOADUNITS (PRESERVEST=0x0) at pmodules.pas:514
0000058 0x0000000000673a77 in PROC_UNIT () at pmodules.pas:967
0000059 0x0000000000635160 in COMPILE (FILENAME=...) at parser.pas:385
0000060 0x0000000000665d66 in TPPUMODULE__LOADPPU (this=0x7efe009727b0) at fppu.pas:2106
0000061 0x0000000000672667 in LOADUNITS (PRESERVEST=0x0) at pmodules.pas:514
0000062 0x0000000000673a77 in PROC_UNIT () at pmodules.pas:967
0000063 0x0000000000635160 in COMPILE (FILENAME=...) at parser.pas:385
0000064 0x0000000000665d66 in TPPUMODULE__LOADPPU (this=0x7efe010c2850) at fppu.pas:2106
--Type <RET> for more, q to quit, c to continue without paging--
0000065 0x0000000000672667 in LOADUNITS (PRESERVEST=0x0) at pmodules.pas:514
0000066 0x0000000000673a77 in PROC_UNIT () at pmodules.pas:967
0000067 0x0000000000635160 in COMPILE (FILENAME=...) at parser.pas:385
0000068 0x0000000000665d66 in TPPUMODULE__LOADPPU (this=0x7efe010c02b0) at fppu.pas:2106
0000069 0x0000000000672667 in LOADUNITS (PRESERVEST=0x0) at pmodules.pas:514
0000070 0x0000000000673a77 in PROC_UNIT () at pmodules.pas:967
0000071 0x0000000000635160 in COMPILE (FILENAME=...) at parser.pas:385
0000072 0x0000000000434b11 in COMPILE (CMD=0x0) at compiler.pas:278
0000073 0x00000000004012c3 in main () at pp.pas:276
(gdb)
TagsNo tags attached.
Fixed in Revision
FPCOldBugId
FPCTarget-
Attached Files

Activities

Jonas Maebe

2018-12-09 12:47

manager   ~0112463

The compiler getting stuck in a "write" syscall suggests that whatever it is writing to got blocked on the kernel side. If it only happens in this particular container type, it sounds more like a bug in the container implementation than in FPC or the RTL.

Florian

2021-01-05 16:45

administrator   ~0128094

Please reopen if more info is available.

Issue History

Date Modified Username Field Change
2018-12-09 01:02 Cyrax New Issue
2018-12-09 12:47 Jonas Maebe Note Added: 0112463
2021-01-05 16:45 Florian Assigned To => Florian
2021-01-05 16:45 Florian Status new => resolved
2021-01-05 16:45 Florian Resolution open => unable to reproduce
2021-01-05 16:45 Florian FPCTarget => -
2021-01-05 16:45 Florian Note Added: 0128094