Hi Steve, I changed the knob value manually -- not from the API level but just simply mouse + keyboard.
About thread-safe, is there any API that guaranteed to happen only in the main thread? Any docs I could read? So far I learned is, knob(<whatever_name>) method is not available within replace_knobs() callback. Thanks a lot for your reply, Shing On Wed, Mar 21, 2012 at 10:40 PM, Steven Booth <[email protected]> wrote: > How are you changing the value of one of the knobs? Are you using > knob(<nob name>)->setValue, or are you simply updating the knob’s > referenced value location? Be aware, that you can only modify UI elements > from the primary thread. If you wish to change a knob value from a > dependent thread, you should issue an event to the primary thread to do > such.**** > > ** ** > > Steve**** > > ** ** > > ** ** > > *From:* [email protected] [mailto: > [email protected]] *On Behalf Of *Chishing Yip > *Sent:* Wednesday, March 21, 2012 2:09 AM > *To:* Nuke plug-in development discussion > *Subject:* [Nuke-dev] Nuke crashes randomly**** > > ** ** > > 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 ?? ()**** > > (CONFIDENTIALITY NOTICE: The information contained in this email may be > confidential and/or privileged. This email is intended to be reviewed by only > the individual or organization named above. If you are not the intended > recipient, or an authorized representative of the intended recipient, you are > hereby notified that any review, dissemination or copying of this email, or > the information contained herein is strictly prohibited. If you have received > this communication in error, please notify the sender by return email and > delete this email from your system. Thank You.) > > > > _______________________________________________ > Nuke-dev mailing list > [email protected], http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev > >
_______________________________________________ Nuke-dev mailing list [email protected], http://forums.thefoundry.co.uk/ http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev
