View Issue Details

IDProjectCategoryView StatusLast Update
0000248OpenMPTPlugins / VSTpublic2012-07-13 17:33
Reporterharbinger Assigned ToSaga Musix  
PrioritynormalSeveritycrashReproducibilitysometimes
Status resolvedResolutionfixed 
Platformx86OSWindowsOS VersionXP
Product VersionOpenMPT 1.20.01.00 (upgrade first) 
Target VersionOpenMPT 1.20.02.00 (upgrade first)Fixed in VersionOpenMPT 1.20.02.00 (upgrade first) 
Summary0000248: M1 GUI broken in 1.20
Description

When loading the Korg M1 VSTi into a new module, the following happens:

  1. On loading into the song's plugin list, a small notice appears with the caption "Open ModPlug Tracker", and the error message reads: "Exception in Dispatch(14) (Plugin="M1")!"
  2. When opening the plugin GUI window, most, but not all, of the elements are gone -- knobs, sliders, etc. Clicking on any clickable element displays the following message OVER ALL OTHER APPLICATIONS: caption: Syncrosoft License Control - Error; message: File SYNSOACC.DLL does not have the expected interface. (Syncrosoft is the system extension which makes sure the M1 plugin is valid and registered.)
  3. Click on OK, then the MPT-only error dialog opens with this:
    Microsoft Visual C++ Runtime Lbrary
    Runtime Error!
    Program: C:[insert path here]\mptrack120.exe [which i renamed to this while testing]
    This application has requested the Runtime to terminate it in an unusual way.
    Please contact the application's support team for more information.
  4. Clicking OK in this dialog terminates MPT immediately without saving any changes...

I have tried loading other plugins, including complicated VSTi's like Oxytocin, and plugins without their own GUI, like MDA's Loudness VST, and everything else i tried works fine.

This bug also occurred when i loaded an MPTM track that already had the M1 as part of the plugin list.

When i went back to 1.19.3, the M1 loaded correctly and showed its GUI as it always has.

Interestingly, when i loaded the M1, opened its window, and instead of clicking in the window, i changed the preset in MPT's menu, there was a bit of a stutter, but it changed the preset and it preview-played fine.
When i played the track from start, it played fine.
Everything works as intended UNLESS i open the M1's window and try to access the GUI elements.

UPDATE: After playing the track, the GUI elements appear as normal and tweaking the controls does not crash MPT. EXCEPT i did notice that clicking on the GUI keyboard did not play the notes UNTIL i used the PC keyboard to play the GUI keyboard, then it accepted mouseclicks.

TagsNo tags attached.
Attached Files
Crash screen 1.png (11,846 bytes)   
Crash screen 1.png (11,846 bytes)   
Crash screen 2.png (8,683 bytes)   
Crash screen 2.png (8,683 bytes)   
Has the bug occurred in previous versions?
Tested code revision (in case you know it)

Activities

Saga Musix

Saga Musix

2012-05-06 18:17

administrator   ~0000707

The advice I'd like to give here is "Fuck Syncrosoft and everything that uses their drivers and get a real Korg M1 instead", but that's obviously of no help.

The only reason I can imagine why this didn't happen before is that OpenMPT 1.19 didn't have exception handling (aka crash prevention) enabled, and that the plugin in question doesn't like that change. I could compile a version of OpenMPT 1.20 that doesn't have exception handling enabled to confirm this. If that is really the cause, I'm afraid I can't do much about it because exception handling is vital for OpenMPT's increased stability as a VST host, but it might be possible to get the plugin running again in jBridge or Chainer then.

Saga Musix

Saga Musix

2012-05-06 18:18

administrator   ~0000708

Last edited: 2012-05-06 19:14

Oh, and of course you could also try re-installing the dongle and plugin drivers, but I doubt it will help. It's also possible that this is a problem only happening with test builds (the V2 plugin has similar issues during debug mode, but not when running OpenMPT standalone), so please test if this also happens with the freshly released OpenMPT 1.20.01.00.

harbinger

harbinger

2012-05-10 12:52

reporter   ~0000718

