Winstep

Software Technologies


 Winstep Forums


Print view
Board index : Winstep Forums : General Discussion  [ 172 posts ] Go to page Previous  1 ... 4, 5, 6, 7, 8, 9, 10 ... 12  Next
Author Message
 Post subject: Re: Winstep crashing since the latest update
PostPosted: Sun Jan 08, 2017 7:40 pm 
Offline

Joined: Tue Mar 01, 2016 11:46 am
Posts: 568
winstep wrote:

2. Play MP3 files via an independent executable.

I've never had any problems here, but, even though it is in no way a widespread issue (the vast majority of users are not having problems either), it does seem to me that complaints about WorkShelf crashing increased with v16.12.

Crashes appear to be random and, at least in the case of one user, indirectly involve WsxMMTimer.DLL being unloaded (which should never happen). That is the Winstep DLL hosting the High Resolution Multimedia Timer used for controlling the timing of animations, etc...

Multimedia Timers are used when you need to do something that requires precision timing (1-10 ms). As the name suggests, they are often used by Multimedia applications.

In v16.12 the low quality .wav based voice files used in previous versions were replaced by high-quality MP3 files. So here is what I think *might* be happening:

There are lots of different video and audio formats out there (this has nothing to do with file extension, the same MP3 file can be encoded in a ton of different formats).

