Re: [BUG] Softimage crashing on workgroup unload containing a custom renderer and at least on .xsirtcompound file
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
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
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
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
*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
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
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 ]