[Lazarus] Menu editor unstable? - stack trace

Michael Van Canneyt michael at freepascal.org
Sun May 7 13:12:43 CEST 2017



On Sun, 7 May 2017, Michael Van Canneyt wrote:

>
>
> On Sun, 7 May 2017, Mattias Gaertner via Lazarus wrote:
>
>> On Sat, 6 May 2017 21:26:38 +0200 (CEST)
>> Michael Van Canneyt via Lazarus <lazarus at lists.lazarus-ide.org> wrote:
>> 
>>> [...]
>>> I have not exactly been able to reproduce reliably, but the following just 
>>> triggered
>>> it:
>>> - Start IDE
>>> - Open project
>>> - Select a popup menu (there are several)
>>> - Double click to edit
>>> - Select menu item 1
>>> - Immediatly select menu item 2.
>>> -> crash. 
>>> But also simply selecting something in the menu editor, and going to the 
>>> object
>>> inspector can crash it.
>>> 
>>> As a result I find myself saving all files before entering the menu 
>>> editor.
>>> Not exactly ideal, to say the least.
>>> 
>>> Anyone else experiencing this ?
>>> 
>>> Latest Lazarus from SVN. GTK2, linux 64-bit.
>> 
>> It does not crash here. So it needs something more to trigger the bug.
>> Maybe the FPC Version?
>
> 3.0.2
>
>> Stacktrace?
>
> I will try to get one.

Here it is.

When It happened, I had just selected a menu item, and wanted to change it's
name in the object inspector (I think I was typing the first characters of
the new name, not 100% sure on that).

TObjectInspectorDlg.FillPersistentComboBox: Updating ComboBox with components
TObjectInspectorDlg.FillPersistentComboBox: Updating ComboBox with components
TObjectInspectorDlg.FillPersistentComboBox: Updating ComboBox with components
TObjectInspectorDlg.FillPersistentComboBox: Updating ComboBox with components
TObjectInspectorDlg.FillPersistentComboBox: Updating ComboBox with components
Hint: (lazarus) TMainIDE.DesignerRenameComponent Old=MenuItem37:TMenuItem New=MIResize Owner=FPReportDesignerForm:TFPReportDesignerForm
WARNING: TShadowItem.Destroy with LCLRefCount>0. Hint: Maybe the component is processing an event?
TApplication.HandleException Access violation
   Stack trace:
   $0000000000000000
   $00000000009FD49D line 1617 of ../designer/menueditor.pp
   $0000000000A02673 line 2590 of ../designer/menueditor.pp
   $00000000005B29F8 line 2242 of include/control.inc
   $00000000005B2E61 line 2375 of include/control.inc
   $0000000000436562 line 602 of ../inc/objpas.inc
   $00000000005B28FD line 2202 of include/control.inc
   $00000000005A580C line 5396 of include/wincontrol.inc
   $00000000007722AC line 112 of lclmessageglue.pas
   $000000000066C191 line 3702 of gtk2/gtk2proc.inc
   $000000000067AEC6 line 2137 of gtk2/gtk2callback.inc
   $000000000067A5C8 line 1899 of gtk2/gtk2callback.inc
   $00007F04FDB6EAFC


The WARNING is a bit frightening...
Looking at the stack trace, it looks like FShadowMenu in line 2590 of menueditor is Nil. 
Which seems to correspond with the warning ?

After clicking Abort, I get then 2 more AVs:

[TJITComponentList.DestroyJITComponent] ERROR destroying component Error: Access violation
   Stack trace:
   $00000000004E2AD4 line 790 of mainbase.pas
   $00000000004CD54F line 8978 of main.pp
   $000000000090B365 line 6331 of propedits.pp
   $00000000009D95C3 line 3008 of ../designer/designer.pp
   $00000000009D9DEB line 3165 of ../designer/designer.pp
   $000000000048529F line 288 of include/customform.inc
   $000000000053492E line 481 of ../objpas/classes/compon.inc
   $00000000006A4C15 line 131 of lclclasses.pp
   $00000000005B9D59 line 4991 of include/control.inc
   $00000000005A81B8 line 6601 of include/wincontrol.inc
   $00000000005BC54F line 54 of include/customcontrol.inc
   $000000000048394F line 316 of include/scrollingwincontrol.inc
   $0000000000484FF1 line 212 of include/customform.inc
   $0000000000435E81 line 288 of ../inc/objpas.inc
   $00000000009BE1AE line 777 of ../designer/jitforms.pp
   $00000000009BDEDB line 728 of ../designer/jitforms.pp
   $0000000000435E81 line 288 of ../inc/objpas.inc
TCustomFormEditor.JITListException List.CurReadStreamClass=nil nil
TApplication.HandleException: there was another exception during showing the first exception
   Stack trace:
   $0000000000690829 line 768 of laz_avl_tree.pp
   $00000000009E6B69 line 2086 of customformeditor.pp
   $00000000009E0CC1 line 815 of customformeditor.pp
   $00000000009E0C87 line 806 of customformeditor.pp
   $0000000000481346 line 2108 of forms.pp
   $00000000009D9575 line 2995 of ../designer/designer.pp
   $00000000009D9DEB line 3165 of ../designer/designer.pp
   $000000000048529F line 288 of include/customform.inc
   $000000000053492E line 481 of ../objpas/classes/compon.inc
   $000000000090D446 line 7112 of propedits.pp
   $0000000000435E81 line 288 of ../inc/objpas.inc
   $000000000049C913 line 870 of lclproc.pas
   $00000000004AD6C1 line 1662 of main.pp
   $0000000000435E81 line 288 of ../inc/objpas.inc
   $0000000000493A01 line 1093 of include/application.inc
   $0000000000480986 line 1904 of forms.pp
   $000000000043B623 line 972 of ../inc/system.inc
lazarus.pp - unhandled exception

And I need to kill lazarus with a -KILL signal.

Luckily I saved my form just before it happened :)

Michael.


More information about the Lazarus mailing list