Softimage 2012 startup crash on Ubuntu


A customer reported that while he was running Softimage 2011 fine on Ubuntu, Softimage 2012 crashed at startup.

The problem turned out to be the microsecond character (µs) in $XSI_HOME/Application/spdl/MentalRayOptions.spdl:

	Parameter "DiagnosticMaxPixelTime"
	{
		GUID		= {0A2DA6AE-B850-4189-BE71-BD244F8938A4};	// GUID_MentalRayOptions_DiagnosticMaxPixelTime
		Label		= "Max Pixel Time (µs)";

For some reason, this causes problems on some Linux flavors, but not on Fedora.
The solution was to edit the .spdl, and remove the “(µs)” from the string “Max Pixel Time (µs)”.

Hat Tip to Sean Donnelly for the solution.

For reference, here’s the gbd backtrace for the startup crash. Note that it pretty clearly points to some problem related the spdl 😉

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff4bd588a in CSIString::AllocBSTR() const () from /usr/Softimage/Softimage_2012/Application/bin/libsigeneral.so
(gdb) bt full
#0  0x00007ffff4bd588a in CSIString::AllocBSTR() const () from /usr/Softimage/Softimage_2012/Application/bin/libsigeneral.so
No symbol table info available.
#1  0x00007ffff56e59ea in SpdlValue2Variant(miSpdl_PropertyValue const&, tagVARIANT&) () from /usr/Softimage/Softimage_2012/Application/bin/libspdlparse.so
No symbol table info available.
#2  0x00007fffce5976cc in CSpdlPopulate::AddPropertyDefaults(miSpdl_Property*, CComPtr&) () from /usr/Softimage/Softimage_2012/Application/bin/libspdlpop.so
No symbol table info available.
#3  0x00007fffce597a05 in CSpdlPopulate::AddPropertyDefaults(miSpdl_Property*) () from /usr/Softimage/Softimage_2012/Application/bin/libspdlpop.so
No symbol table info available.
#4  0x00007fffce597b04 in CSpdlPopulate::AddToParamDict(miSpdl_Property*) () from /usr/Softimage/Softimage_2012/Application/bin/libspdlpop.so
No symbol table info available.
#5  0x00007fffce597baf in CSpdlPopulate::AddToParamDict(miSpdl_Section*) () from /usr/Softimage/Softimage_2012/Application/bin/libspdlpop.so
No symbol table info available.
#6  0x00007fffce598e90 in CSpdlPopulate::DoAll() () from /usr/Softimage/Softimage_2012/Application/bin/libspdlpop.so
No symbol table info available.
#7  0x00007fffce59513b in CSpdlParser::DoParse(tagS3DSPDLPARSERINFO*) () from /usr/Softimage/Softimage_2012/Application/bin/libspdlpop.so
No symbol table info available.
#8  0x00007ffff5ea0da1 in DSCompileSPDLEx(_GUID const&, IUnknown*, char const*) () from /usr/Softimage/Softimage_2012/Application/bin/libdssdk10.so
No symbol table info available.
#9  0x00007fffca3b7600 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libmentalray.so
No symbol table info available.
#10 0x00007fffd9a9b041 in C3DActiveData::Initialize(_GUID const&) () from /usr/Softimage/Softimage_2012/Application/bin/libactivedata.so
No symbol table info available.
#11 0x00007fffd9a7f39c in C3DActiveData::Construct() () from /usr/Softimage/Softimage_2012/Application/bin/libactivedata.so
No symbol table info available.
#12 0x00007fffca3b965e in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libmentalray.so
No symbol table info available.
#13 0x00007fffca3c6a76 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libmentalray.so
No symbol table info available.
#14 0x00007fffca3c8500 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libmentalray.so
No symbol table info available.
#15 0x00007ffff5e8eab4 in SICreateInstanceEx(_GUID const&, IUnknown*, unsigned int, _GUID const&, void**) () from /usr/Softimage/Softimage_2012/Application/bin/libdssdk10.so
No symbol table info available.
#16 0x00007fffca38f8c2 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libmentalray.so
No symbol table info available.
#17 0x00007fffced89f50 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/librendercore.so
No symbol table info available.
#18 0x00007fffcedc4c14 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/librendercore.so
No symbol table info available.
#19 0x00007fffcedc5a2c in ?? () from /usr/Softimage/Softimage_2012/Application/bin/librendercore.so
No symbol table info available.
#20 0x00007fffcedc674d in ?? () from /usr/Softimage/Softimage_2012/Application/bin/librendercore.so
No symbol table info available.
#21 0x00007fffd30530af in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libscnmgr.so
No symbol table info available.
#22 0x00007fffd3055bbd in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libscnmgr.so
No symbol table info available.
#23 0x00007fffd3014899 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libscnmgr.so
No symbol table info available.
#24 0x00007fffd304853a in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libscnmgr.so
No symbol table info available.
#25 0x00007fffd304bc15 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libscnmgr.so
No symbol table info available.
#26 0x00007fffdf7f4b69 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libdssdkco.so
No symbol table info available.
#27 0x00007fffdf7f38b2 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libdssdkco.so
No symbol table info available.

ERROR : 2000 – Unable to create object [CLSID\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}], Cleanup will be performed.


If you get an error that looks like this when you load a scene or import a model

ERROR : 2000 - Unable to create object [CLSID\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}],  Cleanup will be performed.

it’s often because you’re missing a shader or plugin (usually an older version that used spdl for registration).

Softimage prints this error message when it cannot create an instance of some object that was persisted in the scene file. In some cases, Softimage will know which DLL it was looking for, and you’ll get a message like this:

ERROR : 2000 - Unable to create object [CLSID\{A8BF89CA-1025-11D2-B5FD-006094EB029C}] : %SUMATRAPATH%\moaudio.dll,  Cleanup will be performed.

In the moaudio.dll case, you can run runonce.bat to fix the problem. Otherwise, the error may indicate a corruption of the object.

Softimage stops working everytime computer is restarted


Each time the computer was restarted, Softimage couldn’t open scene files. Running runonce.bat after a restart fixed the problem, which suggested that something was happening to the registry.

And sure enough, it turned out that Advanced SystemCare Free was installed on the system. It’s a registry cleaner that runs automatically at startup.

Registry cleaners are XSI killers.

Area :: Discussions.

Connect to workgroups with a .data file


New in the Softimage 2011 Subscription Advantage Pack
You can now use a workgroup_path.data file to specify your workgroups.

At startup, Softimage scans the Factory (installation) and User folders for a workgroup_path.data file, and connects to all the workgroups listed in that file.

The workgroup_path.data file is a plain text file that can contain multiple directory paths. Each path must be added on a separate line and each line must end with a newline character. For example:

C:\Users\blairs\Documents\Support\Workgroups\studioNEST
\\server\Softimage\workgroups\Shaders

The case of the Softimage startup freeze and the Wacom driver


Click to watch videoTroubleshooting a startup crash with Process Monitor
A customer called to report that his Softimage crashed/froze at startup when it tried to display the OpenGL viewports. This is the classic symptom of a display driver problem, and the hide-the-OpenGL-viewports test seemed to confirm this. But reinstalling the display driver didn’t help (Softimage was working just the other day, so the same driver should work).

Using Process Monitor, I was quickly able to track down the problem to the Wacom driver. After he reinstalled the Wacom driver and restarted, Softimage started up again. Watch the video to see how to quickly find a possible problem in a 200MB log file with 845,000 log entries 😉