Bug 430045 - Imediate Segfault when starting cantor 20.11.80
Summary: Imediate Segfault when starting cantor 20.11.80
Status: RESOLVED WORKSFORME
Alias: None
Product: cantor
Classification: Applications
Component: general (show other bugs)
Version: 20.11.80
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Cantor Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-12-05 15:04 UTC by Joshua Houghton
Modified: 2021-01-11 04:33 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
the rpms i have installed (rpm -qa) (106.79 KB, text/plain)
2020-12-05 15:04 UTC, Joshua Houghton
Details
Cantor crashing on master (48c72cd7) gdb output (45.47 KB, text/html)
2020-12-06 21:34 UTC, Joshua Houghton
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joshua Houghton 2020-12-05 15:04:38 UTC
Created attachment 133889 [details]
the rpms i have installed (rpm -qa)

SUMMARY

Imediate Segfault when starting cantor 20.11.80. Version 20.08.01 installed from the fedora repo works fine however

STEPS TO REPRODUCE
1. Compile cantor on fedora 33 kde spin
2. The cantor plugins i have installed are qalculate, python, lua, kalgebra
3. compile cantor v20.11.80 (mkdir build; cd build; cmake ..; make -j16)
4. run cantor ./src/cantor
5. you'll get a segfault straight away

OBSERVED RESULT

[KCrash Handler]
#4  0x0000000000000000 in ?? ()
#5  0x000000000041a2ac in CantorShell::initPanels (this=0x18f69d0) at /home/jjhough/development/cantor/src/cantor.cpp:693
#6  0x00000000004148b0 in CantorShell::CantorShell (this=0x18f69d0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /home/jjhough/development/cantor/src/cantor.cpp:82
#7  0x00000000004128dc in main (argc=1, argv=0x7ffc51a20fd8) at /home/jjhough/development/cantor/src/main.cpp:118
[Inferior 1 (process 309860) detached]

EXPECTED RESULT

I would expect it to at least start

SOFTWARE/OS VERSIONS
Qt Version: 5.15.1
Frameworks Version: 5.75.0
Operating System: Linux 5.9.11-200.fc33.x86_64 x86_64
Windowing system: X11
Distribution: "Fedora release 33 (Thirty Three)"

ADDITIONAL INFORMATION

After taking a look in gdb this is what i found:

The long and short of it is it's trying to call a function at address 0x0 so it segfaults on this line:
cantor.cpp:694        plugin->connectToShell(this);

Notice that you have call *%rcx but rcx is null.

You can see this if you look in gdb:

jjhough@localhost:~/development/cantor/build$ gdb ./src/cantor
GNU gdb (GDB) Fedora 10.1-2.fc33
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./src/cantor...
(gdb) break *0x000000000041a2a7
Breakpoint 1 at 0x41a2a7: file /home/jjhough/development/cantor/src/cantor.cpp, line 693.
(gdb) run
Starting program: /home/jjhough/development/cantor/build/src/cantor 
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.32-2.fc33.x86_64
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Missing separate debuginfo for /lib64/libpcre2-16.so.0
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/8c/9ad62ad3a8d38ecbff5bc8beea8bc03ffe856f.debug
Missing separate debuginfo for /lib64/libX11-xcb.so.1
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/65/75021f483ac57ba47151740b98fe3bcf307943.debug
[New Thread 0x7fffe2e63640 (LWP 511482)]
[New Thread 0x7fffe17d7640 (LWP 511483)]
[New Thread 0x7fffdaa15640 (LWP 511490)]
[New Thread 0x7fffd9940640 (LWP 511491)]
[New Thread 0x7fffd913f640 (LWP 511492)]
[New Thread 0x7fffd893e640 (LWP 511493)]
[New Thread 0x7fffced07640 (LWP 511494)]
[New Thread 0x7fffce506640 (LWP 511495)]
[New Thread 0x7fffcdd05640 (LWP 511496)]
[New Thread 0x7fffcd504640 (LWP 511497)]
[New Thread 0x7fffccd03640 (LWP 511498)]
[New Thread 0x7fffa7fff640 (LWP 511499)]
[New Thread 0x7fffa77fe640 (LWP 511500)]
[New Thread 0x7fffa6ffd640 (LWP 511501)]
[New Thread 0x7fffa67fc640 (LWP 511502)]
[New Thread 0x7fffa5ffb640 (LWP 511503)]
[New Thread 0x7fffa57fa640 (LWP 511504)]
[New Thread 0x7fffa4ff9640 (LWP 511505)]
[New Thread 0x7fff87fff640 (LWP 511506)]
[New Thread 0x7fff877fe640 (LWP 511507)]
[New Thread 0x7fff86ffd640 (LWP 511508)]
[New Thread 0x7fff867fc640 (LWP 511509)]
[New Thread 0x7fff85ffb640 (LWP 511510)]
[New Thread 0x7fff857fa640 (LWP 511511)]
[New Thread 0x7fff84ff9640 (LWP 511514)]
[New Thread 0x7fff6ffff640 (LWP 511515)]
[New Thread 0x7fff6f7fe640 (LWP 511516)]
[New Thread 0x7fff6effd640 (LWP 511517)]

