Re: [BUG] Softimage crashing on workgroup unload containing a custom renderer and at least on .xsirtcompound file

2012-09-17 Thread Martin Chatterjee
Hi Sajjad,

back from my vacation - hence the late reply. ;-)

What I did not mention in my initial mail(s) is that we stopped trying to
switch workgroups on the fly *via events* a while ago because this also
reliably crashed on our side.

We've been using a custom loader/saver dialog for a number of years now and
in there I can act upon the button onClicked() handler to call my workgroup
switching code.

My gut feeling is that these might be two different bugs/problems.

Cheers, Martin

--
   Martin Chatterjee

[ Freelance Technical Director ]
[   http://www.chatterjee.de   ]
[ https://vimeo.com/chatterjee ]



On Wed, Sep 5, 2012 at 1:01 PM, Sajjad Amjad sajjad.am...@gmail.com wrote:

 Apologies for bringing this slightly old thread back to life. I have been
 testing workgroup switching without having to restart Softimage.

 Specifically, I have two workgroups, where each workgroup has just one
 add-on installed in it. No .xsirtcompound files exist in any workgroup.

 The addon in each of the two workgroups is a unique version of VRay.

 I want to ideally trigger the workgroup switch using the onEndSceneOpen
 event (as every scene defines it's renderer version in a custom property)

 If I use the siOnEndSceneOpen event for switching, Softimage always
 crashes. Unlike Martins case, the rate of success is 0. However, if I
 attach the logic inside the event callback to a buttons OnClicked callback,
 the switching works flawlessly after the button is clicked.

 Martins original post required an xsirtcompound file to be present in the
 workgroup for Softimage to reliably crash, but I can reproduce this crash
 every time without the file. It seems to me that this problem is a bit
 deeper than it seems. Seng-Siong Lim wrote saying that it was only
 reproduced when using a script for switching and manual switching worked
 fine. In my case, the switching in either case is triggered through a
 script (OnClicked or OnEvent) but only fails when fired through an OnEvent
 callback.

 If anyone else has notes to share on this, please share.


 Cheers,
 Sajjad


 On 16 August 2012 16:31, Nic Groot Bluemink nicgrootbluem...@gmail.comwrote:

 Oh aye, I wouldn't argue with that. It's that at the time live
 loading/unloading of renderers was a (poorly) 'known limitation' of sorts -
 the kind of annoyance you have to live with and work around. If changes
 have been made to the system since and it's now a bug, then +1 to fixing
 that :)


 On Thu, Aug 16, 2012 at 4:17 PM, Steffen Dünner 
 steffen.duen...@gmail.com wrote:

 I would rather vote for fixing it where it's broken, i.e. on the
 Softimage side. :)

 Cheers

 2012/8/15 Nic Groot Bluemink nicgrootbluem...@gmail.com

 Hey Martin,

 Though it's little help, I recall running across a warning in the SI
 docs that unloading custom renderers in-session could introduce
 instabilities back when I was investigating the same thing. I can't find
 the exact entry for you, it was weeks before I accidentally stumbled across
 it last time, but that's pretty much where I threw my hands in the air and
 wrote a workgroup switcher that would restart sessions instead here at
 Kettle.

 Nic




 --
 Technical Pretty Picture Making Person
 Kettle http://www.kettlestudio.co.uk/





Re: [BUG] Softimage crashing on workgroup unload containing a custom renderer and at least on .xsirtcompound file

2012-09-07 Thread philipp.oeser
Hi everyone!
Just a small note on this (maybe this helps debugging further..):

- having just a .xsirtcompound in a workgroup plus an open/once opened
rendertree when unloading is a sure crasher (you dont even need a custom
renderer in that workgroup)
- the PluginManager[Tree  Workgroup tabs] doesnt update when you switch
between workgroups with .xsirtcompound in them using python
- when using events and python to Add/Remove workgroups the only ones that
_never_ crash for me are workgroups containing only python plugins. Everything
that has a DLL/SO in it crashes eventually in my tests. Still havent figured out
what exactly triggers this. I was testing this with a script that switches
between different workgroups on siOnEndSceneOpen. The exact same setup could
crash on first switch, could crash only after multiple switches, could crash
during the event, could crash after the event when saving the scene, could crash
after the event when hitting the Connect... button in the
PluginManager[Workgroups tab].

hope this helps
Philipp

Re: [BUG] Softimage crashing on workgroup unload containing a custom renderer and at least on .xsirtcompound file

2012-09-05 Thread Sajjad Amjad
Apologies for bringing this slightly old thread back to life. I have been
testing workgroup switching without having to restart Softimage.

Specifically, I have two workgroups, where each workgroup has just one
add-on installed in it. No .xsirtcompound files exist in any workgroup.

The addon in each of the two workgroups is a unique version of VRay.

I want to ideally trigger the workgroup switch using the onEndSceneOpen
event (as every scene defines it's renderer version in a custom property)

If I use the siOnEndSceneOpen event for switching, Softimage always
crashes. Unlike Martins case, the rate of success is 0. However, if I
attach the logic inside the event callback to a buttons OnClicked callback,
the switching works flawlessly after the button is clicked.

Martins original post required an xsirtcompound file to be present in the
workgroup for Softimage to reliably crash, but I can reproduce this crash
every time without the file. It seems to me that this problem is a bit
deeper than it seems. Seng-Siong Lim wrote saying that it was only
reproduced when using a script for switching and manual switching worked
fine. In my case, the switching in either case is triggered through a
script (OnClicked or OnEvent) but only fails when fired through an OnEvent
callback.

If anyone else has notes to share on this, please share.


Cheers,
Sajjad

On 16 August 2012 16:31, Nic Groot Bluemink nicgrootbluem...@gmail.comwrote:

 Oh aye, I wouldn't argue with that. It's that at the time live
 loading/unloading of renderers was a (poorly) 'known limitation' of sorts -
 the kind of annoyance you have to live with and work around. If changes
 have been made to the system since and it's now a bug, then +1 to fixing
 that :)


 On Thu, Aug 16, 2012 at 4:17 PM, Steffen Dünner steffen.duen...@gmail.com
  wrote:

 I would rather vote for fixing it where it's broken, i.e. on the
 Softimage side. :)

 Cheers

 2012/8/15 Nic Groot Bluemink nicgrootbluem...@gmail.com

 Hey Martin,

 Though it's little help, I recall running across a warning in the SI
 docs that unloading custom renderers in-session could introduce
 instabilities back when I was investigating the same thing. I can't find
 the exact entry for you, it was weeks before I accidentally stumbled across
 it last time, but that's pretty much where I threw my hands in the air and
 wrote a workgroup switcher that would restart sessions instead here at
 Kettle.

 Nic




 --
 Technical Pretty Picture Making Person
 Kettle http://www.kettlestudio.co.uk/



