FS#59016 - [lazarus-qt5] never killed

Attached to Project: Community Packages
Opened by patrick c (papajoke) - Friday, 15 June 2018, 00:29 GMT
Last edited by Ike Devolder (BlackEagle) - Tuesday, 23 April 2019, 19:04 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Ike Devolder (BlackEagle)
Architecture x86_64
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:
lazarus-qt5 always crash at close but process not killed

after 4 load and close
patrick 17269 0.2 1.5 804076 89556 ? Sl 02:19 0:00 /usr/bin/startlazarus
patrick 17275 1.6 2.1 866340 126032 ? Sl 02:19 0:02 /usr/lib/lazarus/lazarus --no-splash-screen --started-by-startlazarus --force-new-instance
patrick 17289 0.1 1.3 798256 82256 ? Sl 02:19 0:00 /usr/bin/startlazarus
patrick 17293 1.7 2.1 866352 125408 ? Sl 02:19 0:02 /usr/lib/lazarus/lazarus --no-splash-screen --started-by-startlazarus --force-new-instance
patrick 17378 0.4 1.5 804076 89840 ? Sl 02:20 0:00 /usr/bin/startlazarus
patrick 17382 3.5 2.0 866144 124944 ? Sl 02:20 0:02 /usr/lib/lazarus/lazarus --no-splash-screen --started-by-startlazarus --force-new-instance
patrick 17449 1.0 1.3 798244 81948 ? Sl 02:21 0:00 /usr/bin/startlazarus
patrick 17453 22.0 2.1 866548 126452 ? Sl 02:21 0:05 /usr/lib/lazarus/lazarus --no-splash-screen --started-by-startlazarus --force-new-instance




Additional info:
* package version(s)
lazarus 1.8.4-1
plasma-workspace 5.13.0-1

* log files

in console :
LAZARUS END - cleaning up ...
Hint: (lazarus) [TMainIDE.Destroy] B -> inherited Destroy... TMainIDE
Hint: (lazarus) [TMainIDE.Destroy] END
An unhandled exception occurred at $00007F385FF7936E:
EAccessViolation:
$00007F385FF7936E


This task depends upon

Closed by  Ike Devolder (BlackEagle)
Tuesday, 23 April 2019, 19:04 GMT
Reason for closing:  Fixed
Additional comments about closing:  from my tests it looks like it is fixed
Comment by patrick c (papajoke) - Friday, 15 June 2018, 14:45 GMT
is not only lazarus-qt5 but all program qt make with lazarus
what's weird is that qt5 programs written with lazarus don't have this problem with xfce

as doublecmd-qt5
PollThread: Finish polling
An unhandled exception occurred at $00007F54FB83936E:
EAccessViolation:
$00007F54FB83936E in /usr/lib/libQt5Core.so.5
Comment by Ike Devolder (BlackEagle) - Wednesday, 20 June 2018, 16:11 GMT
Just tested with doublecmd, no issue closing

doublecmd

(doublecmd:12033): Gtk-WARNING **: 18:08:58.397: Unable to locate theme engine in module_path: "adwaita",

(doublecmd:12033): Gtk-WARNING **: 18:08:58.397: Unable to locate theme engine in module_path: "adwaita",

(doublecmd:12033): Gtk-WARNING **: 18:08:58.399: Unable to locate theme engine in module_path: "murrine",

(doublecmd:12033): Gtk-WARNING **: 18:08:58.399: Unable to locate theme engine in module_path: "murrine",

(doublecmd:12033): Gtk-WARNING **: 18:08:58.399: Unable to locate theme engine in module_path: "murrine",

(doublecmd:12033): Gtk-WARNING **: 18:08:58.400: Unable to locate theme engine in module_path: "murrine",

(doublecmd:12033): Gtk-WARNING **: 18:08:58.400: Unable to locate theme engine in module_path: "murrine",

(doublecmd:12033): Gtk-WARNING **: 18:08:58.400: Unable to locate theme engine in module_path: "murrine",

(doublecmd:12033): Gtk-WARNING **: 18:08:58.400: Unable to locate theme engine in module_path: "murrine",

(doublecmd:12033): Gtk-WARNING **: 18:08:58.400: Unable to locate theme engine in module_path: "murrine",

(doublecmd:12033): Gtk-WARNING **: 18:08:58.400: Unable to locate theme engine in module_path: "murrine",

(doublecmd:12033): Gtk-WARNING **: 18:08:58.400: Unable to locate theme engine in module_path: "murrine",

