[Lazarus] Regular Lazarus crash when starting a new project

Michael Van Canneyt michael at freepascal.org
Fri May 10 15:24:15 CEST 2024



>> Do I understand correctly that it crashes when you try to open 
>> Project->"Create Project ..." or "File"->"Create ..." dialog?
>
> Yes.
>
>> 
>> It works just fine here with FPC 3.2.2 (in Xfce, but I doubt that it 
>> matters in this case). Are you using FPC 3.3.1?
>
> No, I only use FPC 3.2.2 to compile Lazarus, never 3.3.1.
>
> I am not so sure that it is not related to Xfce, I suppose it uses a 
> different window manager than Linux Mint ? I had problems with Lazarus and 
> Cinnamon in the
> past: more often than not starting a debugging session crashed Cinnamon.
> But that improved when I upgraded to Mint 21. Maybe it is a regression in
> Cinnamon, but since Lazarus is the only program on my computer that has this 
> issue, I tend to look at Lazarus for the cause.
>
> My main problem is that I have no clue how to debug it, maybe the --sync
> option as explained in the error message will tell me more.

Well, I am now 99.99% sure it is a Lazarus issue, recently introduced:

It also happens on my work PC: a standard Ubuntu 22.04 with Gnome.
I didn't have it before.  Only after updating lazarus to the latest git
wednesday.

Unfortunately, I don't have the exact git commits :/

However, now I have a backtrace when running with --sync:

#0  0x00007ffff79698d0 in _XError () at /lib/x86_64-linux-gnu/libX11.so.6
#1  0x00007ffff7969af7 in  () at /lib/x86_64-linux-gnu/libX11.so.6
#2  0x00007ffff7969b95 in  () at /lib/x86_64-linux-gnu/libX11.so.6
#3  0x00007ffff796b40d in _XReply () at /lib/x86_64-linux-gnu/libX11.so.6
#4  0x00007ffff795f172 in XReconfigureWMWindow () at /lib/x86_64-linux-gnu/libX11.so.6
#5  0x00007ffff7f517d1 in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#6  0x000000000050bb3e in APPREMOVESTAYONTOPFLAGS (this=0x7ffff696a250, ASYSTEMTOPALSO=true) at gtk2/gtk2widgetset.inc:1286
#7  0x00000000004a7758 in REMOVESTAYONTOP (this=0x7ffff6969bf0, ASYSTEMTOPALSO=true) at include/application.inc:1369
#8  0x00000000004a4e73 in MODALSTARTED (this=0x7ffff6969bf0) at include/application.inc:375
#9  0x000000000049e9eb in SHOWMODAL (this=0x7fffef37dbf0) at include/customform.inc:3002
#10 0x00000000019fabd4 in SHOWMODALOPTIONS (this=0x7fffef9166e0, FRM=0x7fffef37dbf0) at pjsdsgnregister.pas:502
#11 0x00000000019fa8fe in SHOWOPTIONSDIALOG (this=0x7fffef9166e0) at pjsdsgnregister.pas:468
#12 0x00000000019fb0a1 in DOINITDESCRIPTOR (this=0x7fffef9166e0) at pjsdsgnregister.pas:540
#13 0x00000000008a1740 in INITDESCRIPTOR (this=0x7fffef9166e0) at projectintf.pas:1337
#14 0x00000000004d5ced in DONEWPROJECT (this=0x7ffff4805050, PROJECTDESC=0x7fffef9166e0) at main.pp:6403
#15 0x00000000004cd5f3 in MNUNEWPROJECTCLICKED (this=0x7ffff4805050, SENDER=0x7fffef86cfc0) at main.pp:4306
#16 0x0000000000b136cf in MENUITEMCLICK (this=0x7fffef86cfc0, SENDER=0x7fffef8bfae0) at menuintf.pas:562
#17 0x0000000000b17500 in MENUITEMCLICK (this=0x7fffef86cfc0, SENDER=0x7fffef8bfae0) at menuintf.pas:1720
#18 0x00000000005fc871 in CLICK (this=0x7fffef8bfae0) at include/menuitem.inc:83
#19 0x00000000005fd178 in DOCLICKED (this=0x7fffef8bfae0, MSG=0) at include/menuitem.inc:296
#20 0x00000000004397c8 in DISPATCH (this=0x7fffef8bfae0, MESSAGE=0) at ../inc/objpas.inc:684
#21 0x00000000007db769 in DELIVERMESSAGE (TARGET=0x7fffef8bfae0, AMESSAGE=0) at lclmessageglue.pas:116
#22 0x000000000067c120 in DELIVE RMESSAGE (TARGET=0x7fffef8bfae0, AMESSAGE=0) at gtk2/gtk2proc.inc:3796
#23 0x00000000008297d6 in GTK2MENUITEMACTIVATE (WIDGET=0x3425040, DATA=0x7fffef8bfae0) at gtk2/gtk2wsmenus.pp:139
#24 0x00007ffff78a9d2f in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#25 0x00007ffff78c5c36 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#26 0x00007ffff78c7614 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#27 0x00007ffff78c7863 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#28 0x00007ffff7cd041c in gtk_widget_activate () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#29 0x00007ffff7bba335 in gtk_menu_shell_activate_item () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#30 0x00007ffff7bbbec3 in  () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#31 0x00007ffff7ba84d7 in  () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#32 0x00007ffff78a9d2f in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#33 0x00007ffff78c5624 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#34 0x00007ffff78c7026 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#35 0x00007ffff78c7863 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#36 0x00007ffff7cd4024 in  () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#37 0x00007ffff7ba6094 in gtk_propagate_event () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#38 0x00007ffff7ba76db in gtk_main_do_event () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#39 0x00007ffff7f4316b in  () at /lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#40 0x00007ffff77b0d3b in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#41 0x00007ffff7806258 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#42 0x00007ffff77ae3e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x000000000050e860 in APPWAITMESSAGE (this=0x7ffff696a250) at gtk2/gtk2widgetset.inc:2584
#44 0x00000000004a5377 in IDLE (this=0x7ffff6969bf0, WAIT=true) at include/application.inc:487
#45 0x00000000004a750c in HANDLEMESSAGE (this=0x7ffff6969bf0) at include/application.inc:1307
#46 0x00000000004a7b2f in RUNLOOP (this=0x7ffff6969bf0) at include/application.inc:1449
#47 0x0000000000667b63 in APPRUN (this=0x7ffff696a250, ALOOP=...) at include/interfacebase.inc:54
#48 0x00000000004a7ad7 in RUN (this=0x7ffff6969bf0) at include/application.inc:1437


