View Issue Details

IDProjectCategoryView StatusLast Update
0011062FPCCompilerpublic2008-07-31 13:11
ReporterMartin Schreiber Assigned ToFlorian  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product Version2.2.1 
Target Version2.3.1Fixed in Version2.4.0 
Summary0011062: Compiler crash with {$interfaces corba}
DescriptionThere is an AV if {$interfaces corba} is not defined
in all units. Compile mseide.pas -> SIGSEGV

#0 0808360C cclasses.pas:864 TFPOBJECTLIST__GETCOUNT(this=0x0)
0000001 080A91EE symdef.pas:3834 TOBJECTDEF__BUILDDEREF(this=0xb6d915a0)
0000002 080BC0F1 symtable.pas:428 TSTOREDSYMTABLE__BUILDDEREF(this=0xb7a2d200)
0000003 0812755F fppu.pas:1139 TPPUMODULE__GETPPUCRC(this=0xb7ecbf00)
0000004 081322CD pmodules.pas:959 PROC_UNIT()
0000005 08117E8F parser.pas:379 COMPILE(FILENAME='msegui.pas')
0000006 08127FF6 fppu.pas:1468 TPPUMODULE__LOADPPU(this=0xb7ecbf00)
0000007 0813158E pmodules.pas:612 LOADUNITS()
0000008 0813213E pmodules.pas:917 PROC_UNIT()
0000009 08117E8F parser.pas:379 COMPILE(FILENAME='mseguiintf.pas')
0000010 08127FF6 fppu.pas:1468 TPPUMODULE__LOADPPU(this=0xb7ecee80)
0000011 0813158E pmodules.pas:612 LOADUNITS()
0000012 08131863 pmodules.pas:700 PARSE_IMPLEMENTATION_USES()
0000013 081323EE pmodules.pas:996 PROC_UNIT()
0000014 08117E8F parser.pas:379 COMPILE(FILENAME='msebitmap.pas')
0000015 08127FF6 fppu.pas:1468 TPPUMODULE__LOADPPU(this=0xb79cb1f0)
0000016 0813158E pmodules.pas:612 LOADUNITS()
0000017 0813213E pmodules.pas:917 PROC_UNIT()
0000018 08117E8F parser.pas:379 COMPILE(FILENAME='msegui.pas')
0000019 08127FF6 fppu.pas:1468 TPPUMODULE__LOADPPU(this=0xb7ecbf00)
0000020 0813158E pmodules.pas:612 LOADUNITS()
0000021 0813213E pmodules.pas:917 PROC_UNIT()
0000022 08117E8F parser.pas:379 COMPILE(FILENAME='mseguiintf.pas')
0000023 08127FF6 fppu.pas:1468 TPPUMODULE__LOADPPU(this=0xb7ecee80)
0000024 0813158E pmodules.pas:612 LOADUNITS()
0000025 08131863 pmodules.pas:700 PARSE_IMPLEMENTATION_USES()
0000026 081323EE pmodules.pas:996 PROC_UNIT()
0000027 08117E8F parser.pas:379 COMPILE(FILENAME='msepointer.pas')
0000028 08127FF6 fppu.pas:1468 TPPUMODULE__LOADPPU(this=0xb7ed1ba0)
0000029 0813158E pmodules.pas:612 LOADUNITS()
0000030 0813213E pmodules.pas:917 PROC_UNIT()
0000031 08117E8F parser.pas:379 COMPILE(FILENAME='msegui.pas')
0000032 08127FF6 fppu.pas:1468 TPPUMODULE__LOADPPU(this=0xb7ecbf00)
0000033 0813158E pmodules.pas:612 LOADUNITS()
0000034 08131863 pmodules.pas:700 PARSE_IMPLEMENTATION_USES()
0000035 081323EE pmodules.pas:996 PROC_UNIT()
0000036 08117E8F parser.pas:379 COMPILE(FILENAME='msegraphics.pas')
0000037 08127FF6 fppu.pas:1468 TPPUMODULE__LOADPPU(this=0xb7ecc160)
0000038 0813158E pmodules.pas:612 LOADUNITS()
0000039 0813213E pmodules.pas:917 PROC_UNIT()
0000040 08117E8F parser.pas:379 COMPILE(FILENAME='msegui.pas')
0000041 08127FF6 fppu.pas:1468 TPPUMODULE__LOADPPU(this=0xb7ecbf00)
0000042 0813158E pmodules.pas:612 LOADUNITS()
0000043 08132E88 pmodules.pas:1296 PROC_PROGRAM(ISLIBRARY=false)
0000044 08117EA0 parser.pas:382 COMPILE(FILENAME='mseide.pas')
0000045 08062D74 compiler.pas:244 COMPILE(CMD='')
0000046 08048256 pp.pas:207 main()

