Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2020-04

EAccessViolation exception on exit qt5 project in Kubuntu 19.10

22 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Erwin van den Bosch

Just installed a fresh Kubuntu 19.10 with libQt5Pas (via: sudo apt install libqt5pas-dev)

But running a compiled qt5 program on this machine always exits with an unhandled exception: EAccessViolation.

This also happens with a simple project. (no code, just new project and hit compile)

A simple project compiled on a linux Mint 18.3 with Qt 5.6.1 also exits with EAccessViolation on Kubuntu 19.10.

Any ideas how to solve this?

Regards,
Erwin

Reply by email

Luca Olivetti
to Erwin van den Bosch

El 13/4/20 a les 18:37, Erwin van den Bosch via lazarus ha escrit:

Show quoted text 13 lines
Just installed a fresh Kubuntu 19.10 with libQt5Pas (via: sudo apt install libqt5pas-dev) But running a compiled qt5 program on this machine always exits with an unhandled exception: EAccessViolation. This also happens with a simple project. (no code, just new project and hit compile) A simple project compiled on a linux Mint 18.3 with Qt 5.6.1 also exits with EAccessViolation on Kubuntu 19.10. Any ideas how to solve this?

No such problem here, but I compiled libQt5Pas myself, though I don't remember if I compiled it clean or reused from a previous kubuntu release. IIRC I followed the instructions here

https://wiki.lazarus.freepascal.org/Qt5_Interface#Qt5_on_Ubuntu_18.4

specifically the part where it says "If you wish to build your own library, what you need is in your Lazarus tree, bindings sources are located in lcl/interfaces/qt5/cbindings , to build it just follow README.txt."

Bye

Luca Olivetti Wetron Automation Technology http://www.wetron.es/ Tel. +34 93 5883004 (Ext.3010) Fax +34 93 5883007

Reply by email

Luca Olivetti
to Luca Olivetti

El 13/4/20 a les 19:31, Luca Olivetti via lazarus ha escrit:

Show quoted text 25 lines
El 13/4/20 a les 18:37, Erwin van den Bosch via lazarus ha escrit: > Just installed a fresh Kubuntu 19.10 with libQt5Pas (via: sudo apt > install libqt5pas-dev) > > But running a compiled qt5 program on this machine always exits with > an unhandled exception: EAccessViolation. > > This also happens with a simple project. (no code, just new project > and hit compile) > > A simple project compiled on a linux Mint 18.3 with Qt 5.6.1 also > exits with EAccessViolation on Kubuntu 19.10. > > Any ideas how to solve this? No such problem here, but I compiled libQt5Pas myself, though I don't remember if I compiled it clean or reused from a previous kubuntu release. IIRC I followed the instructions here https://wiki.lazarus.freepascal.org/Qt5_Interface#Qt5_on_Ubuntu_18.4 specifically the part where it says "If you wish to build your own library, what you need is in your Lazarus tree, bindings sources are located in lcl/interfaces/qt5/cbindings , to build it just follow README.txt."

Now I tried installing the packaged libqt5pas and still see no segfault. Note that this isn't a fresh install, I dist-upgraded it (or better do-release-upgraded it) many times, but I don't think that should matter.

Bye

Luca Olivetti Wetron Automation Technology http://www.wetron.es/ Tel. +34 93 5883004 (Ext.3010) Fax +34 93 5883007

Reply by email

Erwin van den Bosch
to Luca Olivetti

Op 13-4-2020 om 19:43 schreef Luca Olivetti via lazarus:

Show quoted text 16 lines
No such problem here, but I compiled libQt5Pas myself, though I don't remember if I compiled it clean or reused from a previous kubuntu release. > IIRC I followed the instructions here > > https://wiki.lazarus.freepascal.org/Qt5_Interface#Qt5_on_Ubuntu_18.4 > > specifically the part where it says "If you wish to build your own > library, what you need is in your Lazarus tree, bindings sources are > located in lcl/interfaces/qt5/cbindings , to build it just follow > README.txt." Now I tried installing the packaged libqt5pas and still see no segfault. Note that this isn't a fresh install, I dist-upgraded it (or better do-release-upgraded it) many times, but I don't think that should matter.

Thanks for your answer. Is your system running on kubuntu 19.10?

I have tried to compile the cbindings but without success on 19.10 (something is missing)

Will test it now on kubuntu 18.04 LTS in a virtual machine. Results later...

Reply by email

Erwin van den Bosch
to Erwin van den Bosch

Op 13-4-2020 om 20:26 schreef Erwin van den Bosch via lazarus:

Will test it now on kubuntu 18.04 LTS in a virtual machine. Results later...

Just did a fresh install of kubuntu 18.04 LTS and all my Lazarus QT5 projects works fine. No access violation error on application close. So there must be something wrong/incompatible with kubuntu 19.10.

I did two installs of kubuntu 19.10. One on a real machine and one in VirtualBox. Same problem on both.

Someone experience the same problem?

Erwin van den Bosch

Reply by email

Luca Olivetti
to Erwin van den Bosch: Op 13-4-2020 om 19:43 schreef Luca Olivetti via lazarus: Thanks for your answer. Is your…

El 13/4/20 a les 20:26, Erwin van den Bosch via lazarus ha escrit:

Thanks for your answer. Is your system running on kubuntu 19.10?

Yes, that's why I replied. However, as I said, it's not a clean install, it has been dist-upgraded various times. I don't remember the version I started from, but now it's 19.10

luca at seis:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 19.10
Release: 19.10
Codename: eoan

I have tried to compile the cbindings but without success on 19.10 (something is missing)

Well, it compiles fine here, though now that I know that the distro provided library works I'll have no need for that.

Bye

Luca Olivetti Wetron Automation Technology http://www.wetron.es/ Tel. +34 93 5883004 (Ext.3010) Fax +34 93 5883007

Reply by email

Juha Manninen
to Erwin van den Bosch: Op 13-4-2020 om 20:26 schreef Erwin van den Bosch via lazarus: Just did a fresh install…

On Mon, Apr 13, 2020 at 10:01 PM Erwin van den Bosch via lazarus <

Show quoted text 11 lines
wrote: Just did a fresh install of kubuntu 18.04 LTS and all my Lazarus QT5 projects works fine. No access violation error on application close. So there must be something wrong/incompatible with kubuntu 19.10. I did two installs of kubuntu 19.10. One on a real machine and one in VirtualBox. Same problem on both. Someone experience the same problem?

I have the same problem with Manjaro + KDE Plasma. I had it for a long time already but didn't study further.
Manjaro has a recent version of everything. Maybe the pre-compiled libQt5Pas works only with older versions of QT5 libraries.
I didn't even try to build libQt5Pas myself yet.

Juha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200413/22cc9570/attachment.html>

Reply by email

Erwin van den Bosch
to Juha Manninen

Op 13-4-2020 om 21:36 schreef Juha Manninen via lazarus:

Show quoted text 5 lines
I have the same problem with Manjaro + KDE Plasma. I had it for a long time already but didn't study further. Manjaro has a recent version of everything. Maybe the pre-compiled libQt5Pas works only with older versions of QT5 libraries. I didn't even try to build libQt5Pas myself yet.

