Mod Archive Forums

Music Production => MilkyTracker => Tracking => MilkyTracker Bug Reports => Topic started by: FreeFull on November 20, 2013, 00:48:42

Title: Segfault upon loading certain files
Post by: FreeFull on November 20, 2013, 00:48:42
Milkytracker works fine with most files, but there are some for which it will segfault 100% of the time. Those files work fine in other trackers.

Backtrace:
Code: [Select]
#0  0x0000000000519404 in TXMSample::postProcessSamples (this=0x9e9c20) at XModule.cpp:228
#1  0x000000000051c4e3 in XModule::postProcessSamples (this=0x9c56e0, heavy=false) at XModule.cpp:1643
#2  0x000000000055d53c in LoaderXM::load (this=0xbb9630, f=..., module=0x9c56e0) at LoaderXM.cpp:836
#3  0x000000000051d4bf in XModule::loadModule (this=0x9c56e0, f=..., scanForSubSongs=false) at XModule.cpp:1984
#4  0x000000000051d333 in XModule::loadModule (this=0x9c56e0, fileName=0xb429b0 "/home/freefull/Music/modules/own/remakes/LA.xm", scanForSubSongs=false) at XModule.cpp:1962
#5  0x0000000000420263 in ModuleEditor::openSong (this=0x9b96e0, fileName=0xb429b0 "/home/freefull/Music/modules/own/remakes/LA.xm",
    preferredFileName=0xbc17b0 "/home/freefull/Music/modules/own/remakes/LA.xm") at ModuleEditor.cpp:667
#6  0x00000000004b43f3 in Tracker::loadTypeFromFile (this=0x9a3ac0, eType=..., fileName=..., suspendPlayer=true, repaint=true, saveCheck=false) at Tracker.cpp:2691
#7  0x00000000004b4d33 in Tracker::loadTypeWithDialog (this=0x9a3ac0, eLoadType=..., suspendPlayer=true, repaint=true) at Tracker.cpp:2842
#8  0x00000000004b4eaa in Tracker::loadType (this=0x9a3ac0, eType=...) at Tracker.cpp:2864
#9  0x00000000004c8b6f in Tracker::eventKeyDownBinding_Open (this=0x9a3ac0) at TrackerKeyboard.cpp:488
#10 0x00000000004c5893 in Tracker::executeBinding (this=0x9a3ac0, bindings=0xa484c0, keyCode=76) at TrackerKeyboard.cpp:77
#11 0x00000000004d0509 in Tracker::processShortcutsMilkyTracker (this=0x9a3ac0, event=0x7fffffffe250) at TrackerShortCuts.cpp:122
#12 0x00000000004d1168 in Tracker::processShortcutsFastTracker (this=0x9a3ac0, event=0x7fffffffe250) at TrackerShortCuts.cpp:482
#13 0x00000000004d0404 in Tracker::processShortcuts (this=0x9a3ac0, event=0x7fffffffe250) at TrackerShortCuts.cpp:79
#14 0x00000000004ada05 in Tracker::handleEvent (this=0x9a3ac0, sender=0xa4c850, event=0x7fffffffe250) at Tracker.cpp:543
#15 0x000000000057b6a1 in PPScreen::raiseEvent (this=0xa4c850, event=0x7fffffffe250) at Screen.cpp:97
#16 0x00000000004d9b97 in RaiseEventSerialized (event=0x7fffffffe250) at sdl/SDL_Main.cpp:149
#17 0x00000000004da82c in translateKeyDownEvent (event=...) at sdl/SDL_Main.cpp:660
#18 0x00000000004daae8 in processSDLEvents (event=...) at sdl/SDL_Main.cpp:724
#19 0x00000000004db999 in main (argc=1, argv=0x7fffffffe798) at sdl/SDL_Main.cpp:1109
Memory values:
Code: [Select]
0x0000000000519404 in TXMSample::postProcessSamples (this=0x9e9c20) at XModule.cpp:228
228                                     data[-4] = data[loopstart+looplen-4];
(gdb) print data[-4]
$1 = 0
(gdb) print data[-3]
$2 = -32768
(gdb) print data[-2]
$3 = -32768
(gdb) print data[-1]
$4 = 32767
(gdb)
(gdb) print loopstart
$5 = 0
(gdb) print looplen
$6 = 3

A module that makes Milkytracker segfault is attached.
Milkytracker version: Data above from 0.90.85, 0.90.86 still affected.
Arch Linux x86_64
Title: Re: Segfault upon loading certain files
Post by: Deltafire on November 20, 2013, 19:04:40
Fixed (commit (https://github.com/Deltafire/MilkyTracker/commit/6018f1baa9d9d0a2672ea6ad8fc600a75324c9c1)).