Here's a backtrace from the core dump: #0 0x00007f1b19bc12c7 in ?? () from /lib64/libgcc_s.so.1 #1 0x00007f1b19bc2e78 in _Unwind_Backtrace () from /lib64/libgcc_s.so.1 #2 0x00007f1b2b679268 in backtrace () from /lib64/libc.so.6 #3 0x00007f1b185965e5 in ?? () from /usr/lib64/libruby2.2.so.2.2 #4 0x00007f1b1859681c in ?? () from /usr/lib64/libruby2.2.so.2.2 #5 0x00007f1b18472c4b in ?? () from /usr/lib64/libruby2.2.so.2.2 #6 0x00007f1b1852929e in ?? () from /usr/lib64/libruby2.2.so.2.2 #7 <signal handler called> #8 0x0000000000000060 in ?? () #9 0x00007f1b103d3c79 in QMetaObject::cast(QObject const*) const () from /usr/lib64/libQt5Core.so.5 #10 0x00007f1b111a1d8d in ?? () from /usr/lib64/libQt5Widgets.so.5 #11 0x00007f1b1115d276 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #12 0x00007f1b103cb578 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 #13 0x00007f1b1041f5ae in QTimerInfoList::activateTimers() () from /usr/lib64/libQt5Core.so.5 #14 0x00007f1b1041fca1 in ?? () from /usr/lib64/libQt5Core.so.5 #15 0x00007f1b0ea9cb37 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #16 0x00007f1b0ea9cd68 in ?? () from /usr/lib64/libglib-2.0.so.0 #17 0x00007f1b0ea9cdfc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #18 0x00007f1b1042073f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 #19 0x00007f1b11e4571d in YQUI::idleLoop(int) () from /usr/lib64/yui/libyui-qt.so.8 #20 0x00007f1b1b1daadc in YUI::uiThreadMainLoop (this=0x558d3a611d60) at /usr/src/debug/libyui-3.3.3/src/YUI.cc:357 #21 0x00007f1b1b1dac9e in start_ui_thread (yui=<optimized out>) at /usr/src/debug/libyui-3.3.3/src/YUI.cc:493 #22 0x00007f1b2b92b4e7 in start_thread () from /lib64/libpthread.so.0 #23 0x00007f1b2b66ba2f in clone () from /lib64/libc.so.6
I'll try valgrinding it and send you the results. On 10/02/2017 09:51 AM, Josef Reidinger wrote: > V Mon, 2 Oct 2017 09:34:27 -0600 > David Mulder <[email protected]> napsáno: > >> I've written a yast module in python (can be found here: >> https://github.com/dmulder/yast-gpmc ), and have encountered some >> issues. >> >> * When exiting the module, it always crashes, with a backtrace. It >> appears that yast is crashing in a destructor somewhere. >> <main>: [BUG] Segmentation fault at 0x000000000017f0 >> ruby 2.2.6p396 (2016-11-15 revision 56800) [x86_64-linux-gnu] >> >> -- Control frame information >> ----------------------------------------------- c:0001 p:0000 s:0002 >> E:0025e0 TOP [FINISH] >> >> >> -- Machine register context >> ------------------------------------------------ RIP: >> 0x00000000000017f0 RBP: 0x00007f69a34388c0 RSP: 0x00007f699f6b9a98 >> RAX: 0x00007f69983cff90 RBX: 0x00007f69980eb2a0 RCX: >> 0x00007f6998002e80 RDX: 0x00007f699f6b9cf0 RDI: 0x00007f69980eb2a0 >> RSI: 0x00007f69980eb2a0 R8: 0x00007f69984dadc8 R9: >> 0x00007f69984dada0 R10: 0x000055efbe7e7660 R11: 0x0000000000040614 >> R12: 0x00007f699f6b9cf0 R13: 0x00007f6998002150 R14: >> 0x00007f69980eb2a0 R15: 0x00007f699f6b9cf0 EFL: 0x0000000000010206 >> >> -- C level backtrace information >> ------------------------------------------- > output is not much helpful, can you debug it with gdb and valgrind and > print where it is badly accessed? > >> >> * Yast doesn't recognize python modules that are installed, and >> doesn't add them to the menu. >>> l /usr/local/share/YaST2/clients/gpmc.py >> -rw-r--r-- 1 root root 2057 Sep 28 09:03 >> /usr/local/share/YaST2/clients/gpmc.py >>> sudo yast2 gpmc >> No such client module gpmc >> > It is known limitation of python bindings. Perl and python bindings > does not have support for clients. Only ruby bindings have it and it > was a bit tricky to add it. > If you want to add it to python, check how ruby ones are done: > > https://github.com/yast/yast-ruby-bindings/blob/master/src/binary/Y2CCRubyClient.h > https://github.com/yast/yast-ruby-bindings/blob/master/src/binary/Y2RubyClientComponent.h > > actual call of client > https://github.com/yast/yast-ruby-bindings/blob/master/src/binary/Y2RubyClientComponent.cc#L53 > https://github.com/yast/yast-ruby-bindings/blob/master/src/binary/YRuby.cc#L237 > > so in short. You have to have Component creator for clients, then > client component which do then actual call of python method that > somehow invoke python code. -- David Mulder SUSE Labs Software Engineer - Samba [email protected] SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: [email protected] To contact the owner, e-mail: [email protected]