I installed Manjaro+KDE Plasma 19.0.2 and got the same AccessViolation on the exit of a qt5 lazarus program. Manjaro qt5 version 5.14.1 is very recent. Kubuntu 19.10 qt version is 5.12.4. Kubuntu 18.04 LTS (that is working fine) is qt version 5.9.5.

As it happens after closing the application it could be some clean up / freeing objects that does not exists any more. Just a guess.

Erwin van den Bosch -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200413/4bb37f02/attachment.html>

Reply by email

Luca Olivetti
to Erwin van den Bosch

El 13/4/20 a les 23:31, Erwin van den Bosch via lazarus ha escrit:

Show quoted text 11 lines
Op 13-4-2020 om 21:36 schreef Juha Manninen via lazarus: > I have the same problem with Manjaro + KDE Plasma. I had it for a long > time already but didn't study further. > Manjaro has a recent version of everything. Maybe the pre-compiled > libQt5Pas works only with older versions of QT5 libraries. > I didn't even try to build libQt5Pas myself yet. I installed Manjaro+KDE Plasma 19.0.2 and got the same AccessViolation on the exit of a qt5 lazarus program. Manjaro qt5 version 5.14.1 is very recent. Kubuntu 19.10 qt version is 5.12.4. Kubuntu 18.04 LTS (that is working fine) is qt version 5.9.5.

The question is, why I don't see the segfault with kubuntu 19.10? I just tested a simple program with a memo and a button, but lazarus itself doesn't segfaults.

Bye

Luca Olivetti Wetron Automation Technology http://www.wetron.es/ Tel. +34 93 5883004 (Ext.3010) Fax +34 93 5883007

Reply by email

Luca Olivetti
to Luca Olivetti

El 13/4/20 a les 23:42, Luca Olivetti via lazarus ha escrit:

Show quoted text 16 lines
El 13/4/20 a les 23:31, Erwin van den Bosch via lazarus ha escrit: > Op 13-4-2020 om 21:36 schreef Juha Manninen via lazarus: >> I have the same problem with Manjaro + KDE Plasma. I had it for a >> long time already but didn't study further. >> Manjaro has a recent version of everything. Maybe the pre-compiled >> libQt5Pas works only with older versions of QT5 libraries. >> I didn't even try to build libQt5Pas myself yet. > > I installed Manjaro+KDE Plasma 19.0.2 and got the same AccessViolation > on the exit of a qt5 lazarus program. Manjaro qt5 version 5.14.1 is > very recent. Kubuntu 19.10 qt version is 5.12.4. Kubuntu 18.04 LTS > (that is working fine) is qt version 5.9.5. The question is, why I don't see the segfault with kubuntu 19.10? I just tested a simple program with a memo and a button, but lazarus itself doesn't segfaults.

Maybe it depends on the fpc version.
I did my tests with fpc 3.2.0RC1, but now I started my old lazarus 1.8 compiled with 3.0.4 and it segfaults on exit, as it does an empty application compiled with it.

Bye

Luca Olivetti Wetron Automation Technology http://www.wetron.es/ Tel. +34 93 5883004 (Ext.3010) Fax +34 93 5883007

Reply by email

zeljko
to Luca Olivetti: El 13/4/20 a les 19:31, Luca Olivetti via lazarus ha escrit: Now I tried installing the…
Luca Olivetti wrote
Now I tried installing the packaged libqt5pas and still see no segfault. Note that this isn't a fresh install, I dist-upgraded it (or better do-release-upgraded it) many times, but I don't think that should matter.

