View Issue Details

IDProjectCategoryView StatusLast Update
0000974OpenMPT[All Projects] libopenmptpublic2017-06-14 10:34
ReporterfunuteAssigned Tomanx 
PrioritylowSeveritycrashReproducibilityalways
Status closedResolutionno change required 
Platformx64OSLinuxOS Version
Product VersionOpenMPT 1.26.11.00 / libopenmpt 0.2-beta24 (current stable) 
Target VersionFixed in Version 
Summary0000974: .it module with long song message causes crash when exporting to .wav
Description

When trying to export an .it module that has a long enough song message (the limit is about 421 characters long, give or take a few characters) with openmpt123, it immediately crashes with an error in realloc(). Normal playback through openmpt123 or exporting to a different file format like FLAC works fine.

Steps To Reproduce
  1. Create an .it module with a long song message (about 421 characters)
  2. Try to export the module to .wav (e.g. openmpt123 -o /tmp/test2.wav /tmp/test2.it)
  3. Observe crash
Additional Information

I've attached a minimal test case (test2.it) which has a long enough song message to cause openmpt123 to crash. The log includes verbose output and includes the backtrace and memory map for the crash.

The main error: Error in `openmpt123': realloc(): invalid next size: 0x0000000001ca2c30

I set this issue as low priority since it's really easy to work around it (export as FLAC or other file format, or remove song message before exporting).

TagsNo tags attached.
Has the bug occurred in previous versions?
Tested code revision (in case you know it)r8190

Activities

funute

funute

2017-06-12 03:20

reporter  

test2.it.gz (202 bytes)
log.txt.gz (4,669 bytes)
manx

manx

2017-06-12 15:50

administrator   ~0003077

This looks like a bug in libsndfile 1.0.28 which openmpt123 uses on Linux to write WAV files. I'll do further investigation and report a proper bug against libsndfile.

manx

manx

2017-06-14 10:34

administrator   ~0003083

This is a libsndfile bug in libsndfile version 1.0.28.
Reported to libsndfile at https://github.com/erikd/libsndfile/issues/292 .

Issue History

Date Modified Username Field Change
2017-06-12 03:20 funute New Issue
2017-06-12 03:20 funute File Added: test2.it.gz
2017-06-12 03:20 funute File Added: log.txt.gz
2017-06-12 03:21 funute Steps to Reproduce Updated View Revisions
2017-06-12 05:21 manx Assigned To => manx
2017-06-12 05:21 manx Status new => assigned
2017-06-12 05:21 manx Status assigned => acknowledged
2017-06-12 07:14 manx Status acknowledged => confirmed
2017-06-12 15:50 manx Note Added: 0003077
2017-06-14 10:34 manx Status confirmed => closed
2017-06-14 10:34 manx Resolution open => no change required
2017-06-14 10:34 manx Note Added: 0003083