Skip to main content
Topic: Crash when playing playlist with only missing files (Read 691 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Crash when playing playlist with only missing files

When I add some songs to a playlist, delete all the files which are used in that playlist and then try to play the playlist with Shuffle or Repeat enabled, foobar crashes because it tries to play the missing files over and over until windows reacts to the deadlock and declares it as "Not responding".

Re: Crash when playing playlist with only missing files

Reply #1
How old is your foobar2000? Version 1.0.1 introduced a feature that plays a second of silence in place of missing files to prevent bad components from locking up the player.

Re: Crash when playing playlist with only missing files

Reply #2
1.3.16
apparently that feature is not working :/

Re: Crash when playing playlist with only missing files

Reply #3
It is working. Note that DSP components such as Skip Silence and Gap Killer can eliminate the silence and make track changing fast again. Though I didn't lose responsiveness in foobar2000 even with those DSPs enabled.

You could examine your setup and find out what makes foobar unresponsive with the looping playlist of missing files. I'd be curious to know. Or you could install Stop on Error component that prevents looping by stopping playback when a missing track is reached.

 

Re: Crash when playing playlist with only missing files

Reply #4
Okay it's Skip Silence. But since it's available with the installation I think this should be fixed, and it shouldn't be a that hard.
What about adding an option to auto-remove elements from a playlist which have been tried to play but are not available? (replacing that annoying error dialogue)

Re: Crash when playing playlist with only missing files

Reply #5
Or you could install Stop on Error component that prevents looping by stopping playback when a missing track is reached.
That's a good workaround. Although It can't actually keep to it's settings, there are far more file open failures before it can successfully stop playback.

Re: Crash when playing playlist with only missing files

Reply #6
@case, thanks a lot for the new "Stop on Error" version (1.4.1).  :)
It is only compatible for the new 1.4 Beta version of Foobar. So I updated my Foobar from 1.3.16 to 1.4 Beta.
I have a "dead" playlist (all of its items are "dead")
And now if I try to play it "Stop on Error" prevents foobar from crashing.

Before updating, my 1.3.16 Foobar crashed.
"Stop on Error" 1.4 didn't prevent the crash.
I was surprised it crashed b/c a few months ago I disabled "skip silence" dsp and I have only 3 dsp's (Noise Sharpening, Skip Track and Convert mono to stereo).

Re: Crash when playing playlist with only missing files

Reply #7
That's a good workaround. Although It can't actually keep to it's settings, there are far more file open failures before it can successfully stop playback.
I had somehow missed this post. This is an unfortunate side effect if track changing happens too quickly. File existence is checked on a callback that is triggered every time track changes. But the SDK forbids to call Stop from this callback as it can have ill consequences, so it must set another callback where the actual stopping is done. It has a slight delay. It could be hacked around with ugly utilization of DSPs, but I'd rather not do it. At least this component prevents the player from getting into an infinite loop where it stops reacting to user interface.

@case, thanks a lot for the new "Stop on Error" version (1.4.1).  :)
[...]
Before updating, my 1.3.16 Foobar crashed.
"Stop on Error" 1.4 didn't prevent the crash.
I was surprised it crashed b/c a few months ago I disabled "skip silence" dsp and I have only 3 dsp's (Noise Sharpening, Skip Track and Convert mono to stereo).
Weird. The Stop on Error component can be disabled in Advanced Preferences by setting the missing file count to 0, but if you upgraded everything the setting would have remained untouched. The new version 0.4.1 for foobar2000 v1.4 series is the exact same code. It's just recompiled with newer SDK and uses dynamic C runtime linking to reduce its size and stop it from using the limited FLS slots.

Skip Track component btw can easily switch tracks fast enough to cause this issue. But then you'd have to use some skip string that triggers for all the tracks in the playlist.

 
SimplePortal 1.0.0 RC1 © 2008-2018