Checking the logs for the first files in the stack trace, I get:

---------------------------------------------------------
TIX-MVANCANNEYT: ~/FPC/Lazarus/lcl (main)> git log -n 3 interfaces/gtk2/gtk2widgetset.inc 
commit 92e31d445e16ac42e6abcf831a0a562c1c516d36
Author: Željan Rikalo <zeljko at lazarus-ide.org>
Date:   Wed Jan 24 18:00:33 2024 +0100

     Gtk2: Implemented AllocateHwnd and DeallocateHwnd. Patch by Alexander (Rouse_) Bagel. issue #40721

commit 1783ee35d1631c80d20cf164a10974f2eb3481ce
Author: Maxim Ganetsky <maxim at lazarus-ide.org>
Date:   Fri Dec 22 18:45:41 2023 +0300

     LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658

commit 86218cf48d4165762de1be2145e6c63c538dab23
Author: Maxim Ganetsky <maxim at lazarus-ide.org>
Date:   Sun Dec 3 19:03:51 2023 +0300

     LCL-Gtk2: Correctly clear input flag in IME mode to avoid double char input. Issue #40630, based on patch by rasberryrabbit.
----------------------------------------------------------
TIX-MVANCANNEYT: ~/FPC/Lazarus/lcl (main)> git log -n 3  include/application.inc
commit d784606f771b17c0265cc0a6ba8483499bab5f76
Author: Juha <juha at lazarus-ide.org>
Date:   Mon Apr 22 08:03:50 2024 +0300

     LCL: Fix deprecation warnings. Issue #40918, patch by Don Siders.

commit 90dbac6a6f73151d93fe02243b337c7e82cbb611
Author: Juha <juha at lazarus-ide.org>
Date:   Tue Mar 5 16:02:03 2024 +0200

     LCL: Improve TApplication.ActivateHint. Issue #40820, patch by Alexander (Rouse_) Bagel.

commit 872608c38267b14d51f886dc160517f2b1d3a0a6
Author: mattias <nc-gaertnma at netcologne.de>
Date:   Wed Sep 6 16:17:49 2023 +0200

     lcl: fixed TApplication.CreateForm for splashform
-----------------------------------------------------------
TIX-MVANCANNEYT: ~/FPC/Lazarus/lcl (main)> git log -n 3 include/customform.inc
commit d784606f771b17c0265cc0a6ba8483499bab5f76
Author: Juha <juha at lazarus-ide.org>
Date:   Mon Apr 22 08:03:50 2024 +0300

     LCL: Fix deprecation warnings. Issue #40918, patch by Don Siders.

commit 34eace35876e1f56b7403e7671e080e41ea5a86e
Author: Željan Rikalo <zeljko at lazarus-ide.org>
Date:   Sat Mar 9 11:40:02 2024 +0100

     LCL: Do not throw error inside SetActiveControl if we are embedded designer. issue #40833

commit 16e2f677e2b2e0eaf14bcb4ef67f4ed83db21cfe
Author: Juha <juha at lazarus-ide.org>
Date:   Fri Mar 8 07:21:11 2024 +0200

     LCL: Fix TForm.LastActiveControl behavior. Issue #40774, patch by Bernd Jung.
------------------------------------------------------------

Anything else I could check ?

Michael.


More information about the lazarus mailing list