IMO, fpc version is important. fpc-3.0.4 from distro crashes, fpc-3.0.4 built via fpcupdeluxe works, fpc-3.2.0beta works (because it's built via fpcupdeluxe ? ).
Also, KDE Plasma have bug somewhere in KioCore which triggers on qt app close - for this, I must test pure Qt5 application to see what's going on. In this case Qt4 apps are crashing too.
How to reproduce such crash: simple form with TOpenDialog or TSaveDialog, start your project, open dialog, close dialog, close app and you'll segfaulted.

zeljko

Reply by email

Luca Olivetti
to zeljko

El 14/4/20 a les 12:55, zeljko ha escrit:

Show quoted text 7 lines
On 4/13/20 7:43 PM, Luca Olivetti via lazarus wrote: > Now I tried installing the packaged libqt5pas and still see no segfault. > Note that this isn't a fresh install, I dist-upgraded it (or better > do-release-upgraded it) many times, but I don't think that should matter. IMO, fpc version is important.

Yes, I meant that what doesn't matter is that I didn't install 19.10 clean but via do-release-upgrade

Show quoted text 9 lines
fpc-3.0.4 from distro crashes, fpc-3.0.4 built via fpcupdeluxe works, fpc-3.2.0beta works (because it's built via fpcupdeluxe ? ). Also, KDE Plasma have bug somewhere in KioCore which triggers on qt app close - for this, I must test pure Qt5 application to see what's going on. In this case Qt4 apps are crashing too. How to reproduce such crash: simple form with TOpenDialog or TSaveDialog, start your project, open dialog, close dialog, close app and you'll segfaulted.

not with fpc 3.2.0rc1 (I tried without opening the dialog, opening but cancelling it, opening and selecting a file).

Bye

Luca Olivetti Wetron Automation Technology http://www.wetron.es/ Tel. +34 93 5883004 (Ext.3010) Fax +34 93 5883007

Reply by email

zeljko
to Luca Olivetti
Luca Olivetti wrote 24 lines
El 14/4/20 a les 12:55, zeljko ha escrit: > On 4/13/20 7:43 PM, Luca Olivetti via lazarus wrote: > >> Now I tried installing the packaged libqt5pas and still see no segfault. >> Note that this isn't a fresh install, I dist-upgraded it (or better >> do-release-upgraded it) many times, but I don't think that should >> matter. > > IMO, fpc version is important. Yes, I meant that what doesn't matter is that I didn't install 19.10 clean but via do-release-upgrade > fpc-3.0.4 from distro crashes, fpc-3.0.4 built via fpcupdeluxe works, > fpc-3.2.0beta works (because it's built via fpcupdeluxe ? ). > Also, KDE Plasma have bug somewhere in KioCore which triggers on qt > app close - for this, I must test pure Qt5 application to see what's > going on. In this case Qt4 apps are crashing too. > How to reproduce such crash: simple form with TOpenDialog or > TSaveDialog, start your project, open dialog, close dialog, close app > and you'll segfaulted. not with fpc 3.2.0rc1 (I tried without opening the dialog, opening but cancelling it, opening and selecting a file).

That's good to know :) I've tested dialogs with fpc-3.0.4 and it segfaults even with my own build of fpc-3.0.4.

zeljko

Reply by email

Florian Klämpfl
to zeljko: IMO, fpc version is important. fpc-3.0.4 from distro crashes, fpc-3.0.4 built via…
zeljko wrote 7 lines
On 4/13/20 7:43 PM, Luca Olivetti via lazarus wrote: > Now I tried installing the packaged libqt5pas and still see no segfault. > Note that this isn't a fresh install, I dist-upgraded it (or better > do-release-upgraded it) many times, but I don't think that should matter. IMO, fpc version is important. fpc-3.0.4 from distro crashes,

Does anybody have a stack dump of the crash? Maybe it's related to the stack alignment issues which are fixed in 3.2+?

Reply by email

zeljko
to Florian Klämpfl
Florian Klämpfl wrote 12 lines
Am 14.04.20 um 12:55 schrieb zeljko via lazarus: > On 4/13/20 7:43 PM, Luca Olivetti via lazarus wrote: > >> Now I tried installing the packaged libqt5pas and still see no segfault. >> Note that this isn't a fresh install, I dist-upgraded it (or better >> do-release-upgraded it) many times, but I don't think that should >> matter. > > IMO, fpc version is important. fpc-3.0.4 from distro crashes, Does anybody have a stack dump of the crash? Maybe it's related to the stack alignment issues which are fixed in 3.2+?

This is crash dump - Fedora 30 64bit , fpc-3.0.4, Qt5 lcl.

Thread 1 "lazarus" received signal SIGSEGV, Segmentation fault. 0x00007ffff666c7f1 in std::swap<QPostEvent> (__b=..., __a=...) at /usr/include/c++/9/bits/move.h:182
warning: Source file is more recent than executable. 182 swap(_Tp& __a, _Tp& __b)
(gdb) bt
#0 0x00007ffff666c7f1 in std::swap<QPostEvent> (__b=..., __a=...) at /usr/include/c++/9/bits/move.h:182
#1 qSwap<QPostEvent> (value2=..., value1=...) at
../../include/QtCore/../../src/corelib/global/qglobal.h:915 #2 QCoreApplication::removePostedEvents (receiver=0x3e702c0, eventType=0) at kernel/qcoreapplication.cpp:1883
#3 0x00007ffff669489e in QObjectPrivate::~QObjectPrivate (this=0x3c8e4e0, __in_chrg=<optimized out>) at kernel/qobject.cpp:258 #4 0x00007fffe65993a0 in
QDBusAbstractInterfacePrivate::~QDBusAbstractInterfacePrivate (this=0x3c8e4e0, __in_chrg=<optimized out>)
at /usr/include/c++/9/bits/atomic_base.h:326
#5 QDBusAbstractInterfacePrivate::~QDBusAbstractInterfacePrivate (this=0x3c8e4e0, __in_chrg=<optimized out>) at qdbusabstractinterface_p.h:88 #6 0x00007ffff669bcd7 in QScopedPointerDeleter<QObjectData>::cleanup (pointer=<optimized out>) at
../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:52 #7 QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData>

::~QScopedPointer (this=0x3e702c8, __in_chrg=<optimized out>)

at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:107 #8 QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:891
#9 0x00007fffe569752d in
OrgKdeKDirNotifyInterface::~OrgKdeKDirNotifyInterface (this=0x3e702c0, __in_chrg=<optimized out>)
at
/usr/src/debug/kf5-kio-5.68.0-1.fc30.x86_64/src/core/kdirnotify.cpp:34 #10 0x00007ffff669ad3c in QObjectPrivate::deleteChildren (this=this at entry=0x3ecf5f0) at kernel/qobject.cpp:2016 #11 0x00007ffff669bc8f in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1032 #12 0x00007fffe56b8ffe in KCoreDirListerCache::~KCoreDirListerCache (this=0x7fffe5728500 <(anonymous
namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>, __in_chrg=<optimized out>) at /usr/include/c++/9/bits/atomic_base.h:326 #13 0x00007fffe56b947d in (anonymous
namespace)::Q_QGS_kDirListerCache::Holder::~Holder (this=<optimized out>, __in_chrg=<optimized out>)
at
/usr/src/debug/kf5-kio-5.68.0-1.fc30.x86_64/src/core/kcoredirlister.cpp:54 #14 0x00007ffff7778680 in __run_exit_handlers () from /lib64/libc.so.6 #15 0x00007ffff77787c0 in exit () from /lib64/libc.so.6 #16 0x00007ffff7761f4a in __libc_start_main () from /lib64/libc.so.6 #17 0x00007fffffffdcf0 in ?? ()
#18 0x0000000000000000 in ?? ()

Reply by email

Florian Klämpfl
to zeljko
zeljko wrote 18 lines
On 4/14/20 6:28 PM, Florian Klämpfl via lazarus wrote: > Am 14.04.20 um 12:55 schrieb zeljko via lazarus: >> On 4/13/20 7:43 PM, Luca Olivetti via lazarus wrote: >> >>> Now I tried installing the packaged libqt5pas and still see no >>> segfault. >>> Note that this isn't a fresh install, I dist-upgraded it (or better >>> do-release-upgraded it) many times, but I don't think that should >>> matter. >> >> IMO, fpc version is important. fpc-3.0.4 from distro crashes, > > Does anybody have a stack dump of the crash? Maybe it's related to the > stack alignment issues which are fixed in 3.2+? This is crash dump - Fedora 30 64bit , fpc-3.0.4, Qt5 lcl. Thread 1 "lazarus" received signal SIGSEGV, Segmentation fault.

Sorry, I were not precise enough. Can you also post a disassembly of the swap procedure at 0x00007ffff666c7f1?

Show quoted text 53 lines
0x00007ffff666c7f1 in std::swap<QPostEvent> (__b=..., __a=...) at /usr/include/c++/9/bits/move.h:182 warning: Source file is more recent than executable. 182         swap(_Tp& __a, _Tp& __b) (gdb) bt #0  0x00007ffff666c7f1 in std::swap<QPostEvent> (__b=..., __a=...) at /usr/include/c++/9/bits/move.h:182 #1  qSwap<QPostEvent> (value2=..., value1=...) at ../../include/QtCore/../../src/corelib/global/qglobal.h:915 #2  QCoreApplication::removePostedEvents (receiver=0x3e702c0, eventType=0) at kernel/qcoreapplication.cpp:1883 #3  0x00007ffff669489e in QObjectPrivate::~QObjectPrivate (this=0x3c8e4e0, __in_chrg=<optimized out>) at kernel/qobject.cpp:258 #4  0x00007fffe65993a0 in QDBusAbstractInterfacePrivate::~QDBusAbstractInterfacePrivate (this=0x3c8e4e0, __in_chrg=<optimized out>)     at /usr/include/c++/9/bits/atomic_base.h:326 #5  QDBusAbstractInterfacePrivate::~QDBusAbstractInterfacePrivate (this=0x3c8e4e0, __in_chrg=<optimized out>) at qdbusabstractinterface_p.h:88 #6  0x00007ffff669bcd7 in QScopedPointerDeleter<QObjectData>::cleanup (pointer=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:52 #7  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer (this=0x3e702c8, __in_chrg=<optimized out>)     at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:107 #8  QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:891 #9  0x00007fffe569752d in OrgKdeKDirNotifyInterface::~OrgKdeKDirNotifyInterface (this=0x3e702c0, __in_chrg=<optimized out>)     at /usr/src/debug/kf5-kio-5.68.0-1.fc30.x86_64/src/core/kdirnotify.cpp:34 #10 0x00007ffff669ad3c in QObjectPrivate::deleteChildren (this=this at entry=0x3ecf5f0) at kernel/qobject.cpp:2016 #11 0x00007ffff669bc8f in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1032 #12 0x00007fffe56b8ffe in KCoreDirListerCache::~KCoreDirListerCache (this=0x7fffe5728500 <(anonymous namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>,     __in_chrg=<optimized out>) at /usr/include/c++/9/bits/atomic_base.h:326 #13 0x00007fffe56b947d in (anonymous namespace)::Q_QGS_kDirListerCache::Holder::~Holder (this=<optimized out>, __in_chrg=<optimized out>)     at /usr/src/debug/kf5-kio-5.68.0-1.fc30.x86_64/src/core/kcoredirlister.cpp:54 #14 0x00007ffff7778680 in __run_exit_handlers () from /lib64/libc.so.6 #15 0x00007ffff77787c0 in exit () from /lib64/libc.so.6 #16 0x00007ffff7761f4a in __libc_start_main () from /lib64/libc.so.6 #17 0x00007fffffffdcf0 in ?? () #18 0x0000000000000000 in ?? ()

Reply by email

Erwin van den Bosch
to zeljko: That's good to know :) I've tested dialogs with fpc-3.0.4 and it segfaults even with my…
zeljko wrote 7 lines
not with fpc 3.2.0rc1 (I tried without opening the dialog, opening but cancelling it, opening and selecting a file). That's good to know :) I've tested dialogs with fpc-3.0.4 and it segfaults even with my own build of fpc-3.0.4. zeljko

I build FPC 3.20 RC1 on my Kubuntu 19.10 and I can confirm that the segfault does not happen anymore. I created a simple project with button and opendialog and all worked fine.

So FPC 3.2rc1 seems to fix it.

Erwin

Reply by email

zeljko
to Florian Klämpfl: Sorry, I were not precise enough. Can you also post a disassembly of the swap procedure…
Florian Klämpfl wrote
Sorry, I were not precise enough. Can you also post a disassembly of the swap procedure at 0x00007ffff666c7f1?

0x00007ffff666c7f1 is at line 382 inside assembler.txt. That's all I can get.

zeljko
-------------- next part --------------
Dump of assembler code for function QCoreApplication::removePostedEvents(QObject*, int): Address range 0x7ffff666c670 to 0x7ffff666cbca:
0x00007ffff666c670 <+0>: endbr64
0x00007ffff666c674 <+4>: push %r15
0x00007ffff666c676 <+6>: push %r14
0x00007ffff666c678 <+8>: mov %rdi,%r14
0x00007ffff666c67b <+11>: push %r13
0x00007ffff666c67d <+13>: push %r12
0x00007ffff666c67f <+15>: push %rbp
0x00007ffff666c680 <+16>: push %rbx
0x00007ffff666c681 <+17>: sub $0x898,%rsp
0x00007ffff666c688 <+24>: mov %esi,0xc(%rsp) 0x00007ffff666c68c <+28>: mov %fs:0x28,%rax
0x00007ffff666c695 <+37>: mov %rax,0x888(%rsp) 0x00007ffff666c69d <+45>: xor %eax,%eax
0x00007ffff666c69f <+47>: test %rdi,%rdi
0x00007ffff666c6a2 <+50>: je 0x7ffff666caf0 <QCoreApplication::removePostedEvents(QObject*, int)+1152> 0x00007ffff666c6a8 <+56>: mov 0x8(%rdi),%rax 0x00007ffff666c6ac <+60>: mov 0x38(%rax),%r13 0x00007ffff666c6b0 <+64>: lea 0x30(%r13),%rbx 0x00007ffff666c6b4 <+68>: mov %rbx,%rdi
0x00007ffff666c6b7 <+71>: mov %rbx,0x20(%rsp) 0x00007ffff666c6bc <+76>: callq 0x7ffff64c2780 <QMutex::lock()> 0x00007ffff666c6c1 <+81>: mov 0x8(%r14),%rax 0x00007ffff666c6c5 <+85>: mov 0x24(%rax),%ecx 0x00007ffff666c6c8 <+88>: test %ecx,%ecx
0x00007ffff666c6ca <+90>: je 0x7ffff666ca10 <QCoreApplication::removePostedEvents(QObject*, int)+928> 0x00007ffff666c6d0 <+96>: lea 0x70(%rsp),%rdi 0x00007ffff666c6d5 <+101>: xor %esi,%esi
0x00007ffff666c6d7 <+103>: callq 0x7ffff6671030 <QVarLengthArray<QEvent*, 256>::QVarLengthArray(int)> 0x00007ffff666c6dc <+108>: mov 0x18(%r13),%rax 0x00007ffff666c6e0 <+112>: mov 0x4(%rax),%edx 0x00007ffff666c6e3 <+115>: test %edx,%edx
0x00007ffff666c6e5 <+117>: jle 0x7ffff666cb18 <QCoreApplication::removePostedEvents(QObject*, int)+1192> 0x00007ffff666c6eb <+123>: lea -0x1(%rdx),%esi 0x00007ffff666c6ee <+126>: lea 0x18(%r13),%rcx 0x00007ffff666c6f2 <+130>: movl $0x0,0x8(%rsp) 0x00007ffff666c6fa <+138>: xor %ebx,%ebx
0x00007ffff666c6fc <+140>: mov %rsi,(%rsp)
0x00007ffff666c700 <+144>: lea 0x80(%rsp),%rsi 0x00007ffff666c708 <+152>: mov %rsi,0x18(%rsp) 0x00007ffff666c70d <+157>: mov %rcx,0x28(%rsp) 0x00007ffff666c712 <+162>: mov %rsi,0x30(%rsp) 0x00007ffff666c717 <+167>: mov %rsi,0x38(%rsp) 0x00007ffff666c71c <+172>: nopl 0x0(%rax)
0x00007ffff666c720 <+176>: mov 0x10(%rax),%rbp 0x00007ffff666c724 <+180>: lea (%rbx,%rbx,2),%r12 0x00007ffff666c728 <+184>: shl $0x3,%r12
0x00007ffff666c72c <+188>: add %r12,%rbp
0x00007ffff666c72f <+191>: add %rax,%rbp
0x00007ffff666c732 <+194>: test %r14,%r14
0x00007ffff666c735 <+197>: je 0x7ffff666c820 <QCoreApplication::removePostedEvents(QObject*, int)+432> 0x00007ffff666c73b <+203>: cmp %r14,0x0(%rbp) 0x00007ffff666c73f <+207>: je 0x7ffff666c820 <QCoreApplication::removePostedEvents(QObject*, int)+432> 0x00007ffff666c745 <+213>: mov 0x20(%r13),%edx 0x00007ffff666c749 <+217>: test %edx,%edx
0x00007ffff666c74b <+219>: jne 0x7ffff666c7ff <QCoreApplication::removePostedEvents(QObject*, int)+399> 0x00007ffff666c751 <+225>: cmp %ebx,0x8(%rsp) 0x00007ffff666c755 <+229>: je 0x7ffff666c7fa <QCoreApplication::removePostedEvents(QObject*, int)+394> 0x00007ffff666c75b <+235>: mov (%rax),%eax
0x00007ffff666c75d <+237>: cmp $0x1,%eax
0x00007ffff666c760 <+240>: mov 0x18(%r13),%rax --Type <RET> for more, q to quit, c to continue without paging-- 0x00007ffff666c764 <+244>: jbe 0x7ffff666c788 <QCoreApplication::removePostedEvents(QObject*, int)+280> 0x00007ffff666c766 <+246>: mov 0x8(%rax),%edx 0x00007ffff666c769 <+249>: and $0x7fffffff,%edx 0x00007ffff666c76f <+255>: je 0x7ffff666c940 <QCoreApplication::removePostedEvents(QObject*, int)+720> 0x00007ffff666c775 <+261>: mov 0x4(%rax),%esi 0x00007ffff666c778 <+264>: mov 0x28(%rsp),%rdi 0x00007ffff666c77d <+269>: xor %ecx,%ecx
0x00007ffff666c77f <+271>: callq 0x7ffff66711f0 <QVector<QPostEvent>::reallocData(int, int, QFlags<QArrayData::AllocationOption>)> 0x00007ffff666c784 <+276>: mov 0x18(%r13),%rax 0x00007ffff666c788 <+280>: mov %rax,%rdx
0x00007ffff666c78b <+283>: movslq 0x8(%rsp),%rcx 0x00007ffff666c790 <+288>: lea (%rcx,%rcx,2),%rcx 0x00007ffff666c794 <+292>: lea (%rdx,%rcx,8),%rbp 0x00007ffff666c798 <+296>: add 0x10(%rdx),%rbp 0x00007ffff666c79c <+300>: mov (%rdx),%edx
0x00007ffff666c79e <+302>: cmp $0x1,%edx
0x00007ffff666c7a1 <+305>: jbe 0x7ffff666c7c5 <QCoreApplication::removePostedEvents(QObject*, int)+341> 0x00007ffff666c7a3 <+307>: mov 0x8(%rax),%edx 0x00007ffff666c7a6 <+310>: and $0x7fffffff,%edx 0x00007ffff666c7ac <+316>: je 0x7ffff666c920 <QCoreApplication::removePostedEvents(QObject*, int)+688> 0x00007ffff666c7b2 <+322>: mov 0x4(%rax),%esi 0x00007ffff666c7b5 <+325>: mov 0x28(%rsp),%rdi 0x00007ffff666c7ba <+330>: xor %ecx,%ecx
0x00007ffff666c7bc <+332>: callq 0x7ffff66711f0 <QVector<QPostEvent>::reallocData(int, int, QFlags<QArrayData::AllocationOption>)> 0x00007ffff666c7c1 <+337>: mov 0x18(%r13),%rax 0x00007ffff666c7c5 <+341>: add 0x10(%rax),%r12 0x00007ffff666c7c9 <+345>: movdqu 0x0(%rbp),%xmm1 0x00007ffff666c7ce <+350>: add %rax,%r12
0x00007ffff666c7d1 <+353>: movdqu (%r12),%xmm0
0x00007ffff666c7d7 <+359>: mov 0x10(%r12),%rax 0x00007ffff666c7dc <+364>: movups %xmm1,(%r12)
0x00007ffff666c7e1 <+369>: mov 0x10(%rbp),%edx 0x00007ffff666c7e4 <+372>: mov %rax,0x60(%rsp) 0x00007ffff666c7e9 <+377>: mov %edx,0x10(%r12) 0x00007ffff666c7ee <+382>: mov %eax,0x10(%rbp) => 0x00007ffff666c7f1 <+385>: movaps %xmm0,0x50(%rsp) 0x00007ffff666c7f6 <+390>: movups %xmm0,0x0(%rbp) 0x00007ffff666c7fa <+394>: addl $0x1,0x8(%rsp) 0x00007ffff666c7ff <+399>: lea 0x1(%rbx),%rdx 0x00007ffff666c803 <+403>: cmp (%rsp),%rbx
0x00007ffff666c807 <+407>: je 0x7ffff666c898 <QCoreApplication::removePostedEvents(QObject*, int)+552> 0x00007ffff666c80d <+413>: mov 0x18(%r13),%rax 0x00007ffff666c811 <+417>: mov %rdx,%rbx
0x00007ffff666c814 <+420>: jmpq 0x7ffff666c720 <QCoreApplication::removePostedEvents(QObject*, int)+176> 0x00007ffff666c819 <+425>: nopl 0x0(%rax)
0x00007ffff666c820 <+432>: mov 0x8(%rbp),%r15 0x00007ffff666c824 <+436>: test %r15,%r15
0x00007ffff666c827 <+439>: je 0x7ffff666c745 <QCoreApplication::removePostedEvents(QObject*, int)+213> 0x00007ffff666c82d <+445>: mov 0xc(%rsp),%ecx 0x00007ffff666c831 <+449>: test %ecx,%ecx
0x00007ffff666c833 <+451>: je 0x7ffff666c842 <QCoreApplication::removePostedEvents(QObject*, int)+466> 0x00007ffff666c835 <+453>: movzwl 0x10(%r15),%edx 0x00007ffff666c83a <+458>: cmp %ecx,%edx
0x00007ffff666c83c <+460>: jne 0x7ffff666c745 <QCoreApplication::removePostedEvents(QObject*, int)+213> 0x00007ffff666c842 <+466>: mov 0x0(%rbp),%rax 0x00007ffff666c846 <+470>: movslq 0x74(%rsp),%r12 0x00007ffff666c84b <+475>: mov 0x8(%rax),%rax 0x00007ffff666c84f <+479>: subl $0x1,0x24(%rax) 0x00007ffff666c853 <+483>: mov 0x78(%rsp),%rax 0x00007ffff666c858 <+488>: andb $0xfe,0x12(%r15) 0x00007ffff666c85d <+493>: mov %rax,0x10(%rsp) 0x00007ffff666c862 <+498>: cmp 0x70(%rsp),%r12d --Type <RET> for more, q to quit, c to continue without paging-- 0x00007ffff666c867 <+503>: je 0x7ffff666ca28 <QCoreApplication::removePostedEvents(QObject*, int)+952> 0x00007ffff666c86d <+509>: lea 0x1(%r12),%eax 0x00007ffff666c872 <+514>: mov %eax,0x74(%rsp) 0x00007ffff666c876 <+518>: mov 0x10(%rsp),%rax 0x00007ffff666c87b <+523>: mov %r15,(%rax,%r12,8) 0x00007ffff666c87f <+527>: movq $0x0,0x8(%rbp) 0x00007ffff666c887 <+535>: lea 0x1(%rbx),%rdx 0x00007ffff666c88b <+539>: cmp (%rsp),%rbx
0x00007ffff666c88f <+543>: jne 0x7ffff666c80d <QCoreApplication::removePostedEvents(QObject*, int)+413> 0x00007ffff666c895 <+549>: nopl (%rax)
0x00007ffff666c898 <+552>: mov 0x20(%r13),%eax 0x00007ffff666c89c <+556>: test %eax,%eax
0x00007ffff666c89e <+558>: je 0x7ffff666c968 <QCoreApplication::removePostedEvents(QObject*, int)+760> 0x00007ffff666c8a4 <+564>: mov 0x20(%rsp),%rdi 0x00007ffff666c8a9 <+569>: and $0xfffffffffffffffe,%rdi 0x00007ffff666c8ad <+573>: callq 0x7ffff64c2a90 <QMutex::unlock()> 0x00007ffff666c8b2 <+578>: mov 0x78(%rsp),%rbx 0x00007ffff666c8b7 <+583>: movslq 0x74(%rsp),%rax 0x00007ffff666c8bc <+588>: lea (%rbx,%rax,8),%rbp 0x00007ffff666c8c0 <+592>: cmp %rbp,%rbx
0x00007ffff666c8c3 <+595>: je 0x7ffff666c8e4 <QCoreApplication::removePostedEvents(QObject*, int)+628> 0x00007ffff666c8c5 <+597>: nopl (%rax)
0x00007ffff666c8c8 <+600>: mov (%rbx),%rdi
0x00007ffff666c8cb <+603>: test %rdi,%rdi
0x00007ffff666c8ce <+606>: je 0x7ffff666c8d6 <QCoreApplication::removePostedEvents(QObject*, int)+614> 0x00007ffff666c8d0 <+608>: mov (%rdi),%rax
0x00007ffff666c8d3 <+611>: callq *0x8(%rax)
0x00007ffff666c8d6 <+614>: add $0x8,%rbx
0x00007ffff666c8da <+618>: cmp %rbx,%rbp
0x00007ffff666c8dd <+621>: jne 0x7ffff666c8c8 <QCoreApplication::removePostedEvents(QObject*, int)+600> 0x00007ffff666c8df <+623>: mov 0x78(%rsp),%rbp 0x00007ffff666c8e4 <+628>: cmp 0x18(%rsp),%rbp 0x00007ffff666c8e9 <+633>: je 0x7ffff666c8f3 <QCoreApplication::removePostedEvents(QObject*, int)+643> 0x00007ffff666c8eb <+635>: mov %rbp,%rdi
0x00007ffff666c8ee <+638>: callq 0x7ffff648a290 <free at plt> 0x00007ffff666c8f3 <+643>: mov 0x888(%rsp),%rax 0x00007ffff666c8fb <+651>: xor %fs:0x28,%rax
0x00007ffff666c904 <+660>: jne 0x7ffff666cbb0 <QCoreApplication::removePostedEvents(QObject*, int)+1344> 0x00007ffff666c90a <+666>: add $0x898,%rsp
0x00007ffff666c911 <+673>: pop %rbx
0x00007ffff666c912 <+674>: pop %rbp
0x00007ffff666c913 <+675>: pop %r12
0x00007ffff666c915 <+677>: pop %r13
0x00007ffff666c917 <+679>: pop %r14
0x00007ffff666c919 <+681>: pop %r15
0x00007ffff666c91b <+683>: retq
0x00007ffff666c91c <+684>: nopl 0x0(%rax)
0x00007ffff666c920 <+688>: mov $0x2,%ecx
0x00007ffff666c925 <+693>: xor %edx,%edx
0x00007ffff666c927 <+695>: mov $0x8,%esi
0x00007ffff666c92c <+700>: mov $0x18,%edi
0x00007ffff666c931 <+705>: callq 0x7ffff64cd070 <QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>)> 0x00007ffff666c936 <+710>: mov %rax,0x18(%r13) 0x00007ffff666c93a <+714>: jmpq 0x7ffff666c7c5 <QCoreApplication::removePostedEvents(QObject*, int)+341> 0x00007ffff666c93f <+719>: nop
0x00007ffff666c940 <+720>: xor %edx,%edx
0x00007ffff666c942 <+722>: mov $0x2,%ecx
0x00007ffff666c947 <+727>: mov $0x8,%esi
0x00007ffff666c94c <+732>: mov $0x18,%edi
0x00007ffff666c951 <+737>: callq 0x7ffff64cd070 <QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>)> 0x00007ffff666c956 <+742>: mov %rax,0x18(%r13) 0x00007ffff666c95a <+746>: mov %rax,%rdx
--Type <RET> for more, q to quit, c to continue without paging-- 0x00007ffff666c95d <+749>: jmpq 0x7ffff666c78b <QCoreApplication::removePostedEvents(QObject*, int)+283> 0x00007ffff666c962 <+754>: nopw 0x0(%rax,%rax,1) 0x00007ffff666c968 <+760>: mov 0x18(%r13),%rdx 0x00007ffff666c96c <+764>: lea 0x18(%r13),%rbp 0x00007ffff666c970 <+768>: mov (%rdx),%eax
0x00007ffff666c972 <+770>: cmp $0x1,%eax
0x00007ffff666c975 <+773>: jbe 0x7ffff666c9a5 <QCoreApplication::removePostedEvents(QObject*, int)+821> 0x00007ffff666c977 <+775>: mov 0x8(%rdx),%r8d 0x00007ffff666c97b <+779>: and $0x7fffffff,%r8d 0x00007ffff666c982 <+786>: jne 0x7ffff666cb38 <QCoreApplication::removePostedEvents(QObject*, int)+1224> 0x00007ffff666c988 <+792>: xor %edx,%edx
0x00007ffff666c98a <+794>: mov $0x2,%ecx
0x00007ffff666c98f <+799>: mov $0x8,%esi
0x00007ffff666c994 <+804>: mov $0x18,%edi
0x00007ffff666c999 <+809>: callq 0x7ffff64cd070 <QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>)> 0x00007ffff666c99e <+814>: mov %rax,0x18(%r13) 0x00007ffff666c9a2 <+818>: mov %rax,%rdx
0x00007ffff666c9a5 <+821>: mov %rdx,%rax
0x00007ffff666c9a8 <+824>: movslq 0x4(%rdx),%rcx 0x00007ffff666c9ac <+828>: lea (%rcx,%rcx,2),%rcx 0x00007ffff666c9b0 <+832>: lea (%rdx,%rcx,8),%r14 0x00007ffff666c9b4 <+836>: add 0x10(%rdx),%r14 0x00007ffff666c9b8 <+840>: mov (%rdx),%edx
0x00007ffff666c9ba <+842>: cmp $0x1,%edx
0x00007ffff666c9bd <+845>: jbe 0x7ffff666c9e8 <QCoreApplication::removePostedEvents(QObject*, int)+888> 0x00007ffff666c9bf <+847>: mov 0x8(%rax),%edx 0x00007ffff666c9c2 <+850>: and $0x7fffffff,%edx 0x00007ffff666c9c8 <+856>: jne 0x7ffff666cb58 <QCoreApplication::removePostedEvents(QObject*, int)+1256> 0x00007ffff666c9ce <+862>: mov $0x2,%ecx
0x00007ffff666c9d3 <+867>: xor %edx,%edx
0x00007ffff666c9d5 <+869>: mov $0x8,%esi
0x00007ffff666c9da <+874>: mov $0x18,%edi
0x00007ffff666c9df <+879>: callq 0x7ffff64cd070 <QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>)> 0x00007ffff666c9e4 <+884>: mov %rax,0x18(%r13) 0x00007ffff666c9e8 <+888>: movslq 0x8(%rsp),%rdx 0x00007ffff666c9ed <+893>: mov %rbp,%rdi
0x00007ffff666c9f0 <+896>: lea (%rdx,%rdx,2),%rdx 0x00007ffff666c9f4 <+900>: lea (%rax,%rdx,8),%rsi 0x00007ffff666c9f8 <+904>: mov %r14,%rdx
0x00007ffff666c9fb <+907>: add 0x10(%rax),%rsi 0x00007ffff666c9ff <+911>: callq 0x7ffff6671520 <QVector<QPostEvent>::erase(QPostEvent*, QPostEvent*)> 0x00007ffff666ca04 <+916>: jmpq 0x7ffff666c8a4 <QCoreApplication::removePostedEvents(QObject*, int)+564> 0x00007ffff666ca09 <+921>: nopl 0x0(%rax)
0x00007ffff666ca10 <+928>: mov %rbx,%rdi
0x00007ffff666ca13 <+931>: and $0xfffffffffffffffe,%rdi 0x00007ffff666ca17 <+935>: callq 0x7ffff64c2a90 <QMutex::unlock()> 0x00007ffff666ca1c <+940>: jmpq 0x7ffff666c8f3 <QCoreApplication::removePostedEvents(QObject*, int)+643> 0x00007ffff666ca21 <+945>: nopl 0x0(%rax)
0x00007ffff666ca28 <+952>: lea (%r12,%r12,1),%eax 0x00007ffff666ca2c <+956>: movslq %r12d,%rdx
0x00007ffff666ca2f <+959>: mov %eax,0x40(%rsp) 0x00007ffff666ca33 <+963>: shl $0x3,%rdx
0x00007ffff666ca37 <+967>: cmp %eax,%r12d
0x00007ffff666ca3a <+970>: je 0x7ffff666cad1 <QCoreApplication::removePostedEvents(QObject*, int)+1121> 0x00007ffff666ca40 <+976>: cmpl $0x100,0x40(%rsp) 0x00007ffff666ca48 <+984>: jg 0x7ffff666cb6e <QCoreApplication::removePostedEvents(QObject*, int)+1278> 0x00007ffff666ca4e <+990>: mov 0x18(%rsp),%rax 0x00007ffff666ca53 <+995>: movl $0x100,0x70(%rsp) 0x00007ffff666ca5b <+1003>: mov %rax,0x78(%rsp) 0x00007ffff666ca60 <+1008>: mov 0x30(%rsp),%rax 0x00007ffff666ca65 <+1013>: mov %rax,0x18(%rsp) 0x00007ffff666ca6a <+1018>: mov 0x38(%rsp),%rax --Type <RET> for more, q to quit, c to continue without paging-- 0x00007ffff666ca6f <+1023>: mov %rax,0x48(%rsp) 0x00007ffff666ca74 <+1028>: mov 0x10(%rsp),%rsi 0x00007ffff666ca79 <+1033>: mov 0x48(%rsp),%rdi 0x00007ffff666ca7e <+1038>: movslq %r12d,%rdx
0x00007ffff666ca81 <+1041>: movl $0x0,0x74(%rsp) 0x00007ffff666ca89 <+1049>: shl $0x3,%rdx
0x00007ffff666ca8d <+1053>: mov %rdx,0x40(%rsp) 0x00007ffff666ca92 <+1058>: callq 0x7ffff648a110 <memcpy at plt> 0x00007ffff666ca97 <+1063>: mov 0x18(%rsp),%rsi 0x00007ffff666ca9c <+1068>: cmp %rsi,0x10(%rsp) 0x00007ffff666caa1 <+1073>: mov 0x40(%rsp),%rdx 0x00007ffff666caa6 <+1078>: je 0x7ffff666cba1 <QCoreApplication::removePostedEvents(QObject*, int)+1329> 0x00007ffff666caac <+1084>: mov 0x10(%rsp),%rdi 0x00007ffff666cab1 <+1089>: cmp %rdi,0x78(%rsp) 0x00007ffff666cab6 <+1094>: je 0x7ffff666cad1 <QCoreApplication::removePostedEvents(QObject*, int)+1121> 0x00007ffff666cab8 <+1096>: mov %rdx,0x40(%rsp) 0x00007ffff666cabd <+1101>: callq 0x7ffff648a290 <free at plt> 0x00007ffff666cac2 <+1106>: mov 0x78(%rsp),%rax 0x00007ffff666cac7 <+1111>: mov 0x40(%rsp),%rdx 0x00007ffff666cacc <+1116>: mov %rax,0x10(%rsp) 0x00007ffff666cad1 <+1121>: mov 0x10(%rsp),%rax 0x00007ffff666cad6 <+1126>: add $0x1,%r12d
0x00007ffff666cada <+1130>: mov %r12d,0x74(%rsp) 0x00007ffff666cadf <+1135>: mov %r15,(%rax,%rdx,1) 0x00007ffff666cae3 <+1139>: jmpq 0x7ffff666c87f <QCoreApplication::removePostedEvents(QObject*, int)+527> 0x00007ffff666cae8 <+1144>: nopl 0x0(%rax,%rax,1) 0x00007ffff666caf0 <+1152>: mov $0x1,%edi
0x00007ffff666caf5 <+1157>: callq 0x7ffff64c1a30 <QThreadData::current(bool)> 0x00007ffff666cafa <+1162>: mov %rax,%r13
0x00007ffff666cafd <+1165>: lea 0x30(%rax),%rax 0x00007ffff666cb01 <+1169>: mov %rax,%rdi
0x00007ffff666cb04 <+1172>: mov %rax,0x20(%rsp) 0x00007ffff666cb09 <+1177>: callq 0x7ffff64c2780 <QMutex::lock()> 0x00007ffff666cb0e <+1182>: jmpq 0x7ffff666c6d0 <QCoreApplication::removePostedEvents(QObject*, int)+96> 0x00007ffff666cb13 <+1187>: nopl 0x0(%rax,%rax,1) 0x00007ffff666cb18 <+1192>: lea 0x80(%rsp),%rax 0x00007ffff666cb20 <+1200>: movl $0x0,0x8(%rsp) 0x00007ffff666cb28 <+1208>: mov %rax,0x18(%rsp) 0x00007ffff666cb2d <+1213>: jmpq 0x7ffff666c898 <QCoreApplication::removePostedEvents(QObject*, int)+552> 0x00007ffff666cb32 <+1218>: nopw 0x0(%rax,%rax,1) 0x00007ffff666cb38 <+1224>: mov 0x4(%rdx),%esi 0x00007ffff666cb3b <+1227>: xor %ecx,%ecx
0x00007ffff666cb3d <+1229>: mov %r8d,%edx
0x00007ffff666cb40 <+1232>: mov %rbp,%rdi
0x00007ffff666cb43 <+1235>: callq 0x7ffff66711f0 <QVector<QPostEvent>::reallocData(int, int, QFlags<QArrayData::AllocationOption>)> 0x00007ffff666cb48 <+1240>: mov 0x18(%r13),%rax 0x00007ffff666cb4c <+1244>: mov %rax,%rdx
0x00007ffff666cb4f <+1247>: jmpq 0x7ffff666c9a8 <QCoreApplication::removePostedEvents(QObject*, int)+824> 0x00007ffff666cb54 <+1252>: nopl 0x0(%rax)
0x00007ffff666cb58 <+1256>: mov 0x4(%rax),%esi 0x00007ffff666cb5b <+1259>: xor %ecx,%ecx
0x00007ffff666cb5d <+1261>: mov %rbp,%rdi
0x00007ffff666cb60 <+1264>: callq 0x7ffff66711f0 <QVector<QPostEvent>::reallocData(int, int, QFlags<QArrayData::AllocationOption>)> 0x00007ffff666cb65 <+1269>: mov 0x18(%r13),%rax 0x00007ffff666cb69 <+1273>: jmpq 0x7ffff666c9e8 <QCoreApplication::removePostedEvents(QObject*, int)+888> 0x00007ffff666cb6e <+1278>: movslq 0x40(%rsp),%rdi 0x00007ffff666cb73 <+1283>: shl $0x3,%rdi
0x00007ffff666cb77 <+1287>: callq 0x7ffff648ae20 <malloc at plt> 0x00007ffff666cb7c <+1292>: mov %rax,0x48(%rsp) 0x00007ffff666cb81 <+1297>: test %rax,%rax
0x00007ffff666cb84 <+1300>: je 0x7ffff649e41a <QCoreApplication::removePostedEvents(QObject*, int)+4293074346> 0x00007ffff666cb8a <+1306>: mov 0x48(%rsp),%rax --Type <RET> for more, q to quit, c to continue without paging-- 0x00007ffff666cb8f <+1311>: mov %rax,0x78(%rsp) 0x00007ffff666cb94 <+1316>: mov 0x40(%rsp),%eax 0x00007ffff666cb98 <+1320>: mov %eax,0x70(%rsp) 0x00007ffff666cb9c <+1324>: jmpq 0x7ffff666ca74 <QCoreApplication::removePostedEvents(QObject*, int)+1028> 0x00007ffff666cba1 <+1329>: mov 0x78(%rsp),%rax 0x00007ffff666cba6 <+1334>: mov %rax,0x10(%rsp) 0x00007ffff666cbab <+1339>: jmpq 0x7ffff666cad1 <QCoreApplication::removePostedEvents(QObject*, int)+1121> 0x00007ffff666cbb0 <+1344>: callq 0x7ffff648a4a0 <__stack_chk_fail at plt> 0x00007ffff666cbb5 <+1349>: endbr64
0x00007ffff666cbb9 <+1353>: mov %rax,%rbp
0x00007ffff666cbbc <+1356>: jmpq 0x7ffff649e43c <QCoreApplication::removePostedEvents(QObject*, int)+4293074380> 0x00007ffff666cbc1 <+1361>: endbr64
0x00007ffff666cbc5 <+1365>: jmpq 0x7ffff649e428 <QCoreApplication::removePostedEvents(QObject*, int)+4293074360> Address range 0x7ffff649e41a to 0x7ffff649e452:
0x00007ffff649e41a <+-1892950>: callq 0x7ffff648be36 <qBadAlloc()> 0x00007ffff649e41f <+-1892945>: jmpq 0x7ffff666cb8a <QCoreApplication::removePostedEvents(QObject*, int)+1306> 0x00007ffff649e424 <+-1892940>: endbr64
0x00007ffff649e428 <+-1892936>: mov 0x78(%rsp),%rdi 0x00007ffff649e42d <+-1892931>: mov %rax,%rbp 0x00007ffff649e430 <+-1892928>: cmp 0x18(%rsp),%rdi 0x00007ffff649e435 <+-1892923>: je 0x7ffff649e43c <QCoreApplication::removePostedEvents(QObject*, int)+4293074380> 0x00007ffff649e437 <+-1892921>: callq 0x7ffff648a290 <free at plt> 0x00007ffff649e43c <+-1892916>: mov 0x20(%rsp),%rdi 0x00007ffff649e441 <+-1892911>: and $0xfffffffffffffffe,%rdi 0x00007ffff649e445 <+-1892907>: callq 0x7ffff64c2a90 <QMutex::unlock()> 0x00007ffff649e44a <+-1892902>: mov %rbp,%rdi 0x00007ffff649e44d <+-1892899>: callq 0x7ffff648aa00 <_Unwind_Resume at plt> End of assembler dump.

