Summary: | Imediate Segfault when starting cantor 20.11.80 | ||
---|---|---|---|
Product: | [Applications] cantor | Reporter: | Joshua Houghton <joshua.houghton> |
Component: | general | Assignee: | Cantor Bugs <cantor-bugs> |
Status: | RESOLVED WORKSFORME | ||
Severity: | crash | CC: | joshua.houghton, warquark |
Priority: | NOR | ||
Version First Reported In: | 20.11.80 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
the rpms i have installed (rpm -qa)
Cantor crashing on master (48c72cd7) gdb output |
Description
Joshua Houghton
2020-12-05 15:04:38 UTC
Hi, Joshua You have reported an interesting and unique problem Can you please rebuild Cantor in Debug mode (`cmake -DCMAKE_BUILD_TYPE=Debug ..`) and post startup log here? This is will be useful for the problem invastigation, if output from line 691 (`qDebug()<<"adding panel for "<<plugin->name();`) will be available for me. (In reply to Nikita Sirgienko from comment #1) > Hi, Joshua > You have reported an interesting and unique problem > Can you please rebuild Cantor in Debug mode (`cmake -DCMAKE_BUILD_TYPE=Debug > ..`) and post startup log here? > This is will be useful for the problem invastigation, if output from line > 691 (`qDebug()<<"adding panel for "<<plugin->name();`) will be available for > me. Thanks Nikita It looks like the "File Browser" panel that causes it to crash initially. I'll paste the debug output bellow. Upon further inspection howerver it looks like all three panels cause it to segfault. I managed to get it to start by applying the following patch jjhough@localhost:~/development/cantor/build$ git diff diff --git a/src/cantor.cpp b/src/cantor.cpp index 23698812..9d85e66c 100644 --- a/src/cantor.cpp +++ b/src/cantor.cpp @@ -688,6 +688,10 @@ void CantorShell::initPanels() continue; } + if (plugin->name().compare(QString::fromUtf8("File Browser")) == 0) continue; + if (plugin->name().compare(QString::fromUtf8("Help")) == 0) continue; + if (plugin->name().compare(QString::fromUtf8("Variable Manager")) == 0) continue; + qDebug()<<"adding panel for "<<plugin->name(); plugin->setParentWidget(this); plugin->connectToShell(this); After applying the patch I noticed it crashed when i closed cantor Adding additional application library path for Cantor plugins loading "/usr/lib64/qt5/plugins" dir: "/usr/lib64/qt5/plugins/cantor/panels" dir: "/home/jjhough/development/cantor/build/src/cantor/panels" dir: "/usr/lib64/qt5/plugins/cantor/backends" dir: "/home/jjhough/development/cantor/build/src/cantor/backends" "KAlgebra" true true "Lua" true true "Maxima" false false "Octave" false false "Python" true true "Qalculate" true true "Sage" false false "Scilab" false false corrupted double-linked list KCrash: Application 'cantor' crashing... KCrash: Attempting to start /usr/libexec/drkonqi Alarm clock This is the output with debugging enabled and with no patch applied to cantor. Please let me know if I can be of any further assistance. jjhough@localhost:~/development/cantor/build$ ./src/cantor Adding additional application library path for Cantor plugins loading "/usr/lib64/qt5/plugins" dir: "/usr/lib64/qt5/plugins/cantor/panels" dir: "/home/jjhough/development/cantor/build/src/cantor/panels" adding panel for "File Browser" KCrash: Application 'cantor' crashing... KCrash: Attempting to start /usr/libexec/drkonqi org.kde.drkonqi: found lsb_release org.kde.drkonqi: Using /proc to determine executable path org.kde.drkonqi: exe "/home/jjhough/development/cantor/build/src/cantor" has deleted files: false org.kde.drkonqi: Executable is: "/home/jjhough/development/cantor/build/src/cantor" org.kde.drkonqi: Executable exists: true org.kde.drkonqi: Check debugger if "gdb" [ "gdb" ] is installed: true org.kde.drkonqi: Using debugger: "gdb" org.kde.drkonqi: Enabling drkonqi crash catching kf.notifications: service is "org.kde.StatusNotifierItem-646305-1" kf.notifications: Registering a client interface to the KStatusNotifierWatcher kf.idletime.xsync: 16 counters kf.idletime.xsync: DEVICEIDLETIME 15 2317 kf.idletime.xsync: DEVICEIDLETIME 14 1725 kf.idletime.xsync: DEVICEIDLETIME 13 1724 kf.idletime.xsync: DEVICEIDLETIME 12 1723 kf.idletime.xsync: DEVICEIDLETIME 11 1722 kf.idletime.xsync: DEVICEIDLETIME 10 1721 kf.idletime.xsync: DEVICEIDLETIME 9 1720 kf.idletime.xsync: DEVICEIDLETIME 8 1719 kf.idletime.xsync: DEVICEIDLETIME 7 1718 kf.idletime.xsync: DEVICEIDLETIME 6 1717 kf.idletime.xsync: DEVICEIDLETIME 5 1716 kf.idletime.xsync: DEVICEIDLETIME 4 1715 kf.idletime.xsync: DEVICEIDLETIME 3 1714 kf.idletime.xsync: DEVICEIDLETIME 2 1713 kf.idletime.xsync: IDLETIME 100 kf.idletime.xsync: XSync seems available and ready kf.idletime: Trying plugin "/usr/lib64/qt5/plugins/kf5/org.kde.kidletime.platforms/KF5IdleTimeXcbPlugin0.so" kf.idletime: Using "/usr/lib64/qt5/plugins/kf5/org.kde.kidletime.platforms/KF5IdleTimeXcbPlugin0.so" for platform "xcb" kf.idletime.xsync: XSync Inited kf.idletime.xsync: Supported, init completed kf.idletime.xsync: Created alarm 163577857 kf.notifications: Calling notify on "Popup" org.kde.drkonqi: Sending SIGSTOP to process [1]+ Stopped ./src/cantor Looks like I'm experiencing the same issue on arch. Out of interest what are you running assuming it works for you? joshua@r2400g:~/development/cantor/build$ ./src/cantor Adding additional application library path for Cantor plugins loading "/usr/lib/qt/plugins" dir: "/usr/lib/qt/plugins/cantor/panels" dir: "/home/joshua/development/cantor/build/src/cantor/panels" adding panel for "File Browser" KCrash: crashing... crashRecursionCounter = 2 KCrash: Application Name = cantor path = /home/joshua/development/cantor/build/src pid = 3571826 KCrash: Arguments: /home/joshua/development/cantor/build/src/cantor KCrash: Attempting to start /usr/lib/drkonqi [1]+ Stopped ./src/cantor SOFTWARE/OS VERSIONS Plasma Version: 5.20.4 KDE Frameworks Version: 5.76.0 Qt Version: 5.15.2 Kernel version: 5.9.10 OS: arch linux Windowing system: X11 Could you also provide result of running Cantor without a patch with "gdb cantor"?
It will show, where the crash happends.
> Out of interest what are you running assuming it works for you?
Not sure, that I have understand your question, but if you asking is a Cantor works for me, then yes, I have never experienced the problem with plugin start up.
But I remember crash on exit problem - it happened maybe a year ago, Cantor have crashed sometimes on exit, but after a few months the problem have gone, so maybe it was a problem with dependency, but I am not sure.
Created attachment 133908 [details]
Cantor crashing on master (48c72cd7) gdb output
> Could you also provide result of running Cantor without a patch with "gdb cantor"? > It will show, where the crash happends. That was the gdb output of cantor without the patch. I put a breakpoint on the line in assembly before it crashed. It crashes on this line here 0x000000000041a2aa <+496>: call *%rcx because %rcx is set to 0x0. Looks like the vtable is dodgy i would imagine but my knowledge of c++ is severely lacking especially when it comes to c++ internals. I can tell you it crashes on this line here: 693 plugin->connectToShell(this); which is a virtual function. Never the less i've uploaded the result of gdb when it actually does crash as a html document so you can see the colours. As you can see from running backtrace it tries to call a function at address 0x0000000000000000 by the look of it. > > Out of interest what are you running assuming it works for you? > Not sure, that I have understand your question, but if you asking is a Cantor works for me, then yes, I have never experienced the problem with plugin start up. > But I remember crash on exit problem - it happened maybe a year ago, Cantor have crashed sometimes on exit, but after a few months the problem have gone, so maybe it was a problem with dependency, but I am not sure. Sorry i should have been more clear here. I meant what linux distribution are you running and what version of the kde framework and Qt are you using. My system info: Qt Version: 5.12.8 Frameworks Version: 5.68.0 Operating System: Linux 5.4.0-56-generic x86_64 Windowing system: X11 Distribution: "Ubuntu 20.04.1 LTS" And I uses this compiler - g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0 Yes, the colorful output very useful, thanks And I have now an idea - do you have installed system Cantor from fedora repos, right? It is important, because I see this paths in your plugin loading output: dir: "/usr/lib64/qt5/plugins/cantor/panels" dir: "/home/jjhough/development/cantor/build/src/cantor/panels" So, given a reported zero-function call issue, I just start think, that your builded Cantor 20.11.80 on startup just loads plugins from system Cantor 20.08.01 from directory /usr/lib64/qt5/plugins/cantor/panels. Because in this case, the zero call is easy to explain - Cantor 20.08.1 plugins haven't this function, this is have added recently. It can happens, because Cantor actually don't have plugin version checking (which is an issue, on which I will take a look soon) So, can you uninstall system's Cantor, re-run install step on your manually builded Cantor and try to start again? Waiting for information ("Is purge uninstallation system Cantor and reinstallation of builded Cantor solves the problem?") Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone! This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone! |