Re: [BUG] Softimage crashing on workgroup unload containing a custom renderer and at least on .xsirtcompound file

2012-08-16 Thread Steffen Dünner
I would rather vote for fixing it where it's broken, i.e. on the Softimage
side. :)

Cheers

2012/8/15 Nic Groot Bluemink nicgrootbluem...@gmail.com

 Hey Martin,

 Though it's little help, I recall running across a warning in the SI docs
 that unloading custom renderers in-session could introduce instabilities
 back when I was investigating the same thing. I can't find the exact entry
 for you, it was weeks before I accidentally stumbled across it last time,
 but that's pretty much where I threw my hands in the air and wrote a
 workgroup switcher that would restart sessions instead here at Kettle.

 Nic


Re: [BUG] Softimage crashing on workgroup unload containing a custom renderer and at least on .xsirtcompound file

2012-08-15 Thread Martin Chatterjee

 *Hi Martin,

 We have managed to reproduce the issue on our end.
 *


That's excellent news.



 * It seems that the issue is only reproducible when opening and unloading
 is done via scripting. XSI does not crash when the steps are done manually.
 *


Well, on my side it also crashes reliably when the steps are done manually
in the UI...

I am unloading the workgroup by right-clicking its entry in the Plugin
Manager and calling *Disconnect*.

[image: Inline image 1]

After I read your mail I tried different ways of unloading the workgroup -
and it seems that unloading it by simply unticking the workgroup does not
result in the crash. Is that what you have done while trying to repro?

Interesting... Maybe this helps in tracking down the issue on your side.

Cheers, Martin
--
   Martin Chatterjee