Reply by email

Juha Manninen
to Erwin van den Bosch: I build FPC 3.20 RC1 on my Kubuntu 19.10 and I can confirm that the segfault does not…

On Wed, Apr 15, 2020 at 12:22 AM Erwin van den Bosch via lazarus <

Show quoted text 8 lines
wrote: I build FPC 3.20 RC1 on my Kubuntu 19.10 and I can confirm that the segfault does not happen anymore. I created a simple project with button and opendialog and all worked fine. So FPC 3.2rc1 seems to fix it.

I got the crash every time, even with an empty LCL application without anything added. No OpenDialog was involved.
Yes, it happened only with FPC3.0.x. Now I have installed FPC trunk from Manjaro's AUR repo and the crash is gone.
I hope we will get rid of FPC3.0.4 soon. I will use only FPC trunk or 3.2(RC) from now on.

Juha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200415/382f7e67/attachment.html>

Reply by email

Florian Klämpfl
to zeljko: 0x00007ffff666c7f1 is at line 382 inside assembler.txt. That's all I can get. zeljko…
zeljko wrote 8 lines
On 4/14/20 8:24 PM, Florian Klämpfl via lazarus wrote: > Sorry, I were not precise enough. Can you also post a disassembly of > the swap procedure at 0x00007ffff666c7f1? 0x00007ffff666c7f1 is at line 382 inside assembler.txt. That's all I can get.

The offending line is
=> 0x00007ffff666c7f1 <+385>: movaps %xmm0,0x50(%rsp)

So it is very likely an unaligned data sig fault (rsp not divisable by 8). This is fixed by r38400. Note that in some configurations it might work, in others not.

Reply by email

zeljko
to Florian Klämpfl: The offending line is => 0x00007ffff666c7f1 <+385>: movaps %xmm0,0x50(%rsp) So it is…
Florian Klämpfl wrote 16 lines
Am 15.04.20 um 09:24 schrieb zeljko: > On 4/14/20 8:24 PM, Florian Klämpfl via lazarus wrote: > >> Sorry, I were not precise enough. Can you also post a disassembly of >> the swap procedure at 0x00007ffff666c7f1? > > > 0x00007ffff666c7f1 is at line 382 inside assembler.txt. That's all I > can get. The offending line is => 0x00007ffff666c7f1 <+385>:   movaps %xmm0,0x50(%rsp) So it is very likely an unaligned data sig fault (rsp not divisable by 8). This is fixed by r38400. Note that in some configurations it might work, in others not.

Thanks, that's the reason why 3.2 and fpc trunk works ok.

zeljko

Reply by email