[Pkg-pascal-devel] Bug#830906: freepascal textmode IDE crashes on startup on arm64

peter green plugwash at p10link.net
Tue Jul 12 20:28:38 UTC 2016


Package: fp-ide-3.0.0
Severity: important

The freepascal textmode IDE crashes on startup on arm64. I rebuilt it 
with debug symbols enabled and got the following backtrace.

root at pine64pro:/# gdb /fpc-3.0.0+dfsg/fpcsrc/ide/bin/aarch64-linux/fp
GNU gdb (Debian 7.11.1-2) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "aarch64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /fpc-3.0.0+dfsg/fpcsrc/ide/bin/aarch64-linux/fp...done.
(gdb) run
Starting program: /fpc-3.0.0+dfsg/fpcsrc/ide/bin/aarch64-linux/fp

Program received signal SIGSEGV, Segmentation fault.
0x000000000043851c in REGISTERTYPE (S=...) at 
rtl-extra/src/inc/objects.pp:2935
2935         Do P := P^.Next;                                 { Find end 
of chain }
(gdb) p P
$1 = 0x0
(gdb) bt
#0  0x000000000043851c in REGISTERTYPE (S=...)
     at rtl-extra/src/inc/objects.pp:2935
#1  0x00000000006d1f4c in REGISTERTIMEDDIALOG () at fv/src/timeddlg.pas:246
#2  0x00000000006d1f6c in TIMEDDLG_$$_init () at fv/src/timeddlg.pas:252
#3  0x000000000041a4cc in fpc_initializeunits () at ../inc/system.inc:895
#4  0x0000000000400888 in main () at fp.pas:350
(gdb) p S
$2 = {OBJTYPE = 98, VMTLINK = 0x8872f8, LOAD = 0x6d1ae8, STORE = 0x6d1c58,
   NEXT = 0x0}
(gdb)

Not sure what is going wrong here.  gdb tells me that P is nil and yet 
there is a gaurd against that in the code. Maybe a miscompilation of 
some sort?

The issue does not seem to appear with upstream trunk.



More information about the Pkg-pascal-devel mailing list