[ Freelance Technical Director ]
[   http://www.chatterjee.de   ]
[ https://vimeo.com/chatterjee ]
image.png

Re: [BUG] Softimage crashing on workgroup unload containing a custom renderer and at least on .xsirtcompound file

2012-08-15 Thread Martin Chatterjee
Chris,

well, I wasn't implying that the bug I found is the cause for every
reported Arnold-related crash... :-) But all tests indicate that it is the
cause for our specific scenario.

As a test I've removed all xsirtcompound files from actual copies of a
couple of our production workgroups and can happily switch between them
without a single crash. This is of course not an option/workaround for
actual production - but solid proof for my theory, I would guess.

To answer your questions:

1.) I repro'ed this with three different versions of Arnold and 3delight.
In addition I asked a friend of mine to repro with VRay as well. So I'm
very confident in claiming that this is NOT a renderer-specific bug.

2.) I didn't state this specifically - but of course the crash is not
happening when no custom renderer is installed. If a custom renderer is
installed, but at a different location (e.g. in the user dir or in a
different workgroup) the crash also does not seem to happen.

Cheers, Martin

--
   Martin Chatterjee

[ Freelance Technical Director ]
[   http://www.chatterjee.de   ]
[ https://vimeo.com/chatterjee ]



On Wed, Aug 15, 2012 at 2:39 AM, Chris Chia chris.c...@autodesk.com wrote:

 Hi Martin,
 We seem to have some customers complaining about XSI crashes with Arnold
 plugin. I am not too sure whether this is the cause.

 Thanks for the repro steps! I will take a quick look!

 Which specific version Arnold and 3delight are you using?
 And since you felt that it might be because they were in your workgroup
 and unloading them causes crashes, have you brought them out of the
 workgroup and tried whether it still crashes?

 Chris

 On 15 Aug, 2012, at 12:05 AM, Martin Chatterjee 
 martin.chatterjee.li...@googlemail.commailto:
 martin.chatterjee.li...@googlemail.com wrote:

 Hi list, hi Support,

 as many other studios we've been suffering from fairly regular crashes
 when trying to switch workgroups containing custom renderers in an open
 softimage UI session.

 I've made several attempts to work around this issue in the past with
 mixed results.

 However this time I've been in a particularly stubborn mood and I think
 I've finally isolated the bugger!  (Repro steps further down in this mail)

 Cheers, Martin


 --- Description ---

 Softimage UI will crash reliably on workgroup unload when this workgroup
 contains a custom renderer and at least on .xsirtcompound file


 --- Background Details ---

 When switching between jobs we are dynamically unloading the old job
 workgroup and then loading the new job workgroup in an open Softimage
 session without restarting the software.

 This has worked reliably for years  - until we started to regularly
 install a custom renderer into these job workgroups (in our case Arnold -
 but I've verified that this bug is not Arnold related).

 Right now our workgroup switching leads to a crash in roughly 50% of the
 cases in a UI session... :-/

 BUT: the same workgroup switching code works on our farm absolutely
 flawlessly.


 --- This is what I think happens ---

 A workgroup unload will crash Softimage reliably if...

 1.) a custom renderer is installed in this workgroup
 2.) at least one .xsirtcompound file is part of this workgroup (either in
 /Data/RTCompounds, or as part of another addon)
 3.) the Render Tree window was opened at least once in the UI session
 BEFORE the workgroup gets unloaded

 I think that when the Render Tree window gets displayed it refreshes its
 list of available shaders and rtcompounds.

 If this refresh gets executed before the attempted workgroup unload it
 will crash. You will achieve the same effect if you open the Preset Manager
 window.

 Please note that it already is enough to display the Render Tree window in
 an empty scene - the offending xsirtcompound must not be seen or used for
 the crash to happen.


 --- A few more remarks from my side ---

 1.) I've run unit tests on my side (scripted UI sessions unloading a
 workgroup, loading a workgroup, rendering a preview frame, ... 50 times in
 a loop) without a crash. The minute I let the same test script also display
 the Render Tree window it crashes reliably. Removing the offending
 xsirtcompound file results in the same 50 loops of testing to finish
 reliably again.

 2.) It is not important what xsirtcompound file it is - as long as it is a
 legal one. For my tests I just put a standard Mental Ray factory phong node
 into a compound and exported it into /Data/RTCompounds.

 3.) We've seen this with many versions of Arnold - but to understand if
 this is a Softimage or Arnold issue I also tried this with the free version
 of 3Delight - same behaviour.

 4.) I've tested this on Softimage 2012.SAP (x64) and 2013.SP1 (x64) - both
 on XP and Windows 7.



 --- Repro Steps ---

 1.) Create an empty workgroup
 2.) Install a custom renderer addon into this workgroup (e.g. 3delight)
 3.) Place a legal .xsirtcompound file into Workgroup/Data/RTCompounds. (I
 just put a standard factory 

[BUG] Softimage crashing on workgroup unload containing a custom renderer and at least on .xsirtcompound file

2012-08-14 Thread Martin Chatterjee
Hi list, hi Support,

as many other studios we've been suffering from fairly regular crashes when
trying to switch workgroups containing custom renderers in an open
softimage UI session.

I've made several attempts to work around this issue in the past with mixed
results.

However this time I've been in a particularly stubborn mood and I think
I've finally isolated the bugger!  (Repro steps further down in this mail)

Cheers, Martin


*--- Description ---*

*Softimage UI will crash reliably on workgroup unload when this workgroup
contains a custom renderer and at least on .xsirtcompound file*


*--- Background Details ---*

When switching between jobs we are dynamically unloading the old job
workgroup and then loading the new job workgroup in an open Softimage
session without restarting the software.

This has worked reliably for years  - until we started to regularly install
a custom renderer into these job workgroups (in our case Arnold - but I've
verified that this bug is not Arnold related).

Right now our workgroup switching leads to a crash in roughly 50% of the
cases in a UI session... :-/

BUT: the same workgroup switching code works on our farm absolutely
flawlessly.


*--- This is what I think happens ---*

*A workgroup unload will crash Softimage reliably if...*
*
*
*1.) a custom renderer is installed in this workgroup*
*2.) at least one .xsirtcompound file is part of this workgroup (either in
/Data/RTCompounds, or as part of another addon)*
*3.) the Render Tree window was opened at least once in the UI session
BEFORE the workgroup gets unloaded*