(doublecmd:12033): Gtk-WARNING **: 18:08:58.401: Unable to locate theme engine in module_path: "murrine",
Starting GuiMessageQueue
Starting Double Commander
Double Commander 0.8.3 beta
Revision: 8160
Build: 2018/06/04
Lazarus: 1.8.2.0
Free Pascal: 3.0.4
Platform: x86_64-Linux-qt5
System: Arch Linux
Desktop Environment: Unknown
Widgetset library: Qt 5.11.0, libQt5Pas 5.6.1
This program is free software released under terms of GNU GPL 2
(C)opyright 2006-2017 Alexander Koblov (alexx2000@mail.ru)
and contributors (see about dialog)
Executable directory: /usr/lib/doublecmd/
Loading configuration from /home/ike/.config/doublecmd/
WDX: LOAD: /usr/lib/doublecmd/plugins/wdx/rpm_wdx/rpm_wdx.wdx
WDX: LOAD: /usr/lib/doublecmd/plugins/wdx/deb_wdx/deb_wdx.wdx
WDX: LOAD: /usr/lib/doublecmd/plugins/wdx/audioinfo/audioinfo.wdx
Error loading configuration file /home/ike/.config/doublecmd/favoritetabs.xml
PollThread: Start polling
PollThread: AddPoll 11
Creating PixmapManager
Loading icon theme Hicolor
Loading icon theme Hicolor
Loading icon theme DCTheme
Loading icon theme DCTheme
PollThread: AddPoll 15
UDev: Begin monitoring
Detecting mounts through /proc/self/mounts
PollThread: AddPoll 16
TColumnsFileView.Create components
Creating TFileSystemFileSource
TColumnsFileView.Create components
FileSystemWatcher thread starting
frmMain.frmMainShow
PollThread: RemovePoll 11
PollThread: AddPoll 11
Finished Double Commander
Destroying main form
Drive watcher finished
Waiting for workers thread 0000000002751648
Finalized workers thread 0000000002751648
Waiting for FileSystemWatcher thread
FileSystemWatcher thread finished
Waiting for workers thread 0000000002752488
Finalized workers thread 0000000002752488
Destroying TFileSystemFileSource when refcount=0
Main form destroyed
Finishing GuiMessageQueue
Shutting down PixmapManager
PollThread: RemovePoll 11
PollThread: Finish polling

with qt 5.11.0
Comment by Ike Devolder (BlackEagle) - Wednesday, 20 June 2018, 16:12 GMT
@papajoke could you give more information in what environment you are starting these?

what WM/DE, maybe other configuration related to QT
Comment by patrick c (papajoke) - Thursday, 21 June 2018, 15:28 GMT
arch stable updated (today with last qt-base 5.11.1-1)

for me it's not QT but plasma (not wayland) !
with plasma : same bug with my acount and a fresh new user (created only for this test)
with jwm my same account as plasma (same partition/packages/kernel/home as plasma) : no bug, doublecmd close well

my plasma account env :
grep -Ei "qt|kde|plasma"
QT_LOGGING_RULES=*=false
KDE_SESSION_VERSION=5
KDE_SESSION_UID=1000
DESKTOP_SESSION=/usr/share/xsessions/plasma
XDG_SESSION_DESKTOP=KDE
QT_AUTO_SCREEN_SCALE_FACTOR=0
XDG_CURRENT_DESKTOP=KDE
KDE_FULL_SESSION=true

my jwm account env :
grep -Ei "qt|kde|plasma"
QT_LOGGING_RULES=*=false


With my plasma : same bug with brize and oxygen / with global menus and not / with menu in caption and not

-----
-----

I have create a empty qt5 program with lazarus, same bug as doublecmd ( in /usr/lib/libQt5Core.so.5)

begin
Writeln('App start');

RequireDerivedFormResource:=True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;

Writeln ('App end');
Writeln ('desktop: '+ fpgetenv('XDG_CURRENT_DESKTOP'));
Writeln ('session: '+ fpgetenv('DESKTOP_SESSION'));
Writeln ('Process: '+ IntToStr(GetProcessID));
end.

gdb:
Starting program: /home/Data/Patrick/workspace/lazarus/test2/test --no-daemon --verbose
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffea713700 (LWP 4508)]
[New Thread 0x7fffdc20f700 (LWP 4509)]
App start
FormCreate
[New Thread 0x7fffcc927700 (LWP 4510)]
FormClose
App end
desktop: KDE
session: /usr/share/xsessions/plasma
Process: 4503
Heap dump by heaptrc unit
1122 memory blocks allocated : 1597232/1599088
1122 memory blocks freed : 1597232/1599088
0 unfreed memory blocks : 0
True heap size : 589824
True free heap : 589824
[Thread 0x7fffcc927700 (LWP 4510) exited]

Thread 1 "test" received signal SIGSEGV, Segmentation fault.
0x00007ffff532f45e in QMetaCallEvent::QMetaCallEvent(QtPrivate::QSlotObjectBase*, QObject const*, int, int, int*, void**, QSemaphore*) () from /usr/lib/libQt5Core.so.5
Comment by patrick c (papajoke) - Thursday, 21 June 2018, 16:38 GMT
Ok
XDG_CURRENT_DESKTOP

if i unset all env KDE it's ok or change only XDG_CURRENT_DESKTOP=PLASMA is ok :

if i add XDG_CURRENT_DESKTOP=KDE , i have a crash, and program not killed ! ?

to reproduce:
$ XDG_CURRENT_DESKTOP=KDE doublecmd

BUT
if i change XDG_CURRENT_DESKTOP, theme used by qt program is not plasma but gtk ! so not the solution
Comment by Oleksandr Natalenko (post-factum) - Friday, 25 January 2019, 22:53 GMT Comment by Ike Devolder (BlackEagle) - Monday, 22 April 2019, 18:58 GMT
I don't see this issue anymore running the latest plasma desktop (non-testing) with the last lazarus-qt5 package

Loading...