Each different format requires something called a 'codec', a small program/DLL used to compress and decompress data in a specific format (if you're interested you can read more about codecs HERE). There are hundreds of audio and video codecs/formats in use today, but Windows only *natively* supports a handful of those formats.

So what usually happens? Most users (I was no exception) download free codec packs from the net, such as the K-Lite Codec Pack, X Codec Pack, etc... These packs include a bunch of different codecs, filters, plug-ins, etc - normally gathered from different sources and put together in the same collection.

Because of this, there is no telling which of those codecs are buggy or have problems. Codec Packs are a mash of stuff, at different stages of development, coming from all over the place.

Now, when an application plays a media file (such as an MP3 file), the required codec/DLL is used to decode that file into a stream of uncompressed data the OS can actually play. The problem is that this codec DLL runs not inside the OS but inside the process space of the application playing the media file.

If the codec is buggy and crashes, corrupts memory, or does something else that it should not do, the results will be felt in the host application. And if the problem is subtle, like some kind of random memory corruption, they might not even be felt immediately or result in a immediate crash.

This is what makes it so difficult to connect the dots in order to figure out the true culprit. The application WILL crash - but only some time later, when the user doesn't even remember that an MP3 file was played 10 minutes ago - so he does not make the connection.

I'm going to try to solve this problem (if it is indeed the problem) by preventing Nexus/WorkShelf from playing the file directly. Instead a small sacrificial applet (executable) will be launched to do the actual playing. The applet will act as a proxy between the main application and the audio codec - if the codec crashes or does something nasty, it will be in the process space of this proxy applet and the main application will not (should not?) be affected.

Of course, pulling this off is not as easy as it may sound (pardon the pun). It requires precise communication between the applet and the main application, so the main application knows when an MP3 file has stopped playing, can tell the applet to lower or increase the volume of the file it is currently playing, etc...

So, it's going to be a lot of work to solve something I am not even sure that *it is* the problem. :)



its not just .dll that gets unloaded but also .ocx (unless they are connected), and not just using your mp3 voices, but an mp3 that i use for my other alarm clock (a johnny cash song) that hasn't crashed ever

if you think it might be helpful i could install some additional codec packs to see if they fix the crash


Back to top
 Profile  
 
 Post subject: Re: Winstep crashing since the latest update
PostPosted: Sun Jan 08, 2017 8:45 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
seeker wrote:
its not just .dll that gets unloaded but also .ocx (unless they are connected), and not just using your mp3 voices, but an mp3 that i use for my other alarm clock (a johnny cash song) that hasn't crashed ever


I can't claim to understand why you are getting the ocx error, but it might not be related to the ocx at all. You see, that ocx message is displayed if an error occurs while displaying a tab page in Preferences and the page fails to load/display.

This *should* only happen if Comctl32.ocx is not properly installed, so the application assumes the error was caused by a missing ocx. In reality, the tab can be failing to load because of something else entirely. What, I have no idea, since until now it only ever happened because of the ocx.

I changed the message so in the future it also displays the error code.

It's interesting how the error goes away if the application is playing an MP3.

As for the johnny cash MP3 not causing any glitches: an MP3 file is just a container. For instance, the data inside the Johnny Cash MP3 can be encoded in format <x>, but the format/encoding of the data inside the voices MP3 files uses format <y>. Each of these different data formats requires a specific codec to decode.

So, when you play the Johnny Cash MP3, codec <x> is used to decode it, but when a voice file is played, codec <y> is used instead. If only codec <y> is buggy, you will only run into problems when playing the voice files.

seeker wrote:
if you think it might be helpful i could install some additional codec packs to see if they fix the crash


No, please don't change anything. If you did and it fixed it, we would never know if the MP3 proxy applet I'm working on also solved the problem or not.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: Winstep crashing since the latest update
PostPosted: Sun Jan 08, 2017 8:58 pm 
Offline

Joined: Tue Mar 01, 2016 11:46 am
Posts: 568
winstep wrote:
As for the johnny cash MP3 not causing any glitches: an MP3 file is just a container. For instance, the data inside the Johnny Cash MP3 can be encoded in format <x>, but the format/encoding of the data inside the voices MP3 files uses format <y>. Each of these different data formats requires a specific codec to decode.

So, when you play the Johnny Cash MP3, codec <x> is used to decode it, but when a voice file is played, codec <y> is used instead. If only codec <y> is buggy, you will only run into problems when playing the voice files.



that's just it, Johnny Cash MP3 causes the crash when winstep alarm manager plays it, but doesn't cause the crash (any crashes) my mp3 player plays it or when Free Alarm Clock plays it
(*though alarm manager more often causes the glitch, it caused a crash maybe once or twice, while voice seems to cause the crash more often, but that could be random)

so if it is codec related for some reason winstep uses a different codec than other apps for the same file
edit: or the codec only has conflict with winstep or its dlls


Back to top
 Profile  
 
 Post subject: Re: Winstep crashing since the latest update
PostPosted: Sun Jan 08, 2017 9:54 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
seeker wrote:
that's just it, Johnny Cash MP3 causes the crash when winstep alarm manager plays it, but doesn't cause the crash (any crashes) my mp3 player plays it or when Free Alarm Clock plays it


By crash you mean the 'WsxMMTimer.DLL unloaded' crash, right?

seeker wrote:
edit: or the codec only has conflict with winstep or its dlls


More like that. The applications you mentioned probably don't use the multimedia timers, or at least not in the way Winstep uses them.

Anyway, we'll know for sure once I implement the proxy.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: Winstep crashing since the latest update
PostPosted: Sun Jan 08, 2017 9:58 pm 
Offline

Joined: Tue Mar 01, 2016 11:46 am
Posts: 568
to be more precise, playing that mp3(any mp3 for that matter) in anything other than winstep hasn't caused any problems whatsoewer


Back to top
 Profile  
 
 Post subject: Re: Winstep crashing since the latest update
PostPosted: Sun Jan 08, 2017 10:13 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
Most applications that use a multimedia timer when performing a specific operation will release it once the operation has completed. In WorkShelf the multimedia timer is always active, as it is the master timer for all the animations, etc...

Anyway, think about this: this thread has over 3,300 views, and I don't think that's the number of times me and you combined have read it. :) Lots of other people must have read it too - but not one of them has chimed in saying 'yes, this happens to me too!', as could be expected if this was a common problem.

So, whatever is happening there doesn't seem to be widespread. It's still happening though, and if it happens to you it will happen to others too, however few they might be. And, unlike you, those might not bother posting - most will just uninstall the application.

So this is something I would like to fix if it is indeed related to the MP3. So far I see no other explanation.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: Winstep crashing since the latest update
PostPosted: Sun Jan 08, 2017 10:28 pm 
Offline