Thread 1 "cantor" hit Breakpoint 1, 0x000000000041a2a7 in CantorShell::initPanels (this=0x5492a0)
    at /home/jjhough/development/cantor/src/cantor.cpp:693
693             plugin->connectToShell(this);
Missing separate debuginfos, use: dnf debuginfo-install kf5-frameworkintegration-libs-5.75.0-1.fc33.x86_64 kf5-kwayland-5.75.0-1.fc33.x86_64 kf5-kxmlgui-5.75.0-1.fc33.x86_64 plasma-integration-5.20.3-1.fc33.x86_64 qt5-qtbase-5.15.1-7.fc33.x86_64 qt5-qtbase-gui-5.15.1-7.fc33.x86_64
(gdb) backtrace
#0  0x000000000041a2a7 in CantorShell::initPanels (this=0x5492a0) at /home/jjhough/development/cantor/src/cantor.cpp:693
#1  0x00000000004148b0 in CantorShell::CantorShell (this=0x5492a0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>)
    at /home/jjhough/development/cantor/src/cantor.cpp:82
#2  0x00000000004128dc in main (argc=1, argv=0x7fffffffdd58) at /home/jjhough/development/cantor/src/main.cpp:118
(gdb) disassemble
Dump of assembler code for function _ZN11CantorShell10initPanelsEv:
   0x000000000041a0ba <+0>:     push   %rbp
   0x000000000041a0bb <+1>:     mov    %rsp,%rbp
   0x000000000041a0be <+4>:     push   %r15
   0x000000000041a0c0 <+6>:     push   %r14
   0x000000000041a0c2 <+8>:     push   %r13
   0x000000000041a0c4 <+10>:    push   %r12
   0x000000000041a0c6 <+12>:    push   %rbx
   0x000000000041a0c7 <+13>:    sub    $0xf8,%rsp
   0x000000000041a0ce <+20>:    mov    %rdi,-0xf8(%rbp)
   0x000000000041a0d5 <+27>:    mov    -0xf8(%rbp),%rax
   0x000000000041a0dc <+34>:    add    $0xa0,%rax
   0x000000000041a0e2 <+40>:    mov    %rax,%rdi
   0x000000000041a0e5 <+43>:    call   0x40e5a0 <_ZN6Cantor18PanelPluginHandler11loadPluginsEv@plt>
   0x000000000041a0ea <+48>:    mov    -0xf8(%rbp),%rax
   0x000000000041a0f1 <+55>:    lea    0xa0(%rax),%rdx
   0x000000000041a0f8 <+62>:    lea    -0xd0(%rbp),%rax
   0x000000000041a0ff <+69>:    mov    %rdx,%rsi
   0x000000000041a102 <+72>:    mov    %rax,%rdi
   0x000000000041a105 <+75>:    call   0x40d670 <_ZN6Cantor18PanelPluginHandler10allPluginsEv@plt>
   0x000000000041a10a <+80>:    lea    -0xd0(%rbp),%rax
   0x000000000041a111 <+87>:    mov    %rax,-0x38(%rbp)
   0x000000000041a115 <+91>:    lea    -0xd8(%rbp),%rax
   0x000000000041a11c <+98>:    mov    -0x38(%rbp),%rdx
   0x000000000041a120 <+102>:   mov    %rdx,%rsi
   0x000000000041a123 <+105>:   mov    %rax,%rdi
   0x000000000041a126 <+108>:   call   0x4253cc <_ZN5QListIPN6Cantor11PanelPluginEE5beginEv>
   0x000000000041a12b <+113>:   lea    -0xe0(%rbp),%rax
   0x000000000041a132 <+120>:   mov    -0x38(%rbp),%rdx
   0x000000000041a136 <+124>:   mov    %rdx,%rsi
   0x000000000041a139 <+127>:   mov    %rax,%rdi
   0x000000000041a13c <+130>:   call   0x42540c <_ZN5QListIPN6Cantor11PanelPluginEE3endEv>
   0x000000000041a141 <+135>:   lea    -0xe0(%rbp),%rdx
   0x000000000041a148 <+142>:   lea    -0xd8(%rbp),%rax
   0x000000000041a14f <+149>:   mov    %rdx,%rsi
   0x000000000041a152 <+152>:   mov    %rax,%rdi
   0x000000000041a155 <+155>:   call   0x42544c <_ZNK5QListIPN6Cantor11PanelPluginEE8iteratorneERKS4_>
   0x000000000041a15a <+160>:   test   %al,%al
   0x000000000041a15c <+162>:   je     0x41a4a3 <_ZN11CantorShell10initPanelsEv+1001>
