Re: [Audacity-devel] "Perfect" MP3 fails to import
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
From: Steve F. <ste...@gm...> - 2021-04-15 17:00:25
|
I tried building with libmad 0.15.1b-10ubuntu1 and the file still failed to import. Unfortunately I don't know how to confirm if I succeeded building with that version rather than the local version. Steve On Thu, 15 Apr 2021 at 17:29, Leland <ll...@ho...> wrote: > Gave it a try butit still throws the Huffman error. > > > > *From:* James Crook <jam...@gm...> > *Sent:* Thursday, April 15, 2021 10:52 AM > *To:* audacity-devel <aud...@li...> > *Subject:* Re: [Audacity-devel] "Perfect" MP3 fails to import > > > > 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 > > _______________________________________________ > audacity-devel mailing list > aud...@li... > https://lists.sourceforge.net/lists/listinfo/audacity-devel > |