Hi all,

I have a plugin which create knobs dynamically, Nuke sometime crashes when
I change a value of one of the dynamic knobs( see backtrace_1 ); sometime
the crash happens when I click on my plugin's panel ( see backtrace_2 ).
This looks like a threading problem, because this does not happen always,
is there any thing I should be aware of? e.g. avoid calling certain Nuke
APIs to keep thread safe?

Best regards,
Shing

--------------   backtrace_1 -------------------
(gdb) bt
#0  0x0000000000eb1960 in ?? ()
#1  0x0000000000eb1127 in ?? ()
#2  0x0000000000eb308d in ?? ()
#3  0x00007ffff78133fe in DD::Image::Knob::new_undo(void const*) () from
/usr/local/Nuke6.3v6/libDDImage.so
#4  0x0000000000aa5182 in ?? ()
#5  0x00007ffff63eac8a in QMetaObject::activate(QObject*, QMetaObject
const*, int, void**) () from /usr/local/Nuke6.3v6/libQtCore.so.4
#6  0x00007ffff6cb9831 in QComboBox::activated(int) () from
/usr/local/Nuke6.3v6/libQtGui.so.4
#7  0x00007ffff6cbb576 in ?? () from /usr/local/Nuke6.3v6/libQtGui.so.4
#8  0x00007ffff6cbdff8 in ?? () from /usr/local/Nuke6.3v6/libQtGui.so.4
#9  0x00007ffff6cc3c16 in QComboBox::qt_metacall(QMetaObject::Call, int,
void**) () from /usr/local/Nuke6.3v6/libQtGui.so.4
#10 0x0000000000aa50ed in ?? ()
#11 0x00007ffff63eac8a in QMetaObject::activate(QObject*, QMetaObject
const*, int, void**) () from /usr/local/Nuke6.3v6/libQtCore.so.4
#12 0x00007ffff6f85b52 in ?? () from /usr/local/Nuke6.3v6/libQtGui.so.4
#13 0x00007ffff6cbc575 in ?? () from /usr/local/Nuke6.3v6/libQtGui.so.4
#14 0x00007ffff63d7d7f in
QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*)
() from /usr/local/Nuke6.3v6/libQtCore.so.4
#15 0x00007ffff68e6450 in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /usr/local/Nuke6.3v6/libQtGui.so.4
#16 0x00007ffff68ebdb7 in QApplication::notify(QObject*, QEvent*) () from
/usr/local/Nuke6.3v6/libQtGui.so.4
#17 0x0000000000ba56e8 in ?? ()
#18 0x00007ffff63d7a84 in QCoreApplication::notifyInternal(QObject*,
QEvent*) () from /usr/local/Nuke6.3v6/libQtCore.so.4
#19 0x00007ffff68e9286 in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
   from /usr/local/Nuke6.3v6/libQtGui.so.4
#20 0x00007ffff6968b95 in ?? () from /usr/local/Nuke6.3v6/libQtGui.so.4
#21 0x00007ffff6967bf7 in QApplication::x11ProcessEvent(_XEvent*) () from
/usr/local/Nuke6.3v6/libQtGui.so.4
#22 0x00007ffff6990852 in ?? () from /usr/local/Nuke6.3v6/libQtGui.so.4
#23 0x00007ffff1bdcbcd in g_main_context_dispatch () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007ffff1bdd3a8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007ffff1bdd639 in g_main_context_iteration () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007ffff6402255 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/local/Nuke6.3v6/libQtCore.so.4
#27 0x00007ffff699067f in ?? () from /usr/local/Nuke6.3v6/libQtGui.so.4
#28 0x00007ffff63d6c15 in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/local/Nuke6.3v6/libQtCore.so.4
#29 0x00007ffff63d6f6d in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/local/Nuke6.3v6/libQtCore.so.4
#30 0x00007ffff63d8bb6 in QCoreApplication::exec() () from
/usr/local/Nuke6.3v6/libQtCore.so.4
#31 0x0000000000ba6d9f in ?? ()
#32 0x0000000000fcadc5 in ?? ()
#33 0x00007ffff38d1eff in __libc_start_main (main=0xfc9af4, argc=1,
ubp_av=0x7fffffffe1c8, init=<value optimized out>, fini=<value optimized
out>,
    rtld_fini=<value optimized out>, stack_end=0x7fffffffe1b8) at
libc-start.c:226
#34 0x00000000008f9841 in ?? ()



--------------   backtrace_2 -------------------
(gdb) bt
#0  0x0000000000eb1927 in ?? ()
#1  0x0000000000eb1127 in ?? ()
#2  0x0000000000eb3f5e in ?? ()
#3  0x0000000000a81b0b in ?? ()
#4  0x00007ffff694104f in QWidget::event(QEvent*) () from
/usr/local/Nuke6.3v6/libQtGui.so.4
#5  0x00007ffff7406f1a in QGLWidget::event(QEvent*) () from
/usr/local/Nuke6.3v6/libQtOpenGL.so.4
#6  0x0000000000a885c9 in ?? ()
#7  0x00007ffff68e647f in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /usr/local/Nuke6.3v6/libQtGui.so.4
#8  0x00007ffff68ebdb7 in QApplication::notify(QObject*, QEvent*) () from
/usr/local/Nuke6.3v6/libQtGui.so.4
#9  0x0000000000ba56e8 in ?? ()
#10 0x00007ffff63d7a84 in QCoreApplication::notifyInternal(QObject*,
QEvent*) () from /usr/local/Nuke6.3v6/libQtCore.so.4
#11 0x00007ffff68e9286 in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
   from /usr/local/Nuke6.3v6/libQtGui.so.4
#12 0x00007ffff6968d89 in ?? () from /usr/local/Nuke6.3v6/libQtGui.so.4
#13 0x00007ffff6967bf7 in QApplication::x11ProcessEvent(_XEvent*) () from
/usr/local/Nuke6.3v6/libQtGui.so.4
#14 0x00007ffff6990852 in ?? () from /usr/local/Nuke6.3v6/libQtGui.so.4
#15 0x00007ffff1bdcbcd in g_main_context_dispatch () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007ffff1bdd3a8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007ffff1bdd639 in g_main_context_iteration () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007ffff6402255 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/local/Nuke6.3v6/libQtCore.so.4
#19 0x00007ffff699067f in ?? () from /usr/local/Nuke6.3v6/libQtGui.so.4
#20 0x00007ffff63d6c15 in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/local/Nuke6.3v6/libQtCore.so.4
#21 0x00007ffff63d6f6d in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/local/Nuke6.3v6/libQtCore.so.4
#22 0x00007ffff63d8bb6 in QCoreApplication::exec() () from
/usr/local/Nuke6.3v6/libQtCore.so.4
#23 0x0000000000ba6d9f in ?? ()
#24 0x0000000000fcadc5 in ?? ()
#25 0x00007ffff38d1eff in __libc_start_main (main=0xfc9af4, argc=1,
ubp_av=0x7fffffffe1c8, init=<value optimized out>, fini=<value optimized
out>,
    rtld_fini=<value optimized out>, stack_end=0x7fffffffe1b8) at
libc-start.c:226
#26 0x00000000008f9841 in ?? ()
_______________________________________________
Nuke-dev mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev

Reply via email to