https://bugs.kde.org/show_bug.cgi?id=430045
Bug ID: 430045 Summary: Imediate Segfault when starting cantor 20.11.80 Product: cantor Version: 20.11.80 Platform: Compiled Sources OS: Linux Status: REPORTED Severity: crash Priority: NOR Component: general Assignee: cantor-b...@kde.org Reporter: joshua.hough...@yandex.ru Target Milestone: --- Created attachment 133889 --> https://bugs.kde.org/attachment.cgi?id=133889&action=edit 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 -- You are receiving this mail because: You are watching all bug changes.