--Type <RET> for more, q to quit, c to continue without paging--
   0x000000000041a162 <+168>:   lea    -0xd8(%rbp),%rax
   0x000000000041a169 <+175>:   mov    %rax,%rdi
   0x000000000041a16c <+178>:   call   0x42548e <_ZNK5QListIPN6Cantor11PanelPluginEE8iteratordeEv>
   0x000000000041a171 <+183>:   mov    (%rax),%rax
   0x000000000041a174 <+186>:   mov    %rax,-0x40(%rbp)
   0x000000000041a178 <+190>:   cmpq   $0x0,-0x40(%rbp)
   0x000000000041a17d <+195>:   jne    0x41a1e4 <_ZN11CantorShell10initPanelsEv+298>
   0x000000000041a17f <+197>:   lea    -0xc0(%rbp),%rax
   0x000000000041a186 <+204>:   lea    0x18efb(%rip),%rcx        # 0x433088
   0x000000000041a18d <+211>:   mov    $0x2af,%edx
   0x000000000041a192 <+216>:   lea    0x18c57(%rip),%rsi        # 0x432df0
   0x000000000041a199 <+223>:   mov    %rax,%rdi
   0x000000000041a19c <+226>:   call   0x4135be <_ZN14QMessageLoggerC2EPKciS1_>
   0x000000000041a1a1 <+231>:   lea    -0xc8(%rbp),%rax
   0x000000000041a1a8 <+238>:   lea    -0xc0(%rbp),%rdx
   0x000000000041a1af <+245>:   mov    %rdx,%rsi
   0x000000000041a1b2 <+248>:   mov    %rax,%rdi
   0x000000000041a1b5 <+251>:   call   0x40d360 <_ZNK14QMessageLogger5debugEv@plt>
   0x000000000041a1ba <+256>:   lea    -0xc8(%rbp),%rax
   0x000000000041a1c1 <+263>:   lea    0x18ee0(%rip),%rsi        # 0x4330a8
   0x000000000041a1c8 <+270>:   mov    %rax,%rdi
   0x000000000041a1cb <+273>:   call   0x4138c4 <_ZN6QDebuglsEPKc>
   0x000000000041a1d0 <+278>:   lea    -0xc8(%rbp),%rax
   0x000000000041a1d7 <+285>:   mov    %rax,%rdi
   0x000000000041a1da <+288>:   call   0x40df90 <_ZN6QDebugD1Ev@plt>
   0x000000000041a1df <+293>:   jmp    0x41a48f <_ZN11CantorShell10initPanelsEv+981>
   0x000000000041a1e4 <+298>:   lea    -0x90(%rbp),%rax
   0x000000000041a1eb <+305>:   lea    0x18e96(%rip),%rcx        # 0x433088
   0x000000000041a1f2 <+312>:   mov    $0x2b3,%edx
   0x000000000041a1f7 <+317>:   lea    0x18bf2(%rip),%rsi        # 0x432df0
   0x000000000041a1fe <+324>:   mov    %rax,%rdi
   0x000000000041a201 <+327>:   call   0x4135be <_ZN14QMessageLoggerC2EPKciS1_>
   0x000000000041a206 <+332>:   lea    -0x98(%rbp),%rax
   0x000000000041a20d <+339>:   lea    -0x90(%rbp),%rdx
   0x000000000041a214 <+346>:   mov    %rdx,%rsi
   0x000000000041a217 <+349>:   mov    %rax,%rdi
   0x000000000041a21a <+352>:   call   0x40d360 <_ZNK14QMessageLogger5debugEv@plt>
   0x000000000041a21f <+357>:   lea    -0x98(%rbp),%rax
   0x000000000041a226 <+364>:   lea    0x18e9d(%rip),%rsi        # 0x4330ca
