Now that you mention it - it's likely that I submitted that example plugin 
during Nuke 5.2, and it's possible something's changed in 6.0+.

I'll try it under 6.2 and see what happens.

-jonathan


On Feb 14, 2012, at 6:21 PM, Chishing Yip wrote:

> Thanks Jonathan, I have read your example, I wrote the first version of my 
> plugin in 5.3 and I don't remember I had this crash, but now my plugin 
> crashes in 6.1, 6.2 and 6.3, I don't quite understand what's happening.
> 
> Shing
> 
> On Wed, Feb 15, 2012 at 3:23 AM, Jonathan Egstad <[email protected]> 
> wrote:
> Take a look at my example of this on Nukepedia:
> http://www.nukepedia.com/gizmos/plugins/other/dynamicknobs/
> 
> Caveat: I haven't tested this under 6.3, only in 6.2...
> 
> -jonathan
> 
> 
> On Feb 14, 2012, at 12:01 AM, Chishing Yip wrote:
> 
> > Hi all,
> >
> > I have a plugin uses replace_knobs() to create knobs dynamically:
> >
> >     replace_knobs( knob( "my_knob" ), num_of_dyn_knobs, ( 
> > &createKnobsCallback ) )
> >
> > Nuke crashes when replace_knobs() returns, even the createKnobsCallback() 
> > does nothing:
> >     void createKnobsCallback( ... )
> >     {
> >         /// nothing to do
> >         return;
> >     }
> >
> > here is the stack trace:
> > #1  0x000000000068447c in ?? ()
> > #2  0x00007ffff73135eb in msort_with_tmp (p=0x7fffffff9f30, b=0x6aaac08, 
> > n=2) at msort.c:84
> > #3  0x00007ffff7313458 in msort_with_tmp (p=0x7fffffff9f30, b=0x6aaabf8, 
> > n=4) at msort.c:55
> > #4  0x00007ffff7313448 in msort_with_tmp (p=0x7fffffff9f30, b=0x6aaabf8, 
> > n=9) at msort.c:54
> > #5  0x00007ffff7313458 in msort_with_tmp (p=0x7fffffff9f30, b=0x6aaabb8, 
> > n=17) at msort.c:55
> > #6  0x00007ffff7313458 in msort_with_tmp (p=0x7fffffff9f30, b=0x6aaab30, 
> > n=34) at msort.c:55
> > #7  0x00007ffff7313448 in msort_with_tmp (p=0x7fffffff9f30, b=0x6aaab30, 
> > n=69) at msort.c:54
> > #8  0x00007ffff73139f0 in qsort_r (b=0x6aaab30, n=69, s=<value optimized 
> > out>, cmp=0x684468, arg=0x0) at msort.c:298
> > #9  0x0000000000683a88 in ?? ()
> > #10 0x0000000000683792 in ?? ()
> > #11 0x00000000006833a2 in ?? ()
> > #12 0x00007ffff7b39deb in DD::Image::Op::replace_knobs(DD::Image::Knob*, 
> > int, void (*)(void*, DD::Image::Knob_Closure&), void*) ()
> >    from /usr/local/Nuke6.3v6/libDDImage.so
> >
> > If I use the knob pointer instead:
> >     Knob* myKnob = knob( "my_knob" );
> >     replace_knobs( myKnob, num_of_dyn_knobs, ( &createKnobsCallback ) )
> >
> > then the former crash is gone, but Nuke still crashes when calling 
> > Knob::set_value() or Knob::set_text() during replace_knobs():
> >     void createKnobsCallback( ... )
> >     {
> >         ...
> >         myFloatKnob->set_value( 1.0 );  /// crashes
> >         myStringKnob->set_text( "abc" );  /// crashes
> >         ...
> >     }
> >
> > Stack trace:
> > #0  0x0000000180000293 in ?? ()
> > #1  0x00007fffdc8b62e0 in DD::Image::Knob::set_text (this=0x4a54ff0, 
> > v=0xb0c2ea8 "abc")
> >     at /usr/local/Nuke6.3v6/include/DDImage/Knob.h:536
> > #2  0x00007fffdc8b2404 in MyPlugin::createKnobsCallback (this=0x4abef60, 
> > f=...)
> >     at MyPlugin.cpp:2087
> > #3  0x00007fffdc8b28db in MyPlugin::createKnobsCallback (p=0x4abef60, f=...)
> >     at MyPlugin.cpp:2387
> > #4  0x0000000000b81727 in ?? ()
> > #5  0x0000000000b8151a in ?? ()
> > #6  0x00007ffff7813c92 in DD::Image::Op::replace_knobs(DD::Image::Knob*, 
> > int, void (*)(void*, DD::Image::Knob_Closure&), void*, char const*) ()
> >    from /usr/local/Nuke6.3v6/libDDImage.so
> >
> > Is there anything I should be aware to?
> > Thanks a lot,
> > Shing
> >
> >
> > _______________________________________________
> > 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
> 
> 
> _______________________________________________
> 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

Reply via email to