Actually the best advice you gave here is for the fresh release of 1.20. I am using the test version from several days ago, and that probably is the cause if it's debug-oriented.

I'll try the official update and report back...

harbinger

harbinger

2012-05-14 13:28

reporter   ~0000729

UPDATE: After doing a clean install of both OpenMPT 1.20 AND a clean install of the M1 VST and its licensing control, the problem as described above still exists. As far as i'm concerned the issue is not major because there is a workaround. The user will need to play a pattern or start the song to have MPT "initialize" the controls before tweaking any controls in the GUI. If he wishes to use the mouse to access the M1's keyboard display (something i rarely do), he needs to press any note key to activate the note player function of the M1's keyboard.

The test i gave it was for a track already built as well as a new track. I did not try it with Chainer, so that's next on my list...

Saga Musix

Saga Musix

2012-05-14 13:52

administrator   ~0000730

Here's a version of OpenMPT without exception handling for plugins:
http://sagagames.de/stuff/mptrack-noexcept.exe

Please try if it fixes the problem. If it does, I'm afraid the issue cannot be fixed directly for the sake of VST hosting stability. In that case, using JBridge to create a bridged version of the plugin could help, though.

harbinger

harbinger

2012-05-22 12:44

reporter   ~0000747

M1 bug update:

As i would normally do, i loaded a track that used the M1 VSTi as an Instrument. The first thing i did in the General page was click on the Edit button in the plugin section to see if the GUI would display. Immediately i got a message indicating that there was a C0000005 error (which i remember from my studies at some point, this is a common error). I have attached a pic of this first notice.
When i OKed that window, ModPlug proceeded to initiate its crash, with the usual "OpenMPT has encountered a problem and needs to close..." When i requested more information, i got the second notice which i included in this report. I clicked for even more info, and it gave me a window titled "Error Report Contents" and listed a lot of numbers and attributes that only a programmer could love. But it did give me the location of the crash data file (.dmp), and i'm also including that here (actually i tried to upload it, but i get a message saying "file type not allowed" here in IssueTracker).

BTW all of this happened with the recent "NO-Exceptions" version you provided; i got none of this with any other version....

Also i tested this special version of MPT with other tracks and they played fine and displayed other VSTs just fine, in case there was a problem with this build.

Hope this helps.

Saga Musix

Saga Musix

2012-05-22 12:50

administrator   ~0000748

Last edited: 2012-05-22 12:56

You have to zip (or 7z) the crash dump to upload it. But since the exception was handled in the official OpenMPT 1.20 now it was not handled (and thus resulted in a crash), this means that the plugin itself caused the crash, and the crash dump will not be of much use for me.

