#414 file causes crash of winamp, your software is blamed

1.3.x
closed-invalid
nobody
5
2014-11-26
2014-06-25
MrSinatra
No

hi,

forgive me if this is a bad report, first time posting. I guessed at milestone, etc

I tried to make a FLAC with audacity, and I suspect the resulting file was junk more than a FLAC. but regardless, I tried to play the file via doubleclicking it in windows explorer (win7 64) and when I did so winamp immediately crashed.

I reported this to DrO at winamp, and he said the actual root of the crash was your software, not anything winamp had control over. he based this on

here is a link to the thread, and the link contains the "bad Flac" in question.

http://forums.winamp.com/showthread.php?t=378311

if I can provide anymore info, please ask. what I am hoping is that the error handling could be more graceful so as to not cause a crash. we acknowledge u may have addressed this issue already.

thanks.

Discussion

  • MrSinatra
    MrSinatra
    2014-06-25

    please ignore the "he based this on" part, I meant to delete that before posting, but if I had to guess, he DL'd my file and tried it on his end, and examined winamp's own crash report.

     
  • lvqcl
    lvqcl
    2014-06-25

    Reproduced.

    libFLAC reads streaminfo block from this file and calls metadata callback
    function from in_flac.dll Then Winamp crashes with the following message:
    "Unhandled exception at 0x0765ADC4 (in_flac.dll) in winamp.exe: 0xC0000094: Integer division by zero."
    So the crash occurs in in_flac.

    Here is information about this file:
    x:>metaflac --list --block-number=0 "Title1 - Chapter 19 - Copy1.flac"
    METADATA block #0
    type: 0 (STREAMINFO)
    is last: false
    length: 34
    minimum blocksize: 0 samples
    maximum blocksize: 36 samples
    minimum framesize: 6384737 bytes
    maximum framesize: 6488064 bytes
    sample_rate: 0 Hz
    channels: 1
    bits-per-sample: 1
    total samples: 268435472
    MD5 signature: 00000002000000004008001588800000

    so maybe the code in metadata callback just divides something
    by sample_rate w/o any checks?


    Out of interest: the latest available version of Winamp uses
    libFLAC.dll that was built with MSVS 2008. What about the current
    development? No changes?

     
  • MrSinatra
    MrSinatra
    2014-06-25

    I'm sorry, I'm more than a bit thick. I'm ignorant on these things as I don't code.

    are you saying that DrO was correct? that the problem was your software?

    can you dumb down for me what u think is happening? is my file junk? whats wrong with it? or should it be able to work as is?

    is it something you can solve on your end?

    I am sure DrO would happily update the FLAC dlls if he can, he is currently the sole developer. winamp was recently sold and so he has to strip out all the AOL stuff and is doing other massive code revisions... so the next release is at best more than a few months away, but the resulting winamp should be the best one yet.

    what FLAC dlls would you advise him to use and can you provide a link to them?

    thanks!

     
  • lvqcl
    lvqcl
    2014-06-25

    that the problem was your software?

    Well, FLAC is not "my" software, but anyway...

    are you saying that DrO was correct?

    No. The crash happens inside in_flac.dll which is a part of Winamp.

    is my file junk?

    Yes.

    whats wrong with it?

    At least its header (that describes its content) is invalid.

    is it something you can solve on your end?

    I'm not sure. IMHO it's better to fix Winamp.

    what FLAC dlls would you advise him to use

    I have no idea. Probably it's better to continue to use
    the latest stable version (1.3.0).

     
    Last edit: lvqcl 2014-06-25
  • MrSinatra
    MrSinatra
    2014-06-25

    I asked about what DLLs he should use b/c of this part of your reply:

    "Out of interest: the latest available version of Winamp uses
    libFLAC.dll that was built with MSVS 2008. What about the current
    development? No changes?"

    I guess I didn't understand what you were asking or why? I'd like to know tho, and I hope I shed some light in my answer. thx!

     
  • DrO
    DrO
    2014-07-17

    This issue can be closed as it was (as lvqcl correctly noted) an issue with the handling of the bad file inside of in_flac.dll and not libflac.

    It just didn't show up correctly in the very brief inspection i'd done at the time (which was not a which incorrectly showed it was crashing in the libflac code with a different issue (which was due to a mixed local compile of the Winamp release at the time).

    Our in_flac.dll will be updated accordingly to fix this issue for our next client release. Apologies for any inconvenience caused by the premature bug report before it had been fully triaged on our side.

     
    Last edit: DrO 2014-07-17
  • Erik
    Erik
    2014-11-26

    Closed as requested.

     
  • Erik
    Erik
    2014-11-26

    • status: open --> closed-invalid