Nightly 2014-03-21 crashes upon clicking menu "Plugin Manager" - if a plugin exists

• Mar 24, 2014 - 19:35
Type
Functional
Severity
S4 - Minor
Status
won't fix
Project

I just put MuseScoreNightly-2014-03-21-1908-5aa775f onto my system, and also let it create a fresh user profile as instructed in http://prereleases.musescore.org/windows/nightly/

When I click Plugins→Plugin Manager, Musescore crashes.

One experiment I tried may hold a clue: I tried emptying the plugins directories (both in my C:\Program Files\MuseScoreNightly and also my user profiles). If there are no plugins, then Musescore does not crash upon clicking Plugins→Plugin Manager. But if I put even a single plugin into either of the plugins folders (I tried copying them alphabetically one by one, so I started with break.qml), then the crash occurs.

The popup that appears makes me think that whatever happens is "caught" by something in Musescore (Visual C++ runtime lib). But in particular, no drwtsn32.dmp file gets created.

The most recent nightly build I used was in November 2013. This problem didn't happen on my computer with the nightly back then, nor the few nightlies I tried earlier than that.

My system is WinXP(Pro)X86-SP3.


Comments

Do you mean the button "Reset All Preferences to Default" in Preferences?

I had not tried that.

But I have tried it now. Sorry, no success. Still crashes.

I believe I've poked at this enough now to be convinced this isn't some "remainder". Good theory, but it hasn't held up to experimental evidence on my machine.

So, what to try next?

The nightly seems to be a "black box" - no visibility into what it's actually doing, or trying to do. It's impossible to tell what it's really trying to do when it crashes. Too bad the program doesn't produce a crash dump. Is there a way to make it do so?

Is this still a problem for you NAF Lover? I can't reproduce t here here on the latest code running under Fedora 86. If so I think more details are required.

If you want to see what's happening there is a debug mode which will give you more information, start MS with -d
If you want more, download the source.

Reply to #8, MarkRS: Short version: your question cannot be answered just now.

I downloaded a new Nightly yesterday, and this newer nightly just crashes immediately. So now, MuseScore doesn't run long enough for me to answer your question. (This new problem is being tracked as issue ‟#31361: MuseScore 2.0 beta 1 crashes on startup (requires SSE2 instruction set)” )

In order to test the -d parameter, I've returned to my earlier Nightly (built 2014-03-21 — see the Title and Description of this issue here). I don't see how -d is supposed to work. Does -d create a log or a dump file? If so, where should I look for it? On my system, -d does not produce any output to the console (Windows "Command Prompt"). However, -d does cause corruption of the MuseScore display with myriad little gray lines:
 
         LittleGrayLines.JPG

 
So anyway you've put this issue into "needs info" status and I guess that's the appropriate status here until #31361 is addressed.

Thanks for that NAF Lover.

Yes, -d is supposed to ouptut to the command prompt. It seems to here, but I'm on Linux.
As far as the grey lines go yes, that's horrible. Not sure what's going on there.

Something else that is probably relevant, what version of Qt are you on? MuseScore will tell you, "About Qt" on the help menu.

And they can indeed be useful when debugging. Also the boxes that appear around individual elements, indications of selection, etc. And even on windows, additional info *is* output to console. Information in addition, that is, to the ordinary info that is always output to the console. So if you are truly seeing no output at all, perhaps you aren't starting it correctly? It should go the same console window you started mscore from. Or, when running under a debugger GUI like QtCreator, to the Application window tab.

NAF Lover, can you run MS yet? If so, could you confirm that the Plugin Manager *only* crashes when you have plugins in "your" plugin directory rather than the "system" plugin directory...

At least, that's what I'm hoping, tho' that doesn't appear to be what your earlier report says

Status (old) needs info patch (code needs review)

I think I have identified this problem and, almost by mistake, fixed it with PR 1425.