This puzzles me a bit, because this must mean that the plugin also crashed with OpenMPT 1.19 (which also didn't have exception handling). Maybe I will have to try another exception handling mode.

In case you are using a limited Windows user account, you should also try running OpenMPT in administrator mode to see if the problem vanishes then - Apparently copy protected plugins often require administrator privileges.

harbinger

harbinger

2012-05-23 14:15

reporter   ~0000751

UPDATE:
I loaded the M1 into Chainer, and everything worked fine except for the keyboard part of the plugin's GUI, which as stated above (without Chainer) will not recognize a mouseclick until a note is played using the PC keyboard). So at least there's a second workaround.

I have yet to try jBridge and must find that. I'll do some testing again with that wrapper and see what happens.

BTW, the M1 ships with a second Korg Legacy VSTi called Wavestation (which i believe was also put out as MIDI hardware in the 90s). When i loaded the Wavestation into a new MPTM track -- using the no-exceptions build -- it immediately crashed and quit without a dialog or anything. When i tried the same thing with the 1.20.1.2 build, the same crash dialogs (more or less) came up as with the M1. Both use the Syncrosoft License Control so the problem may be with that rather than individual VSTi's.

Saga Musix

Saga Musix

2012-05-23 15:26

administrator   ~0000752

Since you say the plugin didn't crash in 1.19.03.00, can you please also confirm whether the plugin crashed in OpenMPT 1.19.04.00? That would greatly help with finding the source of the crash.

harbinger

harbinger

2012-05-24 13:43

reporter   ~0000755

Last edited: 2012-05-24 13:49

Will do. I never tested 19.04, so i don't know how it would have taken it.

(BTW, went looking for it, and from the stickie at the forums, the download link takes me to the Downloads page of ModPlug Central, where you can't find old versions directly. Consider changing the 19.04 DL link at the forums to the sourceforge folder for 1.19., in case that's ever needed for the future -- as it was now.)

Saga Musix

Saga Musix

2012-05-24 14:12

administrator   ~0000756

Last edited: 2012-05-24 14:14

Version 1.19.04.00 is still available on the FTP server as all other versions.
ftp://ftp.untergrund.net/users/sagamusix/openmpt/

The Download page already has a "previous releases" link.
The lack of direct download links to old versions is intentional. The people who need them will find them, and everyone else will just find download links to the latest version as they should.

harbinger

harbinger

2012-05-30 14:16

reporter   ~0000761

UPDATE to M1 bug:

Under 19.04, the M1's GUI loaded up as expected, and all the elements were visible and clickable. Interestingly the keys on the M1's GUI did not activate with the mouseclick, but needed a PC keypress to "start" it up; after retro-testing with 18.3, this has always been the case and i just never noticed it.

Also tried using jBridge, but wasn't sure how that worked. After extracting it, running its "tool", and starting up MPT, all i got was a notice that jBridge could not "find its proxy", whatever that means. It doesn't load as a VST of any kind in MPT, so i uninstalled it. No further tests will be made in this bug with jBridge.

So this means the bug was introduced with 1.20, and a know alot of development happened between 1.19 and 1.20....

Saga Musix

Saga Musix

2012-05-30 14:22

administrator   ~0000762

The JBridge website would have answered you how to use JBridge. JBridge isn't a plugin host like Chainer, it's just a Bridge between Hosts and Plugins. Point the JBridge tool at your plugin directory containing M1, and let it create a bridged version of the plugin somewhere else. Start OpenMPT with admin rights and load the bridged version of the plugin into OpenMPT.

Anyway, seems like we'll have to take the (admittedly slow, because you aren't here every day) approach of progressively isolate the revision in which the M1 GUI broke. For that I'll zip up a bunch of OpenMPT 1.20 development builds...

Saga Musix

Saga Musix

2012-05-30 14:57

administrator   ~0000763

Ok, I've compiled 6 old versions of OpenMPT 1.20, available at http://sagagames.de/stuff/mptrack_revisions.7z - please test them all and tell me which is the <b>last</b> version in which the M1 GUI works correctly. After that, we'll narrow down which revision between the last working one and the first broken one is the culprit.

harbinger

harbinger

2012-06-01 20:18

reporter   ~0000764

Last edited: 2012-06-01 20:19

I couldn't find anywhere on their website what jBridge does or why i should use it. I don't even know what a "bridged" plugin is or what good it does me.

I keep hearing you throw around the term "admin rights," falling into your habit of automatically thinking other people know what you're talking about. I'm on my own computer with no internet and no one else uses it -- do i still need "admin rights" or does this have to do with a server?

"Ok, I've compiled 6 old versions of OpenMPT 1.20, available at http://sagagames.de/stuff/mptrack_revisions.7z [^] - please test them all"
I thought i was clear in my previous post. The GUI for the M1 broke after 1.19.04. The initial 1.20 release is where the bug started. Don't know if you see my issue as affecting others, but i'm not too anxious to go thru all this superfluous testing when i've not only narrowed down the version, but i have a workaround (actually two). I'd much rather send you my copy of the M1 installer and let you find the problem if you view it as a problem that will only get worse in future versions.

Saga Musix

Saga Musix

2012-06-01 20:40

administrator   ~0000765

<blockquote>I don't even know what a "bridged" plugin is or what good it does me.</blockquote>
"Bridging" is a common term for running plugins outside of the real host (The latest Renoise versions can do this, Firefox does it for its plugins, OpenMPT should do it at some point too) to prevent the host application from crashing if a plugin crashes, or to pass the 32 <-> 64 bit border. In this particular case, it could help with certain security features OpenMPT employs - if the plugin doesn't like one of them (f.e. Data Execution Prevention), it could still work in jBridge because then it would run in a separate process without those security features. I find this to be a rather realistic cause of the bug because I had my own share of problems with copyright enforcement software (Syncrosoft) and the only way to get it to work was to disable Data Execution Prevention for the Syncrosoft drivers.