--Type <RET> for more, q to quit, c to continue without paging--
   0x000000000041a22d <+371>:   mov    %rax,%rdi
   0x000000000041a230 <+374>:   call   0x4138c4 <_ZN6QDebuglsEPKc>
   0x000000000041a235 <+379>:   mov    %rax,%rbx
   0x000000000041a238 <+382>:   lea    -0x70(%rbp),%rax
   0x000000000041a23c <+386>:   mov    -0x40(%rbp),%rdx
   0x000000000041a240 <+390>:   mov    %rdx,%rsi
   0x000000000041a243 <+393>:   mov    %rax,%rdi
   0x000000000041a246 <+396>:   call   0x40d510 <_ZN6Cantor11PanelPlugin4nameEv@plt>
   0x000000000041a24b <+401>:   lea    -0x70(%rbp),%rax
   0x000000000041a24f <+405>:   mov    %rax,%rsi
   0x000000000041a252 <+408>:   mov    %rbx,%rdi
   0x000000000041a255 <+411>:   call   0x413940 <_ZN6QDebuglsERK7QString>
   0x000000000041a25a <+416>:   lea    -0x70(%rbp),%rax
   0x000000000041a25e <+420>:   mov    %rax,%rdi
   0x000000000041a261 <+423>:   call   0x40f694 <_ZN7QStringD2Ev>
   0x000000000041a266 <+428>:   lea    -0x98(%rbp),%rax
   0x000000000041a26d <+435>:   mov    %rax,%rdi
   0x000000000041a270 <+438>:   call   0x40df90 <_ZN6QDebugD1Ev@plt>
   0x000000000041a275 <+443>:   mov    -0xf8(%rbp),%rdx
   0x000000000041a27c <+450>:   mov    -0x40(%rbp),%rax
   0x000000000041a280 <+454>:   mov    %rdx,%rsi
   0x000000000041a283 <+457>:   mov    %rax,%rdi
   0x000000000041a286 <+460>:   call   0x40d810 <_ZN6Cantor11PanelPlugin15setParentWidgetEP7QWidget@plt>
   0x000000000041a28b <+465>:   mov    -0x40(%rbp),%rax
   0x000000000041a28f <+469>:   mov    (%rax),%rax
   0x000000000041a292 <+472>:   sub    $0xffffffffffffff80,%rax
   0x000000000041a296 <+476>:   mov    (%rax),%rcx
   0x000000000041a299 <+479>:   mov    -0xf8(%rbp),%rdx
   0x000000000041a2a0 <+486>:   mov    -0x40(%rbp),%rax
   0x000000000041a2a4 <+490>:   mov    %rdx,%rsi
