Bug 526653
| Summary: | oggenc --resample crashes on invalid free() | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Renich Bon Ciric <renich> | ||||||
| Component: | vorbis-tools | Assignee: | Kamil Dudka <kdudka> | ||||||
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
| Severity: | medium | Docs Contact: | |||||||
| Priority: | high | ||||||||
| Version: | 11 | CC: | hdegoede, kdudka | ||||||
| Target Milestone: | --- | ||||||||
| Target Release: | --- | ||||||||
| Hardware: | All | ||||||||
| OS: | Linux | ||||||||
| Whiteboard: | abrt_hash:ca4078d2914fc598ed24ac81f8446e99d7279a7d | ||||||||
| Fixed In Version: | 1.2.0-5.fc11 | Doc Type: | Bug Fix | ||||||
| Doc Text: | Story Points: | --- | |||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2009-10-14 01:34:28 UTC | Type: | --- | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Embargoed: | |||||||||
| Attachments: | 
 | ||||||||
| 
        
          Description
        
        
          Renich Bon Ciric
        
        
        
        
        
          2009-10-01 10:33:31 UTC
        
       Created attachment 363304 [details]
File: backtrace
Thanks for the report! Could you please provide some steps to reproduce? Something like a minimal example? I am not able to reproduce the crash myself. Ok, sorry!... forgive abrt ;)
Anyway, here's the script I'm using:
# Thu 01 Oct 2009 06:00:07 AM CDT 
# introbella - wav2OggMp3Flac converter
# GPLv3 or >
#
# This script depends on ffmpeg, lame, oggenc and flac in order to work.
# 
# INSTRUCTIONS
# 1. Make a directory and subdirectories with the following layout
# BandName-Album (or BandName/Album... it's up to you)
# |-master
# |--48kHz_at_24bit
# 
# 1.1 Put the songs in WAV format; in 48 kHz @ 24 bit quality in 
#     the masters/48kHz_at_24bit directory
#
# 1.2. I recommend you use a natural songname format for the songs: song 1.wav, 
#      song 2.wav, song 3.wav
#
# 2. Run the script like this: wav2OggMp3Flac 
#    /path/to/BandNmae-Album/master/48kHz_at_24bit
#
# 3. Go get a coca-cola or something.
#
#! /bin/bash
# TODO: Get Album info (band, album, year and calculate name based on fileane. 
#       Clean up if _ or - used.)
# TODO: Add an if file exists verification so it doesn't overwrite the files 
#       every time. Add a size verification (if not zero or something)
for song in "$1"/*.wav;
do
    # separate path from song name
    path="${song%/*}"
    song="${song##*/}"
    # convert to wav in 44.1kHz at 16bit
    pathWav44="$path/../44.1kHz_at_16bit"
    mkdir -p $pathWav44
    ffmpeg -i "$path/$song" -ar 44100 "$pathWav44/$song"
    
    # convert wav to ogg (highest quality)
    pathOgg48="$1/../../ogg/48kHz_at_24bit"
    pathOgg44="$1/../../ogg/44.1kHz_at_16bit"
    mkdir -p $pathOgg44 $pathOgg48
    oggenc -q 10 -o "$pathOgg48/${song%.*}.ogg" "$path/$song";
    oggenc -q 10 --resample 44100 -o "$pathOgg44/${song%.*}.ogg" "$path/$song";
    # convert wav to mp3 (highest quality)
    pathMp348="$path/../../mp3/48kHz_at_24bit"
    pathMp344="$path/../../mp3/44.1kHz_at_16bit"
    mkdir -p $pathMp344 $pathMp348
    lame --resample 48 --bitwidth 24 --replaygain-accurate -q 0 -V 0 --preset insane "$path/$song" "$pathMp348/${song%.*}.mp3";
    lame --resample 44.1 --bitwidth 16 --replaygain-accurate -q 0 -V 0 --preset insane "$path/$song" "$pathMp344/${song%.*}.mp3";
    # convert wav to flac (highest quality)
    pathFlac48="$1/../../flac/48kHz_at_24bit"
    mkdir -p $pathFlac48
    flac -V -f --replay-gain --best --bps=24 --sample-rate=48000 -o "$pathFlac48/${song%.*}.flac" "$path/$song";
done
exit 0
Thanks! Now please some steps to reproduce the crash using the enclosed script, best only operating with the files distributed along with Fedora (or created by some available tools). Does it crash all the time or occasionally? it's occasional. You just need to: 1. add some 48 kHz @ 24 bit wav files to the following dir: ./master/48kHz_at_24bit 2. Run the script on it: /path/to/the/wav2OggMp3Flac ./master/48kHz_at_24bit The script will create some dirs and start putting files in there. This is when I get the errors. I always get some (within 10 files) at least 4 or 5. Created attachment 363849 [details]
valgrind oggenc --quiet --resample 44100 test.wav 2>&1 | tee oggenc.out
Thanks! Now I have an easy and 100% reliable reproducer. Enclosed is a bt caught by valgrind.
The bug has been already fixed in the Gentoo Linux: ftp://ftp.sh.cvut.cz/MIRRORS/gentoo-portage/media-sound/vorbis-tools/files/vorbis-tools-1.2.0-oggenc-resample-call-fix.patch ... and also fixed upstream: http://svn.xiph.org/trunk/vorbis-tools/oggenc/oggenc.c Fixed packages are ready: vorbis-tools-1.2.0-5.fc11 vorbis-tools-1.2.0-6.fc12 vorbis-tools-1.2.0-6.fc13 Please test them ASAP, so that I can request a freeze override for F-12. Thanks in advance! how? they aren't in the repos... are they? (I'm using rawhide) (In reply to comment #10) > how? they aren't in the repos... are they? (I'm using rawhide) If not, you can still download them directly from Koji: http://koji.fedoraproject.org/koji/buildinfo?buildID=135359 http://koji.fedoraproject.org/koji/buildinfo?buildID=135356 http://koji.fedoraproject.org/koji/buildinfo?buildID=135352 It works fine! How can I send you good karma? Your comment here is IMO sufficient enough to request freeze override, I'll do it ASAP. I am also going to submit an update for F-11. Thanks for testing it! thanks for fixing it! ;=) I've just filled a ticket: https://fedorahosted.org/rel-eng/ticket/2401 vorbis-tools-1.2.0-6.fc12 successfully tagged into f12-beta by notting vorbis-tools-1.2.0-5.fc11 has been submitted as an update for Fedora 11. http://admin.fedoraproject.org/updates/vorbis-tools-1.2.0-5.fc11 vorbis-tools-1.2.0-5.fc11 has been pushed to the Fedora 11 stable repository. If problems still persist, please make note of it in this bug report. |