<blockquote>I keep hearing you throw around the term "admin rights," falling into your habit of automatically thinking other people know what you're talking about. I'm on my own computer with no internet and no one else uses it -- do i still need "admin rights" or does this have to do with a server?</blockquote>
People running Vista or Win7 would very well know what I am talking about, because the default Windows user there is not an administrator. Seeing that you're using Windows XP, you are probably already running as an administrator user. A normal user account cannot install software for example. If you can install software normally without entering a password, switching to a different user account etc., you are already running in administrator mode and OpenMPT runs in administrator mode as well. On Vista/7, you would have to right-click the application and choose "Run with administrator privileges".

<blockquote>I thought i was clear in my previous post.</blockquote>
And I thought so was I: Test <b>all</b> versions and save both us a lot of time. It is worth the effort:

<blockquote>The initial 1.20 release is where the bug started</blockquote>
I am very sure that this is note the case, because I doubt that you had access to the "initial version". You only tried the first <i>official</i> release. All 6 old versions in this package are from the time between the release of OpenMPT 1.19.03.00 and 1.20.01.00. During this time, the support for M1 probably broke, but it certainly did not break in the <i>initial</i> build (1.20.<b>00.01</b>), nor in the first <i>official</i> release (1.20.<b>01.00</b>).

<blockquote>Don't know if you see my issue as affecting others, but i'm not too anxious to go thru all this superfluous testing when i've not only narrowed down the version</blockquote>
The issue affects everyone using the plugin, so yes it is worth pursuing this method. After you have verified which of the 6 executables is the last working one, I can narrow down the problem to 50 code revisions (from initally over 300). After this, I will give you another set of executables from those 50 revisions, which will narrow down the problem to 10 or so revisions. And after that, we're almost done (the number of versions to test will decrease logarithmically). You see, this is not superfluous testing. I'm giving you several executables at once (testing each will take you a minute at max) to effectively rule out hundreds of other intermediate executables.

<blockquote>I'd much rather send you my copy of the M1 installer and let you find the problem if you view it as a problem that will only get worse in future versions.</blockquote>
I'd prefer to stay clean of copyright enforcement software on my work machine (Syncrosoft drivers are already enough). ;)

harbinger

harbinger

2012-06-07 19:57

reporter   ~0000768

You have made very cogent, lucid, and civil arguments (sorry for sounding so bratty). If you're dedicated to finding the problem so that i can go back to the original behavior (without need of workarounds), then i shall dedicate myself to helping you squash that bug.

Downloading your test builds now...

Get back to you next week or so.

harbinger

harbinger

2012-06-13 20:22

reporter   ~0000769

UPDATE:

The M1 GUI opened immediately with build 1200 in the version pack you provided (as well as the previous versions), but in r1250, there was a crash with the Dispatch warning as i noted in the initial post.

Saga Musix

Saga Musix

2012-06-13 21:44

administrator   ~0000770

Last edited: 2012-06-13 21:44

Ok, so it's a rather late error that sneaked in... I've created another batch of revision ranging from revision 1200 to 1250. Download the files from the same link as above, and test again which is the last revision in which the plugin runs as intended.

Saga Musix

Saga Musix

2012-06-22 18:01

administrator   ~0000772

Last edited: 2012-06-22 22:50

Under some lucky circumstances, I managed to get my hands on a Korg Legacy license. I'm running the plugins on Win7 and the M1 GUI works without any problems here, however the Wavestation GUI remains black (but doesn't throw any exceptions) until playback is started.

Are you sure that you are using the latest version of the plugins (available from korguser.net)? The latest versions work without a dongle, so this might get rid of some trouble as well. Please try again using the latest version of the plugin - if it then works without problems for you, I will not pursue the issue any further.

Edit: My bet is that the problem is related to a fix in revision 1230, which was made to fix issue 0000210. I slightly changed the code of this fix to make the Wavestation GUI accessible again. This might also fix your M1 problem.