Joined: Tue Mar 01, 2016 11:46 am
Posts: 568
well it only happens when email checker or alarm manager are set to play an mp3 so it is connected somehow, directly or indirectly (i haven't tried running sounds trough other modules though, but i assume behaviour would be similar/the same)


Back to top
 Profile  
 
 Post subject: Re: Winstep crashing since the latest update
PostPosted: Mon Jan 09, 2017 4:45 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
Ok, I haven't added the MP3 Proxy applet yet, want to try something else first:

I'm curious what error code the application is reporting when you get that OCX error, so I changed the description to include it in brackets at the start of the message. When you run into it, can you please report back what code it is?

Also, I added an explicit reference to WsxMMTimer.DLL at the very start of the application and I'm not releasing it until the program quits. This should prevent WsxMMTimer.DLL from being unloaded while the application is running (if that is indeed what is happening!).

Can you please download the new WorkShelf executable from HERE?

Once you get it, unzip it, exit WorkShelf and copy the new executable to

C:\Program Files (x86)\Winstep\

overwriting the old one in the process. Run WorkShelf again and please let me know if you see any changes.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: Winstep crashing since the latest update
PostPosted: Mon Jan 09, 2017 4:54 pm 
Offline

Joined: Tue Mar 01, 2016 11:46 am
Posts: 568
copied it, and turned on alarms and voice, will post when i get errors


Back to top
 Profile  
 
 Post subject: Re: Winstep crashing since the latest update
PostPosted: Mon Jan 09, 2017 5:04 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
Thanks! Much appreciated. :)

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: Winstep crashing since the latest update
PostPosted: Mon Jan 09, 2017 5:44 pm 
Offline

Joined: Tue Mar 01, 2016 11:46 am
Posts: 568
glitched again same as before
docks&shelves,modules and themes tabs in preferences:
http://prntscr.com/dtgri0
(appearance and themes tabs in shelf and dock properties show the same arror(managed to test that by letting an alarm play, opening them, then switching tabs when i stop the alarm))


Back to top
 Profile  
 
 Post subject: Re: Winstep crashing since the latest update
PostPosted: Mon Jan 09, 2017 5:53 pm 
Offline

Joined: Tue Mar 01, 2016 11:46 am
Posts: 568
the glitch is easier to reproduce than the dll unloaded crash though (as i said before, alarm causes crashes very rarely, while email checker causes it more often, but its more random (takes more time to reproduce))


Back to top
 Profile  
 
 Post subject: Re: Winstep crashing since the latest update
PostPosted: Mon Jan 09, 2017 5:59 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
As I suspected, it has nothing to do with the OCX.

You know what error 7 means? 'Out of Memory'.

Which is obviously not the problem either (unless the Desktop heap is depleted - usually because it becomes too fragmented over time - something I haven't seen happen in years and usually would only happen after running for a very long time without rebooting, constantly opening and closing applications).

But, just in case, check WorkShelf's memory usage in the Windows Task Manager when this error occurs (you should also enable the GDI and User Objects columns). Also, when was the last time you rebooted your computer?

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: Winstep crashing since the latest update
PostPosted: Mon Jan 09, 2017 6:03 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
Also, run what happens by me again, please...

Everything is running fine, you play music via an alarm, close the alarm and after that when you go to Preferences you get the OCX error. Is that right?

But if you are playing an MP3 via an Alarm when you go to Preferences, the error no longer happens until you stop the MP3. Right again?

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: Winstep crashing since the latest update
PostPosted: Mon Jan 09, 2017 6:29 pm 
Offline

Joined: Tue Mar 01, 2016 11:46 am
Posts: 568
ok, had a crash, bit different this time:
Problem signature:
Problem Event Name: APPCRASH
Application Name: WorkShelf.exe
Application Version: 16.12.0.1204
Application Timestamp: 5873bc00
Fault Module Name: StackHash_1abe
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 00000000
Exception Code: 80000002
Exception Offset: 76e8a1d8
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 1050
Additional Information 1: 1abe
Additional Information 2: 1abee00edb3fc1158f9ad6f44f0f6be8
Additional Information 3: 1abe
Additional Information 4: 1abee00edb3fc1158f9ad6f44f0f6be8

Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid= ... cid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt


Back to top
 Profile  
 
Post new topic Reply to topic Board index : Winstep Forums : General Discussion  [ 172 posts ] Go to page Previous  1 ... 4, 5, 6, 7, 8, 9, 10 ... 12  Next
Display posts from previous:  Sort by  

Who is online

Users browsing this forum: Google [Bot] and 38 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron