This morning I saw a post taking a poll on how often 2014 SP2 crashes. So, here’s some crash numbers from my system:
There’s a big difference in the number of sessions, so a percentage chart might make it easier to compare the versions:
Crashes are actual crashes caught by CER. What I called “dirty exits” are exits or crashes not caught by CER. For example, killing xsi.exe in the Task Manager is a dirty exit. Clean exits are when you quit Softimage normally (for example, when you click File > Exit or the Close X icon).
I used this Python snippet to extracts the CER crash data from the registry.
#HKEY_USERS\S-1-5-21-1384716164-225505876-396224183-1000\ # Software\Softimage\SOFTIMAGE|SICORE Engine\C:|Program Files|Autodesk|Softimage 2014 SP2|Application|bin\ProductInfo from _winreg import * # dicts keyed by Softimage version dCrashes = {} dCleanCloses = {} dStarts = {} # # Get the CER crash data for each SI version # under the SOFTIMAGE|SICORE Engine key # def enum_sicore( subkey ): try: i = 0 k = OpenKey( HKEY_USERS, "%s\Software\Softimage\SOFTIMAGE|SICORE Engine" % subkey, 0, KEY_READ ) while True: subkey1 = EnumKey(k, i) # extract product name eg "Softimage 2014 SP2" s = subkey1.rsplit( '|' )[3] pi_key = OpenKey( k, "%s\%s" % (subkey1,"ProductInfo"), 0, KEY_READ ) value = QueryValueEx(pi_key, "crashCount" ) dCrashes[ s ] = value[0] value = QueryValueEx(pi_key, "SessionCleanCloseCount" ) dCleanCloses[ s ] = value[0] value = QueryValueEx(pi_key, "SessionStartCount" ) dStarts[ s ] = value[0] i += 1 except WindowsError: # WindowsError: [Errno 259] No more data is available pass # # For each user # try: i = 0 while True: subkey = EnumKey(HKEY_USERS, i) enum_sicore( subkey ) i += 1 except WindowsError: # WindowsError: [Errno 259] No more data is available pass # # Print out the numbers # crashes = 0 exits = 0 starts = 0 for key in dCrashes: print key print " Crashes: %d" % dCrashes[key] print " Dirty Exits: %d" % (dStarts[key] - dCleanCloses[key]) print " Starts: %d" % dStarts[key] crashes += dCrashes[key] exits += (dStarts[key] - dCleanCloses[key]) starts += dStarts[key] # Print out CSV for export into Excel for charting for key in dCrashes: print "%s, %d, %d, %d" % (key, dCrashes[key], dStarts[key] - dCleanCloses[key], dStarts[key])
Interesting. Do you perchance also have the numbers for “vanilla” 2012 lying around?
Nope, I never had Softimage 2012 installed on this machine (it’s the new PC I got for work last year).
Too bad, as it might have helped “uncover” a possible trend (of sorts) between vanilla versions and SPs as I find the sharp increase between 2013 and 2013SP1 very interesting. Ah well, can’t be helped…
😉
Nice Snippet !
Here are some stats from my PC’s:

Not sure what exactly this should tell me….
Softimage’s Crashing Chance is about 58% ? 😉
PS:
Besides Shading I do some Plugin, Shader-Writing from time to time… so as a Modeller,Animator you might not have that many Crashes.
But I would assume you have lots of plugins loaded in your workgroup right?
2014SP2 would require most of these plugins to be recompiled if they are ICE related.
Cool stuff! Thanks for your share!But what the first line from _winreg import * means? I never see any code like this. –)
Funny, that it seems to not install any but the 2012.SAP, though I have 2011-2014 SP2 all versions…