harbinger

harbinger

2012-06-26 20:13

reporter   ~0000775

The M1 GUI was fine at r1224 and broke at r1232.

Saga Musix

Saga Musix

2012-06-26 23:25

administrator   ~0000776

Then I am rather sure r1230 was the cause;
Please check if http://sagagames.de/stuff/mptrack.exe works better for you; If it doesn't, please get the latest version of the Korg plugins from korguser.net. They should definitely work with OpenMPT, and they don't require the Syncrosoft dongle anymore, which is another great thing. :)

harbinger

harbinger

2012-07-13 13:52

reporter   ~0000794

This bug has been completely fixed in the 1.20.02 release. Feel free to close or mark "resolved".

Issue History

Date Modified Username Field Change
2012-05-06 17:15 harbinger New Issue
2012-05-06 18:17 Saga Musix Note Added: 0000707
2012-05-06 18:18 Saga Musix Note Added: 0000708
2012-05-06 19:14 Saga Musix Note Edited: 0000708
2012-05-10 12:52 harbinger Note Added: 0000718
2012-05-14 13:28 harbinger Note Added: 0000729
2012-05-14 13:52 Saga Musix Note Added: 0000730
2012-05-22 12:40 harbinger File Added: Crash screen 1.png
2012-05-22 12:40 harbinger File Added: Crash screen 2.png
2012-05-22 12:44 harbinger Note Added: 0000747
2012-05-22 12:50 Saga Musix Note Added: 0000748
2012-05-22 12:51 Saga Musix Note Edited: 0000748
2012-05-22 12:56 Saga Musix Note Edited: 0000748
2012-05-23 14:15 harbinger Note Added: 0000751
2012-05-23 15:26 Saga Musix Note Added: 0000752
2012-05-24 13:43 harbinger Note Added: 0000755
2012-05-24 13:49 harbinger Note Edited: 0000755
2012-05-24 14:12 Saga Musix Note Added: 0000756
2012-05-24 14:14 Saga Musix Note Edited: 0000756
2012-05-30 14:16 harbinger Note Added: 0000761
2012-05-30 14:22 Saga Musix Note Added: 0000762
2012-05-30 14:57 Saga Musix Note Added: 0000763
2012-06-01 20:18 harbinger Note Added: 0000764
2012-06-01 20:18 harbinger Note Edited: 0000764
2012-06-01 20:19 harbinger Note Edited: 0000764
2012-06-01 20:40 Saga Musix Note Added: 0000765
2012-06-07 19:57 harbinger Note Added: 0000768
2012-06-13 20:22 harbinger Note Added: 0000769
2012-06-13 21:44 Saga Musix Note Added: 0000770
2012-06-13 21:44 Saga Musix Note Edited: 0000770
2012-06-13 22:49 Saga Musix Product Version OpenMPT 1.20.01.* (old testing) => OpenMPT 1.20.01.00 (upgrade first)
2012-06-22 18:01 Saga Musix Note Added: 0000772
2012-06-22 22:45 Saga Musix Note Edited: 0000772
2012-06-22 22:46 Saga Musix Note Edited: 0000772
2012-06-22 22:46 Saga Musix Note Edited: 0000772
2012-06-22 22:50 Saga Musix Note Edited: 0000772
2012-06-26 20:13 harbinger Note Added: 0000775
2012-06-26 23:25 Saga Musix Note Added: 0000776
2012-07-13 13:52 harbinger Note Added: 0000794
2012-07-13 13:54 Saga Musix Status new => resolved
2012-07-13 13:54 Saga Musix Resolution open => fixed
2012-07-13 13:54 Saga Musix Fixed in Version => OpenMPT 1.20.02.00 (upgrade first)
2012-07-13 13:54 Saga Musix Target Version => OpenMPT 1.20.02.00 (upgrade first)
2012-07-13 17:33 Saga Musix Assigned To => Saga Musix
2016-11-20 17:48 Saga Musix Category VST => Plugins (VST)
2016-11-20 17:48 Saga Musix Category Plugins (VST) => Plugins / VST