http://bugs.winehq.org/show_bug.cgi?id=31212
Bug #: 31212 Summary: Some VST instruments crash when reloaded in Mixcraft Product: Wine Version: 1.5.8 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: s_chriscollins@hotmail.com Classification: Unclassified
In Mixcraft, some VST instruments crash when loaded a second time on a track. However, the same instruments work fine when loaded for the first time on a track. The following can be reproduced easily in Mixcraft:
1. Start Mixcraft and select "Build Virtual Instrument Tracks" from the "New Project" window.
2. Click on the keyboard icon next to the first track name, which will bring up the instrument selection window.
3. Select "<VSTi Instruments>" from the left pane and then "Messiah" from the right pane. This sets the track to use the Messiah VSTi synth.
4. Now select "Acoustica Instruments" from the right pane.
5. Once again, select "Messiah" from the right pane. Mixcraft will pop up an error box with the title "An instrument has crashed" containing the following text: "A crash has been detected in the instrument "Messiah." This plug-in has been muted. We recommend you save your project and re-start Mixcraft to avoid losing your work."
Unfortunately, no helpful terminal output seems to be generated in relation to the plugin crash. I have provided more detailed notes on VST behavior in Mixcraft here: https://docs.google.com/document/d/1YEPh0mkd_ip1whAJXcRIl4HYny5D8LSeGo3qgzVH...
** My System ** OS: Kubuntu 12.04 64-bit w/ KDE SC 4.8.4 Motherboard: ASRock X58 Extreme3 (Intel X58 chipset) CPU: Intel Core i7 (2.8 GHz quad-core) RAM: 12GB DDR3 Video: Dell NVIDIA GeForce 7800 GTX w/ 256 MB RAM (PCI Express) Sound Card #1: Sound Blaster Audigy 2 ZS Gold Sound Card #2: Echo Gina3G Linux Kernel: 3.2.0-26-generic NVIDIA video driver: 302.17 Screen Resolution: 1280 x 960
https://bugs.winehq.org/show_bug.cgi?id=31212
--- Comment #1 from Austin English austinenglish@gmail.com --- This is your friendly reminder that there has been no bug activity for two years. Is this still an issue in current (1.7.25 or newer) wine?
https://bugs.winehq.org/show_bug.cgi?id=31212
S. Christian Collins s_chriscollins@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.5.8 |1.7.25
--- Comment #2 from S. Christian Collins s_chriscollins@hotmail.com --- Yes, I can confirm that this bug is still present in Wine 1.7.25.
https://bugs.winehq.org/show_bug.cgi?id=31212
--- Comment #3 from Austin English austinenglish@gmail.com --- This is your friendly reminder that there has been no bug activity for over a year. Is this still an issue in current (1.7.51 or newer) wine?
https://bugs.winehq.org/show_bug.cgi?id=31212
--- Comment #4 from S. Christian Collins s_chriscollins@hotmail.com --- This issue still happens in Wine 1.7.51. I also have some more details and better reproduction steps for this here, using Mixcraft 7 (should work for 6 as well): ----------------------- This bug doesn't affect every VSTi, but does affect a lot of them. Here's how to reproduce it:
1. In Mixcraft, load Messiah to track 1. 2. Play a few notes to make sure it's working. 3. Remove the Messiah instrument from the track (or just delete the track altogether). 4. Re-load Messiah to track 1. 5. Play a few notes.
Result: Most of the time, Mixcraft will be frozen at this point. Occasionally, Mixcraft will not freeze, instead saying that the plugin has crashed and been muted. Every once in a rare while, the plugin will work the second time as well.
This bug persists across projects. In other words, if I add and remove Messiah, then start a new project, I'll get a crash in the new project upon adding Messiah. It is only by restarting Mixcraft that I can safely add another Messiah instance.
Now, what's interesting is that I can add as many Messiah instances as I want to a project. It is only when I remove an instance that adding further instances causes the freeze. Also, I can't seem to reproduce this behavior with any VST effects, only the instruments.
I do get some terminal output that may or may not be useful. Once Mixcraft freezes, I get this: ----------------------- err:ntdll:RtlpWaitForCriticalSection section 0x57c49dc "?" wait timed out in thread 0009, blocked by 0026, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0xd510a0 "?" wait timed out in thread 0025, blocked by 0036, retrying (60 sec) fixme:dbghelp:SymGetModuleInfo Wrong size err:seh:setup_exception_record stack overflow 1472 bytes in thread 0026 eip 7bc4600f esp 01700d70 stack 0x1700000-0x1701000-0x1800000 err:ntdll:RtlpWaitForCriticalSection section 0xd510a0 "?" wait timed out in thread 0025, blocked by 0036, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x57c1ff8 "?" wait timed out in thread 0027, blocked by 0026, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x57c1ff8 "?" wait timed out in thread 0028, blocked by 0026, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x57c49dc "?" wait timed out in thread 0009, blocked by 0026, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x57c1ff8 "?" wait timed out in thread 0029, blocked by 0026, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x57c1ff8 "?" wait timed out in thread 0027, blocked by 0026, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x57c1ff8 "?" wait timed out in thread 0028, blocked by 0026, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x57c49dc "?" wait timed out in thread 0009, blocked by 0026, retrying (60 sec) -----------------------
Every few seconds another line similar to the last lines appears in the terminal. I don't know if this goes on indefinitely as I always end up killing Mixcraft/Wine after a while.
I did also create a bug for this on the Mixcraft bugzilla, which is here for your reference: http://bugz.acoustica.com/show_bug.cgi?id=7811
https://bugs.winehq.org/show_bug.cgi?id=31212
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
--- Comment #5 from winetest@luukku.com --- Could you test this against more recent wine version? 2.0 series please.
https://bugs.winehq.org/show_bug.cgi?id=31212
S. Christian Collins s_chriscollins@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.7.25 |2.4 Hardware|x86 |x86-64
--- Comment #6 from S. Christian Collins s_chriscollins@hotmail.com --- I can confirm that this bug still exists using Wine 2.4 and also affects Mixcraft 8 in addition to 6 and 7. Please let me know if you would like any more information.
https://bugs.winehq.org/show_bug.cgi?id=31212
--- Comment #7 from S. Christian Collins s_chriscollins@hotmail.com --- Created attachment 57943 --> https://bugs.winehq.org/attachment.cgi?id=57943 video showing how to repro the bug in Mixcraft 8
I just tested Mixcraft 8 using Wine 2.6, and the bug still happens. Attached is a video showing how to easily reproduce this bug using Mixcraft 8, a free trial of which can be downloaded from: http://www.acoustica.com/mixcraft/download.php
Also, I work for Acoustica and will be able to pass along any questions the Wine developers might have for the programmers. Let me know if you need any more information.
https://bugs.winehq.org/show_bug.cgi?id=31212
S. Christian Collins s_chriscollins@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|2.4 |2.6 URL| |http://www.acoustica.com/mi | |xcraft/download.php
https://bugs.winehq.org/show_bug.cgi?id=31212
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |leslie_alistair@hotmail.com Ever confirmed|0 |1
--- Comment #8 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Confirm there is a crash.
From initial look, maybe in mmdevapi, use after free.
https://bugs.winehq.org/show_bug.cgi?id=31212
Gijs Vermeulen acescopezz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |acescopezz@gmail.com
--- Comment #9 from Gijs Vermeulen acescopezz@gmail.com --- (In reply to S. Christian Collins from comment #7)
-snip-
Just one thing, it isn't needed to update the Version field of the bug. It is preferred to leave that on the earliest version that it happened in. (In this case, that would be 1.5.8)
https://bugs.winehq.org/show_bug.cgi?id=31212
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|2.6 |1.5.8 CC| |joseph.kucia@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=31212
--- Comment #10 from S. Christian Collins s_chriscollins@hotmail.com --- I went through all of the plugins available in Mixcraft 8 Pro Studio and discovered a few more details that might be useful for resolving this bug. The following virtual instrument plugins all exhibit the behavior described in the original report:: . Kastelheimer Veldberg XD [Pro Studio only] . Lounge Lizard Electric Piano . ME80 (the old version; ME80 Version 2 works fine) [Pro Studio only] . Memorymoon [Pro Studio only] . Messiah . Renegade
The bug is easiest to trigger when MIDI notes are sent to the virtual instrument each time it is loaded (either via live MIDI input, the integrated “musical typing keyboard”, or a clip playing on that track).
Interestingly, this bug also affects a few virtual FX plugins, all of them delays: . Dubmaster Liquid Delay [Pro Studio only] . POD4500 Particle Delay [Pro Studio only] . VTD-42 Psychedelic Delay [Pro Studio only]
To trigger the bug with these delay plugins, the project tempo must be set to a value other than the default 120 BPM. When I was getting these plugins to freeze, I was using 125 BPM. Unlike the virtual instrument plugins, there doesn’t need to be any sound playing through these FX plugins to get them to freeze on the second load.
https://bugs.winehq.org/show_bug.cgi?id=31212
--- Comment #11 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Still an issue in 4.14 but I could only cause the crash it in the 32bit version edition.
https://bugs.winehq.org/show_bug.cgi?id=31212
Bernhard Übelacker bernhardu@mailbox.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bernhardu@mailbox.org
--- Comment #12 from Bernhard Übelacker bernhardu@mailbox.org --- I could no longer find the version 391, but a crash happened following the described actions also for 418.
This would be a deep link to it: https://download.acoustica.com/versions/mixcraft8/mx/mixcraft8-b418-setup.ex... 88ef5035748d60725020b78879c4c744fa569449f17d75f7ab216fdbe41ade8b mixcraft8-b418-setup.exe
This is a backtrace of the call to MiniDumpWriteDump:
Breakpoint 1 at 0x00000000f707fb80 MiniDumpWriteDump in dbghelp 002d:fixme:dbghelp:elf_search_auxv can't find symbol in module Stopped on breakpoint 1 at 0x00000000f707fb80 MiniDumpWriteDump in dbghelp Wine-dbg>bt Backtrace: =>0 0x00000000f707fb80 MiniDumpWriteDump() in dbghelp (0x00000000022af2c4) 1 0x0000000000c1e846 EntryPoint+0xffffffffffffffff() in sndengine (0x00000000022af310) 2 0x0000000000c2be5d EntryPoint+0x4180() in sndengine (0x00000000022af348) 3 0x0000000000c2bd85 EntryPoint+0x40a8() in sndengine (0x00000000022af3b8) 4 0x0000000000c2c3dc EntryPoint+0x46ff() in sndengine (0x00000000022af3ec) 5 0x0000000000c1ea43 EntryPoint+0xffffffffffffffff() in sndengine (0x00000000022af428) 6 0x000000007bca9fe1 call_exception_handler+0x28() in ntdll (0x00000000022af458) 7 0x000000007bca9fb3 EXC_CallHandler+0x1a() in ntdll (0x00000000022af478) 8 0x000000007bcac091 NtSetContextThread+0x210() in ntdll (0x00000000022af4d8) 9 0x000000007bcac3c0 NtSetContextThread+0x53f() in ntdll (0x00000000022af4e8) 10 0x00000000deadbabe (0x00000000022af858) 11 0x000000001b974b50 EntryPoint+0xd41() in dh_arraysequencer.sem (0x00000000022af890) 12 0x000000001b971a4f EntryPoint+0xffffffffffffffff() in dh_arraysequencer.sem (0x000000001b992a68) Wine-dbg>
I tested in a Debian 11 Bullseye VM, the crash was visible between wine-5.0.3 and wine-5.19.
It looks like from wine-5.20 to wine-6.0.4 (and latest git at a different machine) the crash does no longer happen.
So this bug seems fixed since wine-5.20.