[Lazarus] Error when installing project groups

Michael Van Canneyt michael at freepascal.org
Thu Dec 17 21:42:28 CET 2015


Hi,

I tried to install the lazprojectgroups package.

Upon the next start of lazarus, the whole of lazarus crashes with an index
out of bounds. I believe someone else reported it already.

The strange thing is that the crash happens in something unrelated to lazprojectgroups:

[FORMS.PP] ExceptionOccurred
   Sender=EListError
   Exception=List index (24) out of bounds
   Stack trace:
   $00000000004EE835
   $00000000008A4E41 line 1074 of menuintf.pas
   $00000000008A49ED line 1163 of menuintf.pas
   $00000000008A493E line 1146 of menuintf.pas
   $00000000008A549B line 1274 of menuintf.pas
   $00000000008A5492 line 1270 of menuintf.pas
   $00000000008A599C line 1347 of menuintf.pas
   $00000000008A58BC line 1336 of menuintf.pas
   $00000000008A2A38 line 522 of menuintf.pas
   $00000000016EAF59 line 365 of reglazdatadict.pp
   $00000000009BB211 line 5434 of ../packager/packagesystem.pas
   $00000000009A7B49 line 1814 of ../packager/packagesystem.pas
   $0000000000E0C190 line 55 of lazaruspackageintf.pas
   $00000000004C9CCA line 18 of lazdatadict.pas
   $00000000009BB211 line 5434 of ../packager/packagesystem.pas
   $00000000009BB006 line 5400 of ../packager/packagesystem.pas
   $00000000009C2643 line 1580 of ../packager/pkgmanager.pas

Presumably, both packages register a menu section.

The lines in question are

         if ContainerMenuIndex>ContainerMenuItem.Count then begin
           debugln('TIDEMenuSection.UpdateMenuStructure CREATE BottomSeparator Name="',Name,'" ContainerMenuIndex=',dbgs(ContainerMenuIndex),' ContainerMenuItem.Count=',dbgs(ContainerMenuItem.Count
           GetRoot.WriteDebugReport(' Bottom ',true);
         end;
         ContainerMenuItem.Insert(ContainerMenuIndex,FBottomSeparator);
       end;

At the very least the

        if ContainerMenuIndex>ContainerMenuItem.Count then begin
           debugln('TIDEMenuSection.UpdateMenuStructure CREATE BottomSeparator Name="',Name,'" ContainerMenuIndex=',dbgs(ContainerMenuIndex),' ContainerMenuItem.Count=',dbgs(ContainerMenuItem.Count
           GetRoot.WriteDebugReport(' Bottom ',true);
         end;

Looks strange, since if that happens, there is sure to be a crash with the
insert, but no action other than a debug message is posted ?

What can I do to prevent this and yet have both packages installed?

Michael.





More information about the Lazarus mailing list