Hi @all!
recently switched over from Laptop using Debian12 cinneamon to a new one running Kubuntu 24.04.
I manage my Lazarus-installs using fpcupdeluxe, so I expected to just copy over the Lazarus folder and start up again.
I tried this with Lazarus Lazarus 3.7 and 4.0 RC2 - no difference
But Lazarus won't start throwing an exception.
[FORMS.PP] ExceptionOccurred
Sender=EInvalidOp
Exception=Invalid floating point operation
Stack trace:
$00007E116707FD8B
$00007E11672B96CC
TApplication.HandleException: EInvalidOp
Invalid floating point operation
Stack trace:
$00007E116707FD8B
$00007E11672B96CC
Exception at 00007E116707FD8B: EInvalidOp:
Invalid floating point operation.
After a lot of try and error I found the following:
The crashing Lazarus was compiled using gtk2.
If I compiled the same install as qt5 I could start it.
Now are there several components I'd like to use that need gtk2 on linux (e.g. cef4delphi out of the online repositories and the comercial Fast Reports that I use a lot).
Tried to compile the ide with debug enabled - but then I don't get a lot more information.
(if that helps: These are the further lines I get in addition to the ones above when comping as Debug-IDE:
Heap dump by heaptrc unit of [path2Lazarusinstall]/lazarus/lazarus
129441 memory blocks allocated : 11318325/11718336
129435 memory blocks freed : 11318013/11718024
6 unfreed memory blocks : 312
True heap size : 1376256
True free heap : 1374624
Should be : 1374792
Call trace for block $000078ED25314980 size 128
$0000000000435E11
Call trace for block $000078ED22954C00 size 40
$0000000000435E11
Call trace for block $000078ED22954B00 size 24
Call trace for block $000078ED22BFC900 size 48
$0000000001EE5469 $IDTHREAD_$$_init$, line 785 of Core/IdThread.pas
$0000000000438FDC
Call trace for block $000078ED22BFC800 size 24
$0000000001EE5469 $IDTHREAD_$$_init$, line 785 of Core/IdThread.pas
$0000000000438FDC
Call trace for block $000078ED22BFB800 size 48
$0000000000438FDC
As its the same on 3.7 and 4.0 RC2 I'd suspect some library issues on the new Laptop. But if so - how to find which one?
Also tried to start Lazarus with --debug-enable=DBG_VERBOSE but the exception seems to happen too early to let lazarus honor the command line option....
I'm a little lost at that time - any hints how to figure out what happens at start and how to get rid of it?
regards
Lukas