=> 0x000000000041a2a7 <+493>:   mov    %rax,%rdi
   0x000000000041a2aa <+496>:   call   *%rcx
   0x000000000041a2ac <+498>:   lea    -0x68(%rbp),%rax
   0x000000000041a2b0 <+502>:   mov    -0x40(%rbp),%rdx
   0x000000000041a2b4 <+506>:   mov    %rdx,%rsi
   0x000000000041a2b7 <+509>:   mov    %rax,%rdi
   0x000000000041a2ba <+512>:   call   0x40d510 <_ZN6Cantor11PanelPlugin4nameEv@plt>
   0x000000000041a2bf <+517>:   lea    -0x68(%rbp),%rax
   0x000000000041a2c3 <+521>:   mov    %rax,-0x100(%rbp)
--Type <RET> for more, q to quit, c to continue without paging--q
Quit
(gdb) l
688                 continue;
689             }
690
691             qDebug()<<"adding panel for "<<plugin->name();
692             plugin->setParentWidget(this);
693             plugin->connectToShell(this);
694
695             QDockWidget* docker = new QDockWidget(plugin->name(), this);
696             docker->setObjectName(plugin->name());
697             docker->setWidget(plugin->widget());
(gdb) print plugin
$1 = (Cantor::PanelPlugin *) 0x8a1210
(gdb) print plugin->connectToShell
$2 = {void (Cantor::PanelPlugin * const, QObject *)} 0x7ffff7f88bba <Cantor::PanelPlugin::connectToShell(QObject*)>
(gdb) info registers
rax            0x8a1210            9048592
rbx            0x7fffffffd358      140737488343896
rcx            0x0                 0
rdx            0x5492a0            5542560
rsi            0x5492a0            5542560
rdi            0x8a1210            9048592
rbp            0x7fffffffd3f0      0x7fffffffd3f0
rsp            0x7fffffffd2d0      0x7fffffffd2d0
r8             0x7ffff6048cd0      140737320881360
r9             0x441010            4460560
r10            0xfffffffffffffb7d  -1155
r11            0x7ffff7f888fc      140737353648380
r12            0x432390            4400016
r13            0x0                 0
r14            0x0                 0
r15            0x0                 0
rip            0x41a2a7            0x41a2a7 <CantorShell::initPanels()+493>
eflags         0x207               [ CF PF IF ]
cs             0x33                51
ss             0x2b                43
ds             0x0                 0
es             0x0                 0
fs             0x0                 0
gs             0x0                 0
Comment 1 Nikita Sirgienko 2020-12-05 17:18:01 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.
Comment 2 Joshua Houghton 2020-12-05 20:36:46 UTC
(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
Comment 3 Joshua Houghton 2020-12-05 21:44:22 UTC
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
Comment 4 Nikita Sirgienko 2020-12-06 20:56:58 UTC
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.
Comment 5 Joshua Houghton 2020-12-06 21:34:18 UTC
Created attachment 133908 [details]
Cantor crashing on master (48c72cd7) gdb output
Comment 6 Joshua Houghton 2020-12-06 21:44:16 UTC
> 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.
Comment 7 Nikita Sirgienko 2020-12-07 07:39:46 UTC
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
Comment 8 Nikita Sirgienko 2020-12-07 07:55:09 UTC
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?
Comment 9 Nikita Sirgienko 2020-12-12 12:15:04 UTC
Waiting for information ("Is purge uninstallation system Cantor and reinstallation of builded Cantor solves the problem?")
Comment 10 Bug Janitor Service 2020-12-27 04:34:18 UTC
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!
Comment 11 Bug Janitor Service 2021-01-11 04:33:51 UTC
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!