I think that when the Render Tree window gets displayed it refreshes its
list of available shaders and rtcompounds.

If this refresh gets executed before the attempted workgroup unload it will
crash. You will achieve the same effect if you open the Preset Manager
window.

Please note that it already is enough to display the Render Tree window in
an empty scene - the offending xsirtcompound must not be seen or used for
the crash to happen.


*--- A few more remarks from my side ---*

1.) I've run unit tests on my side (scripted UI sessions unloading a
workgroup, loading a workgroup, rendering a preview frame, ... 50 times in
a loop) without a crash. The minute I let the same test script also display
the Render Tree window it crashes reliably. Removing the offending
xsirtcompound file results in the same 50 loops of testing to finish
reliably again.

2.) It is not important what xsirtcompound file it is - as long as it is a
legal one. For my tests I just put a standard Mental Ray factory phong node
into a compound and exported it into* /Data/RTCompounds*.

3.) We've seen this with many versions of Arnold - but to understand if
this is a Softimage or Arnold issue I also tried this with the free version
of 3Delight - same behaviour.

4.) I've tested this on Softimage 2012.SAP (x64) and 2013.SP1 (x64) - both
on XP and Windows 7.



*--- Repro Steps ---*

*1.) Create an empty workgroup*
*2.) Install a custom renderer addon into this workgroup* (e.g. 3delight)
*3.) Place a legal .xsirtcompound file into Workgroup/Data/RTCompounds*. (I
just put a standard factory MentalRay phong node into a compound and
exported it...)

*4.) Start a fresh vanilla Softimage session and connect to this workgroup.*

*5.) Disconnect the workgroup again.* -- This works
*6.) Connect the workgroup again*
*7.) Disconnect the worgkroup again* -- still no problem

*8.) Now connect the workgroup once more*
*9.) Display a Render Tree Window*
*10) Now disconnect the workgroup again* ---  crash...


*[ Repro'ed with Softimage 2012.SAP and 2013.SP1 (both x64) on both Windows
7 and Win XP64. ]*
*[ Repro'ed with multiple versions of Arnold and 3Delight. ]*




--
   Martin Chatterjee

[ Freelance Technical Director ]
[   http://www.chatterjee.de   ]
[ https://vimeo.com/chatterjee ]