I suspect what is happening is that there is an invalid qml script in the the user's plugin directory, although prior to this PR I think an invalid script in the main plugin directory would have had the same effect.

The above mentioned PR prevents invalid scripts being added to the plugin list.
However, if one of the main, demo, scripts is invalid it will still crash MS when it runs.

I'm suggesting that this be marked as "fixed", unless someone has up-to-date info, including with that PR, that it is still a problem.

Status (old) patch (code needs review) active

Reply to MarkRS #15 and #14:

Sorry, no joy.

I've had to wait for a no-SSE2 build to test this (see issue #31361: MuseScore 2.0 beta 1 crashes on startup (requires SSE2 instruction set)). I've just downloaded the build shared there (see 31361 comment 17), called commit number 926cba52da. I have no idea how to convert a Git-hub commit number to a date, but based on the comment dates here and on comment 17 of issue #31361, I presume that MarkRS's proposed fix from November 5 (comment #15 here) is included in what I just tested.

This is still a problem.

I don't have any plugins other than the ones bundled with the nightly. (If, per your speculation, any of the bundled scripts is bad, why is it shipped?) I have to completely empty all three plugins folders (in other words, have no plugins whatsoever) to not have this crash.

(Just to be clear, the two plugin folders in the user environment are normally empty anyway on my system. I've only added a plugin file there manually to test if the specific folder matters, per your question #14. Answer: Location doesn't matter. Any QML file in any of the three plugins folders results in this crash.)

You mention PR 1425 but I'm a user here not a developer and I have no idea where PR's exist nor how to include "up to date info" about 1425, nor even how to go read it.

Reply to #18, ABS:

Firstly, it seems to me your request really belongs in issue #31361 rather than here.

I am willing to do what you ask, but there are issues. For one thing, I don't have enough free disk space for your debug version. That's on me, frankly; but it does mean I won't get an answer to you very quickly.

However, there is a more immediate show-stopper: Google gives a "File Not Found" error in my downloader ("Free Download Manager" aka FDM) from your link. So I cannot download.

I'd prefer to not share via Google anyway and hope some other method could be found. I require restartable FTP due to poor Internet connection. Google seems to be playing protocol games: FDM showed my previous Google Drive download with messed-up file size, and seemed to indicate the download would not be restartable. I got lucky with that download, but it was 1/3 the size of this.

@NAF Lover:
I strongly suspect that the two issues are tighly related and that the qml infrastructure (called by both the plugin and the synthesizer) is crashing due to missing sse2.
Don't worry for the debug build: it was an attempt to have more information to work on. It is strange that you cannot download the file. In principle by simply downloading without the download manager should work. Anyway, Google Drive was the easiest way for me to share the files without added ads or very low bandwidth limits; next time I will try with other solutions :-)

Although I can't comment on the SSE part, I know that my patch solves some aspects of this problem.

When scanning the system and user plugin directories, MuseScore opens and reads the plugin files for header information (which it shows in the menu and plugin manager). It will crash if the code is invalid. Many of the plugins are currently invalid as the plugin language has changed since 1.3.

I need to address lasconic's concerns in the PR referred to Unfortunately life here has taken a turn for the more chaotic, but I'll try to find some time to sort it out.

Status (old) patch (code needs review) won't fix

Werner recently changed the behavior of the Synthesizer to not use a qml script.
Here is a no-SSE2 version of the latest commit ( 68600ec6 ) and with plugin framework disabled:
https://drive.google.com/file/d/0BxjayMZiuupOV0VQcGIwRDBkTXc/view?usp=s…
Except for the plugin framework (which is disabled because not supported by Qt for hardwares not supporting SSE2), everything else should work as in the usual build of MuseScore. Similarly to the Nightly builds, I added a batch file to launch the program and the "special" folder for the script for factory reset.

I am closing this bug as "won't fix" because unfortunately the fix does not depend on MuseScore. The only thing we can do is disabling the whole plugin framework (as should happen in the build from the link above) for the no-SSE2 version.