Re: [Audacity-devel] "Perfect" MP3 fails to import
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
From: Leland <ll...@ho...> - 2021-04-15 16:27:41
|
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... <mailto: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... <mailto:ste...@gm...> > wrote: On Thu, 15 Apr 2021 at 15:41, James Crook <jam...@gm... <mailto: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... <mailto: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... <mailto: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... <mailto: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... <mailto: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... <mailto:jam...@gm...> > wrote: Confirmed freezes for me on Windows. On Thu, 15 Apr 2021 at 12:20, Steve Fiddle <ste...@gm... <mailto: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... <mailto: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... <mailto:aud...@li...> https://lists.sourceforge.net/lists/listinfo/audacity-devel _______________________________________________ audacity-devel mailing list aud...@li... <mailto:aud...@li...> https://lists.sourceforge.net/lists/listinfo/audacity-devel _______________________________________________ audacity-devel mailing list aud...@li... <mailto:aud...@li...> https://lists.sourceforge.net/lists/listinfo/audacity-devel _______________________________________________ audacity-devel mailing list aud...@li... <mailto:aud...@li...> https://lists.sourceforge.net/lists/listinfo/audacity-devel _______________________________________________ audacity-devel mailing list aud...@li... <mailto:aud...@li...> https://lists.sourceforge.net/lists/listinfo/audacity-devel |