Re: [Audacity-devel] "Perfect" MP3 fails to import
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
From: James C. <jam...@gm...> - 2021-04-15 16:26:41
|
Logged as bug https://bugzilla.audacityteam.org/show_bug.cgi?id=2749 On Thu, 15 Apr 2021 at 16:52, James Crook <jam...@gm...> wrote: > With that mp3 file we reach this point in layer3.c, with cachesz == 20 and > bits_left == -22 > > if (cachesz + bits_left < 0) > return MAD_ERROR_BADHUFFDATA; /* big_values overrun */ > > > There's a patch here that addresses length issues and changes that code: > > https://fossies.org/linux/avidemux/avidemux_plugins/ADM_audioDecoders/ADM_ad_mad/patches/length-check.patch > > 635 + if (cachesz - fakebits < 1) 636 + return MAD_ERROR_BADHUFFDATA; 637 xrptr[1] = MASK1BIT(bitcache, cachesz--) ? 638 -requantized : requantized; 639 } 640 @@ -1155,9 +1221,6 @@ enum mad_error III_huffdecode(struct mad 641 } 642 } 643 644 - if (cachesz + bits_left < 0) 645 - return MAD_ERROR_BADHUFFDATA; /* big_values overrun */ 646 - 647 > > > The patch looks pretty extensive. > > From: Kurt Roeckx <ku...@ro...> > Date: Sun, 28 Jan 2018 19:26:36 +0100 > Subject: Check the size before reading with mad_bit_read > > There are various cases where it attempts to read past the end of the > buffer > using mad_bit_read(). Most functions didn't even know the size of the > buffer > they were reading from. > > We are using libmad 0.15.1b. > Debian have 0.15.2b-9 with these fixes from 2018 in. > > This would need careful review. Probably worth contacting Kurt Roeckx > too, to confirm we're understanding things correctly, and say thank you. > > --James. > > > > > On Thu, 15 Apr 2021 at 15:48, Steve Fiddle <ste...@gm...> > wrote: > >> >> >> On Thu, 15 Apr 2021 at 15:41, James Crook <jam...@gm...> >> wrote: >> >>> Your first message never made it to this list (I just checked the >>> archive). >>> What's the link for the mp3? >>> >> >> You can get it here: >> https://drive.google.com/file/d/1qCPXtsBfFII2NwsSVMZY9k-Lx6sbhlS8/view?usp=sharing >> >> Steve >> >> >>> >>> On Thu, 15 Apr 2021 at 15:35, Steve Fiddle <ste...@gm...> >>> wrote: >>> >>>> Good detective work James. >>>> >>>> Any ideas about the MP3 file (first post of this thread)? Given your >>>> explanation of the OGG problem, I assume that it is a different issue. >>>> >>>> I'm thinking that it is probably an Audacity bug because the file >>>> appears to be a valid MP3 file. On the other hand, if the MP3 is malformed >>>> (in some way that I've not been able to detect), then it's rather more open >>>> to opinion whether or not it is an Audacity bug, or a bug in the >>>> application that created it. >>>> >>>> Steve >>>> >>>> On Thu, 15 Apr 2021 at 13:43, James Crook <jam...@gm...> >>>> wrote: >>>> >>>>> Logged as: https://bugzilla.audacityteam.org/show_bug.cgi?id=2748 >>>>> >>>>> >>>>> On Thu, 15 Apr 2021 at 13:27, James Crook <jam...@gm...> >>>>> wrote: >>>>> >>>>>> It's the same infinite loop as JUCE had: >>>>>> >>>>>> >>>>>> https://forum.juce.com/t/ogg-vorbis-file-puts-juce-oggreader-in-infinite-loop/41148 >>>>>> >>>>>> So will be fixed if we upgrade to 1.3.7 or later. >>>>>> >>>>>> On Thu, 15 Apr 2021 at 13:00, James Crook <jam...@gm...> >>>>>> wrote: >>>>>> >>>>>>> On both 3.0.2 and 2.4.2 it's stuck in library file, vorbisfile.c >>>>>>> >>>>>>> static int _fseek64_wrap(FILE *f,ogg_int64_t off,int whence){ >>>>>>> if(f==NULL)return(-1); >>>>>>> return fseek(f,off,whence); >>>>>>> } >>>>>>> >>>>>>> 'off' and 'whence' are both zero ( SEEK_SET ==0, SEEK_CUR==1, >>>>>>> SEEK_END==2). We're compiled 32 bit on windows. Anyone know if it hangs >>>>>>> on mac/linux (compiled 64 bit) too? >>>>>>> >>>>>>> --James. >>>>>>> >>>>>>> >>>>>>> On Thu, 15 Apr 2021 at 12:31, James Crook <jam...@gm...> >>>>>>> wrote: >>>>>>> >>>>>>>> Confirmed freezes for me on Windows. >>>>>>>> >>>>>>>> On Thu, 15 Apr 2021 at 12:20, Steve Fiddle < >>>>>>>> ste...@gm...> wrote: >>>>>>>> >>>>>>>>> And by "coincidence" (?), a problem reported importing this ogg >>>>>>>>> file: >>>>>>>>> >>>>>>>>> https://upload.wikimedia.org/wikipedia/commons/0/0f/Claude_Debussy_-_Premi%C3%A8re_Arabesque_-_Patrizia_Prati.ogg >>>>>>>>> >>>>>>>>> As with the MP3 file, it can be imported if you select the >>>>>>>>> "FFmpeg-compatible files" filter, but in this case, using Audacity's native >>>>>>>>> OGG importer causes Audacity to freeze on both Windows and Linux (not >>>>>>>>> tested on macOS). >>>>>>>>> >>>>>>>>> I don't like coincidences as they may be indicating a deeper >>>>>>>>> problem. >>>>>>>>> >>>>>>>>> Steve >>>>>>>>> >>>>>>>>> On Thu, 15 Apr 2021 at 12:01, Steve Fiddle < >>>>>>>>> ste...@gm...> wrote: >>>>>>>>> >>>>>>>>>> I've tested the attached file with multiple tools in Linux and it >>>>>>>>>> appears to be perfectly formed, yet Audacity still complains that it is >>>>>>>>>> malformed and refuses to import it. >>>>>>>>>> >>>>>>>>>> Steve >>>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> audacity-devel mailing list >>>>>>>>> aud...@li... >>>>>>>>> https://lists.sourceforge.net/lists/listinfo/audacity-devel >>>>>>>>> >>>>>>>> _______________________________________________ >>>>> audacity-devel mailing list >>>>> aud...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/audacity-devel >>>>> >>>> _______________________________________________ >>>> audacity-devel mailing list >>>> aud...@li... >>>> https://lists.sourceforge.net/lists/listinfo/audacity-devel >>>> >>> _______________________________________________ >>> audacity-devel mailing list >>> aud...@li... >>> https://lists.sourceforge.net/lists/listinfo/audacity-devel >>> >> _______________________________________________ >> audacity-devel mailing list >> aud...@li... >> https://lists.sourceforge.net/lists/listinfo/audacity-devel >> > |