The week of Stardock bugs

Thou shall never trust user-provided data!

I had a bit of free time last week, so I tried to make good use of it and try to break Stardock programs. All the problems found have been reported to support, but I'm posting them here so people having similar problems can reference this thread and help limit duplicates. I've tried to check the forums prior to reporting some of those issues, but some duplicates might have slept through.

I honestly thought I would find a lot more crashes :) The first few ones were easy enough (and several of the programs suffered from almost the "same" bugs), but as the week progressed it was harder and harder to find crashes. So I did put my testing motto to good use: when it doesn't want to break nicely, use brute force!

Using fuzzing will probably uncover some more crashes, but I haven't had the time to do it.

Also, try to refrain from criticizing the software quality (e.g. no 'OMG Stardock apps are buggy as hell') or the Q/A staff (Sorry guys, some more work for you :D): almost none of those issues are showstoppers and most users will never run into them.

Anyway, here are the results:

  • 41 39 issues total
  • 18 17 crashes/exceptions

CursorFX

  • Crash when previewing a cursor with a very long file name
  • Crash when previewing a cursor with a very long name: this time it's the name (a cursor property) and not the actual file. Happens with author too (and maybe other properties)
  • Crash on load with a very long name: Related to the previous bug. This time it's when starting the control panel.
  • Runtime error when click preview during a transition
  • Misc. UI issues with large cursors & long names
  • Cursor properties not updated in the UI when modifying an existing cursor

DesktopX

  • Widgets/Objects with custom plugins not loading correctly: DesktopX is trying to read from it's SDPlugin folder instead of the widget cache folder

IconPackager

  • Crash on start with corrupted icon package (.iconpackage file)
  • Crash when switching between package builder and Local Update: "Advancing" in the tab list when switching. When on the last tab, switch between the two modes.
  • Read-only package info: you cannot modify existing package info
  • Previously saved data used when creating a new skin with no email or website: Save an icon package and clear the website and email fields. The previously saved data will be used anyway
  • Current package info not loaded when making a copy of the loaded package: Load an icon package. Try to save it (in Icons & Cursors). The package info is not loaded.
  • Various text cut in dialogs

Impulse

  • Corruption in Restore archive window
  • MCP Core, NeverTrust and WinStyles showing in OD Ultimate dropdown (Registrations)
  • Constant requests for "scroller.window.dot.selected.png"
  • Black/flickering scrollbars in dropdowns
  • Enhanced Dialog listed with a $0.00 price

LogonStudio

  • Exception when creating a new logon with a very long name
  • Exception when creating a logon with invalid characters

SkinStudio

  • Crash when creating a new skin with a very long name
  • Crash when previewing a skin with a very long name
  • No check for invalid characters in new skin name: Try creating a new skin with *, ?, / in the name
  • Theme part details still shown after closing the skin: Click theme part details and close the skin
  • Current skin corruption when previewing a different skin
  • Various text cut in dialogs: "g" & "p" cut in warning messages, create new skin, skin properties, etc...

SoundPackager

  • Crash when starting with no SoundPackager.xml file
  • Crash with corrupted SoundPackager.xml file
  • Crash on missing SoundPackage.data
  • Crash on missing package in Temp folder
  • Exception when creating a new package with a very long name (more than 260 chars)
  • Freeze with very long notes

WindowBlinds

  • WBConfig crash: Click "Explorer Backgrounds" before the list of skins has finished loading
  • Crash when previewing a skin with a very long name
  • Crash when creating a new sidebar skin with a very long name
  • TaskManager off screen resizing corruption: Move the TaskManager window partially off the screen, resize it, move it back on. Right part of the window shows corruption
  • No color for compressed files with transparent explorer backgrounds
  • e-Carte Bleue system tray context menu corruption
  • Some windows "moving" right/down on resize
  • Preset window available (although useless) with classic & aero
  • No check for invalid characters when creating a new sidebar skin
5,072 views 9 replies
Reply #1 Top
Wow. :SURPRISED:
NEVER GIVE LITTLEBOY TIME OFF AGAIN!   ;)

Thanks for the effort, and teh consolidation or issues.  You rock.   :CONGRAT:

(although I am disapointed that you did not define "very long name")  ;p
Reply #2 Top
In some cases, it seems to depend of the install location. Windows path handling has strange limits due to backward compatibility. IIRC you have to take into account the filename itself, the full path and the combination of the two. In most cases, it will crash with names over 260 chars long.
Reply #3 Top
show off.  ;)
Reply #4 Top
Skin Name
Name of the skin. MUST EXIST! Without this, the Personality will not show in the WindowBlinds configuration dialog.

Attribute SkinName
In section TitlebarSkin
value type: text value
WideString length restricted to 255 characters
Default value is Skin name
This attribute is mandatory
Reply #5 Top
Thank you for pointing that out.

WideString length restricted to 255 characters
End of quote


The Create new skin window says "max 20 chars" and it sure isn't checking for either value. I guess it's another small issue: it should probably say max 255 chars in that window.

I haven't included all the info & repro steps, otherwise the post would have been way too long, but most of the SkinStudio bugs happen without modifying config files directly.

That said, someone should probably review all the attribute limits and check that they are enforced.
Reply #6 Top
At first, some folks would be like "Why would you do this" but I feel this is very informative...esepcially if something like this has happened to you. Thanks Littleboy.
Reply #7 Top

MMMMMMMMULTIBUG! :CONGRAT:

Reply #8 Top
A long skin name is a good way to have many images refuse to display.20 characters or less is a good thing.
Reply #9 Top
addition:

ObjectDock - on a multi-monitor display, if the mouse cursor is not left on the primary display during the program's complete initialization, tabbed docks supposed to be on the primary display will appear on the wrong/secondary display instead.

:)