TagsNo tags attached.
Fixed in Revision11493
FPCOldBugId
FPCTarget
Attached Files

Activities

2008-03-29 09:26

 

corbacrash.tar.bz2 (343,595 bytes)

Florian

2008-07-28 20:43

administrator   ~0020988

Please reopen if rev. 11478 doesn't fix it.

Martin Schreiber

2008-07-31 10:01

reporter   ~0021009

Not fixed with 11492 and the provided testcase:
"
#0 080837BC cclasses.pas:864 TFPOBJECTLIST__GETCOUNT(this=0x0)
0000001 080AA2BE symdef.pas:3837 TOBJECTDEF__PPUWRITE(PPUFILE=0xb69ccec0, this=0xb6bc8020)
0000002 080B9B1B symtable.pas:396 TSTOREDSYMTABLE__WRITEDEFS(PPUFILE=0xb69ccec0, this=0xb7a35e00)
0000003 080B9447 symtable.pas:298 TSTOREDSYMTABLE__PPUWRITE(PPUFILE=0xb69ccec0, this=0xb7a35e00)
0000004 080BBD87 symtable.pas:1365 TGLOBALSYMTABLE__PPUWRITE(PPUFILE=0xb69ccec0, this=0xb7a35e00)
0000005 0812A985 fppu.pas:1161 TPPUMODULE__GETPPUCRC(this=0xb7e8dc00)
0000006 08135C6F pmodules.pas:1027 PROC_UNIT()
0000007 0811B3B3 parser.pas:380 COMPILE(FILENAME='msegui.pas')
0000008 0812B3C6 fppu.pas:1482 TPPUMODULE__LOADPPU(this=0xb7e8dc00)
0000009 08134F6E pmodules.pas:680 LOADUNITS()
0000010 08135AEC pmodules.pas:985 PROC_UNIT()
0000011 0811B3B3 parser.pas:380 COMPILE(FILENAME='mseguiintf.pas')
0000012 0812B3C6 fppu.pas:1482 TPPUMODULE__LOADPPU(this=0xb7e90b80)
0000013 08134F6E pmodules.pas:680 LOADUNITS()
0000014 08135243 pmodules.pas:768 PARSE_IMPLEMENTATION_USES()
0000015 08135D86 pmodules.pas:1064 PROC_UNIT()
0000016 0811B3B3 parser.pas:380 COMPILE(FILENAME='msebitmap.pas')
0000017 0812B3C6 fppu.pas:1482 TPPUMODULE__LOADPPU(this=0xb7e94e00)
0000018 08134F6E pmodules.pas:680 LOADUNITS()
0000019 08135AEC pmodules.pas:985 PROC_UNIT()
0000020 0811B3B3 parser.pas:380 COMPILE(FILENAME='msegui.pas')
0000021 0812B3C6 fppu.pas:1482 TPPUMODULE__LOADPPU(this=0xb7e8dc00)
0000022 08134F6E pmodules.pas:680 LOADUNITS()
0000023 08135AEC pmodules.pas:985 PROC_UNIT()
0000024 0811B3B3 parser.pas:380 COMPILE(FILENAME='mseguiintf.pas')
0000025 0812B3C6 fppu.pas:1482 TPPUMODULE__LOADPPU(this=0xb7e90b80)
0000026 08134F6E pmodules.pas:680 LOADUNITS()
0000027 08135243 pmodules.pas:768 PARSE_IMPLEMENTATION_USES()
0000028 08135D86 pmodules.pas:1064 PROC_UNIT()
0000029 0811B3B3 parser.pas:380 COMPILE(FILENAME='msepointer.pas')
0000030 0812B3C6 fppu.pas:1482 TPPUMODULE__LOADPPU(this=0xb7e938a0)
0000031 08134F6E pmodules.pas:680 LOADUNITS()
0000032 08135AEC pmodules.pas:985 PROC_UNIT()
0000033 0811B3B3 parser.pas:380 COMPILE(FILENAME='msegui.pas')
0000034 0812B3C6 fppu.pas:1482 TPPUMODULE__LOADPPU(this=0xb7e8dc00)
0000035 08134F6E pmodules.pas:680 LOADUNITS()
0000036 08135243 pmodules.pas:768 PARSE_IMPLEMENTATION_USES()
0000037 08135D86 pmodules.pas:1064 PROC_UNIT()
0000038 0811B3B3 parser.pas:380 COMPILE(FILENAME='msegraphics.pas')
0000039 0812B3C6 fppu.pas:1482 TPPUMODULE__LOADPPU(this=0xb7e8de60)
0000040 08134F6E pmodules.pas:680 LOADUNITS()
0000041 08135AEC pmodules.pas:985 PROC_UNIT()
0000042 0811B3B3 parser.pas:380 COMPILE(FILENAME='msegui.pas')
0000043 0812B3C6 fppu.pas:1482 TPPUMODULE__LOADPPU(this=0xb7e8dc00)
0000044 08134F6E pmodules.pas:680 LOADUNITS()
0000045 08138008 pmodules.pas:1934 PROC_PROGRAM(ISLIBRARY=false)
0000046 0811B3ED parser.pas:388 COMPILE(FILENAME='mseide.pas')
0000047 080644A0 compiler.pas:243 COMPILE(CMD='')
0000048 08048236 pp.pas:204 main()
"
function TFPObjectList.GetCount: integer;
begin
  Result := FList.Count; <<<<------ crash
end;

    procedure tobjectdef.ppuwrite(ppufile:tcompilerppufile);
[...]
         if objecttype in [odt_class,odt_interfacecorba] then
           begin
             ppufile.putlongint(ImplementedInterfaces.Count);
             for i:=0 to ImplementedInterfaces.Count-1 do <<<---ImplementedInterfaces = nil

PS: the testcase is complete, it should work for you.

Florian

2008-07-31 10:10

administrator   ~0021010

Compiling msesysintf.pas
Compiling msesetlocale.pas
Fatal: Can't find unit libc used by msesetlocale
Fatal: Compilation aborted
Error: c:\pp\bin\i386-win32\ppc386.exe returned an error exitcode (normal if you did not specify a source file to be compiled)

Florian

2008-07-31 10:17

administrator   ~0021011

Applied another fix in rev. 11493

Martin Schreiber

2008-07-31 12:10

reporter   ~0021013

The crash has gone, thanks.

FPC libc is in <yourfpcdirectory>/packages/libc. Please add
-Fu<yourfpcdirectory>/packages/libc/units/$fpctarget
to your .fpc.cfg file.
The testcase does not compile complete because I added the files to show the crash only.

Florian

2008-07-31 12:51

administrator   ~0021014

Well, I'am windows I doubt libc compiles on windows ;) Anyways, since its fixed, I mark it as resolved.

Martin Schreiber

2008-07-31 13:11

reporter   ~0021015

Ouh, I didn't know that someone still develops on Windows. ;-)

Issue History

Date Modified Username Field Change
2008-03-29 09:26 Martin Schreiber New Issue
2008-03-29 09:26 Martin Schreiber File Added: corbacrash.tar.bz2
2008-07-28 20:43 Florian Fixed in Revision => 11478
2008-07-28 20:43 Florian Status new => resolved
2008-07-28 20:43 Florian Fixed in Version => 2.3.1
2008-07-28 20:43 Florian Resolution open => fixed
2008-07-28 20:43 Florian Assigned To => Florian
2008-07-28 20:43 Florian Note Added: 0020988
2008-07-28 20:43 Florian Target Version => 2.3.1
2008-07-31 10:01 Martin Schreiber Status resolved => feedback
2008-07-31 10:01 Martin Schreiber Resolution fixed => reopened
2008-07-31 10:01 Martin Schreiber Note Added: 0021009
2008-07-31 10:10 Florian Note Added: 0021010
2008-07-31 10:17 Florian Note Added: 0021011
2008-07-31 12:10 Martin Schreiber Note Added: 0021013
2008-07-31 12:51 Florian Fixed in Revision 11478 => 11493
2008-07-31 12:51 Florian Status feedback => resolved
2008-07-31 12:51 Florian Resolution reopened => fixed
2008-07-31 12:51 Florian Note Added: 0021014
2008-07-31 13:11 Martin Schreiber Status resolved => closed
2008-07-31 13:11 Martin Schreiber Note Added: 0021015