Upon quit MuseScore stayed in memory

• Maa 23, 2009 - 21:36

{I've reported this issue in passing on the feature request forum, and now that I've understood the software better and have tested more thoroughly...}

I try quitting either from File > Quit or by clicked the X on the window (and answer the dialog to save if needed). In either case, task manager show the mscore.exe remained in memory and not released. This happens every time. If I start MuseScore again without deleting the old process, it just starts up another mscore.exe process!

Why do I have to keep quitting and restarting? To test new soundfonts! It becomes a pain even after 2 days, to have to delete every time... :-(

My system: r1667. Windows XP Home SP1, it reported Pentium 4 CPU 3.00GHz, 1.00 GB RAM.
Sibelius and other programs do not have this problem. (Except OpenOffice, which keeps a part resident for faster re-access, same as Office.)


Comments

Do you have access to another computer you can try MuseScore on? (Just to see if the same thing happens on any other computer).

As a side note any reason you are still on SP1?

In reply to by David Bolton

I tried this on a public computer, and it works correctly. So that means other people may not encounter the same issue. But the same two termination method works there, so it's not user error either...

What is interesting, though, is that I noticed memory footprint to be significantly less on that other computer! (And I thought MuseScore was already good on memory utilization on my PC...) So I have made a separate post http://musescore.org/en/node/1386, to see memory usage for others. If my PC uses significantly more, that may be related to the termination issue... (the size of the difference can't be attributed to differences in Service Pack levels alone.)

In reply to by newsong4life

Thanks to David Bolton and lasconic who posted their memory usage footprint (so far). I'm correlating that my nearly doubled memory footprint with the faulty installation. Still musing over (pardon the pun) why when muse disables its sequencer, then I can quit without leaving process behind...

In reply to by newsong4life

What do you mean by "Muse disables its sequencer"? What method are you using to disable the sequencer?

Have you ever tried resetting all the MuseScore preferences by going to Start > Run and typing mscore -F

Customary Warning: resetting the preferences removes any changes you have made in the preference panel or to the F9 palette.

In reply to by David Bolton

First, thanks David for the tip. I don't want to spam the forum, but I found the results interesting and potentially useful for you all to figure out further what happened...

1) I tried mscore -F, and it was restored to default, with default piano1.sf2 and demo. It played OK. Memory footprint was 45MB. Better than before! I quit, it still remained in memory.
2) I tried starting the old way, it got started with soundfont file not found, and thus it popped up the message "xxx not found; sequencer is disabled", and I press OK. I loaded the demo, and it shows only 34MB! I quit, and as before, it quit successfully, removing itself from memory.
3) I tried mscore -F again, and this time the memory usage is 35MB!

In other words, the first time mscore -F reduced footprint by about 1/2 of what should be reduced. Then even when I run using the old method, the 2nd time it's run, the memory footprint is reduced to what you all had been experiencing...

So, I've now got memory usage back to normal. But why? And why reseting only got back 1/2 the lost memory the first time? Why does it take 2 runs to take back the lost memory? It's the first time I've seen software behaving like this.

Regardless, now the issue is to find a workaround for the .exe remaining in memory...

In reply to by newsong4life

I have had the same problem with nightly builds and the prerelease beta for some time know. Resetting the defaults does not help in this case. I was told before that it cannot be reproduced so it must be my problem. Well it is the only piece of software I have this problem with. I am fast finding that no matter how much I like the software otherwise I am going to have to abandon it. I simply cannot deal with having to force quit the process every time I use it. This would in my estimatiomn be a shame since there are many things I like about the product and the quality of finished score it produces.

Regards
Keith

In reply to by David Bolton

David;
Using Windows XP Professional SP3. I will more than happily try the latest nightly and hopefully I can put this to bed. It has been a thorn in my side for a while now.

just tried the latest nightly and we are part way there. Entering File/Quit still does not close the process as it should. However if you hit the big red X in the upper right corner it does kill the process. This I can live with for the time being, though it does raise some interesting questions.

In reply to by keith.n.mckenna

Keith/David & Others,

I shared similar sentiments - It's a shame there were minor things that I wished fixed and I would use it, as there were many good stuffs I like, despite a few critical issues that remained unfixed for 1 year...

Anyway, I found the problem after I left, but in the interest of others, I'll post... My system was also XP, and it has to do with timeouts. It turns out in my case, it takes exactly 4 minutes before Musescore finally quits after a timeout. Now, I assume anyone will consider that excessive. But try it for yourself...

Reason why I discovered it was that I was running another audio program once, and that program gave me some diagnostic message that allows me to trace the problem to MuseScore, and then 4 minutes later, that warning message disappeared. Since that was repeatable, I finally realized what was going on.

Hope this helps the project...

In reply to by newsong4life

newsongsforlife;
I tried it and after 6 minutes+ it still was active in task manger so I cannot confirm your thoughts. However since since using the x on upper right does close out everything I am able to continue to use it. It still may be a timeout problem and it may not be an exact repeatable time on all systems. I will leave it for the technical guru's to sort out and will be more than willing to test any fixes they come up with. Since I can reliably get it to close both the window and the underlying process for know I am happy.

Regards
Keith

I compiled a "debug" version of MuseScore that may (or may not) help diagnose the problem.
http://prereleases.musescore.org/windows/nightly/mscore-debug.7z

After you download the file you will need to decompress the file using 7-Zip (as explained on the Windows nightly builds page ). Inside is a single file called mscore.exe.

I don't know if you are familiar with using the command prompt or not but I'll try to explain the steps in case you aren't. The "debug" version displays some messages in a separate "command prompt" window but in order to see these messages after you exit MuseScore you need open the "command prompt" ahead of time.

  1. Right click on mscore.exe and choose "Properties". Leave this window open so that you can refer to the Location in step 5 below
  2. Press Windows Key+R
  3. In the Run dialog type: cmd
  4. Click "OK"
  5. Take a look at the command prompt window you just opened. On the last line is a directory location followed by ">" and a blinking cursor. You need to change the directory location to the Location displayed in Properties window you opened in step 1. Type cd followed by the location in quotation marks. For example if the file is on your desktop it might look like: cd "C:\Documents and Settings\USERNAME\Desktop"
  6. If you typed cd followed by the location without any spelling mistakes you should see the new location in front of the blinking cursor. Now start the debug version of MuseScore by typing: mscore.exe
  7. Since all we are interested in is what happens when MuseScore quits choose File > Quit
  8. In the command prompt is some new text that the debug version created. Please share the contents of this text on the forum. Copying text from the command prompt is different from any other program in Windows so the remaining steps describe this procedure
  9. Right click on the command prompt window and choose "Mark"
  10. Click and drag to select the text. Make sure you get all the text
  11. Press Enter. The text is now copied
  12. Return to this forum and paste the text via the normal methods (Edit > Paste)

For comparison this is the text I got:

C:\Users\David\Desktop>mscore.exe
Constructor
Cannot connect to named pipe = \\.\pipe\server_jack_default_0 err = 2
Cannot connect to server pipe
Cannot connect to the server
Open error: is jack server running?
Init midi driver failed
preferences.checkUpdateStartup: 72
lastupdate: 23.02.2010 00:13:45.062
pm_winmm_term called
pm_winmm_term exiting

In reply to by David Bolton

David;
I ran the debug version as you requested and the results are as follows

C:\Program Files\mscoreNightly\bin>mscore
Init midi driver failed
preferences.checkUpdateStartup: 72
lastupdate: 23.02.2010 12:03:18.636
pm_winmm_term called
pm_winmm_term exiting

With this the mscore process remained active in the task manager. One thing I can verify is that when it cannot find the sound font and it turns playback off it does properly close the process when doing a file/quit. I hope that this provides some clues. Anything else that cando to help debug this problem please do not hesitate to ask..

Regards
Keith

In reply to by David Bolton

David;
Here is he detail from running the debug version with the -d cmd line argument.

C:\Program Files\mscoreNightly\bin>mscore -d
global share:
configured localeName
real localeName
load translator
load translator from
load translator failed
using PortAudio Version: PortAudio V19-devel
Init midi driver failed
load soundfont
printer DPI 600.000000(600) display PDPI 120.000000(120) DPMM 23.622047
LibraryPath:
MuseScore::changeState: STATE_DISABLED
Plugin Path
Register Plugin
add Menu
add action
Register Plugin
add action
Register Plugin
add action
Register Plugin
add action
Register Plugin
add action
Register Plugin
add action
Register Plugin
add action
Register Plugin
add action
Register Plugin
add action
Register Plugin
add action
Register Plugin
add action
start event loop...
preferences.checkUpdateStartup: 72
lastupdate: 23.02.2010 17:27:36.540
MuseScore::cmd
Stop I/O
pm_winmm_term called
pm_winmm_term exiting

I will also add that until you manually kill the mscore process from the tsk manager cmd.exe window freezes and cannot be closed without also doing a force kill. once mscore process is killed cmd.exe is released to thelly. command prompt and can by exited gracefully.
Anything else I can do please let me know.

Regards
Keith

In reply to by keith.n.mckenna

I reproduce this on windows XP using the nightly build r2784 and mscore.exe from the debug package david provides.
MuseScore is blocked with "Begin closing open devices".
This message is generated by PortMidi on exit.

I took a look to the MIDI devices installed on this computer. One of them was Maple Virtual Midi Cable. I uninstalled it. Reboot (asked by the uninstall procedure) and run MuseScore again. No more problem!
Other device was an USB to MIDI driver and does not cause problem.

I use LoopBe1 on vista for the same purpose than Maple and I don't have problems on close.

So question to Keith and other experimenting this issue, do you have some midi devices installed? Can you give a list?
To find out, if you use a beta version of 0.9.6, there is a list of your midi devices in Preferences -> I/O.

In reply to by lasconic

Lasconic, I think you hit the jackpot... Congrats!

I did not try the beta, but since I do use another Virtual MIDI cable (not Maple), and this correlates with what I found previously (I noticed the behavior because other programs were also having similar issues, but to lesser extent, and one program specifically also pointed out this timeout issue in their diagnostic), I think you are right on.

It may be interesting to note that during this one year, another program which used to have the next largest timeout of about 30 sec. have now reduced it to only a few seconds. (To be fair, that program is probably the most common open-source program available, and has automatic updates.) So now every program I have on this computer, other than MuseScore, has acceptable timeouts so it appears that the programs exit properly.

Hopefully MuseScore will be able to finally solve this issue.

In reply to by David Bolton

Sorry, David, my system is on a deathbed; I don't really want any minor or major operations on it at this time as it may just die...
As I said, another program's diagnostic said essentially the same thing, so I am confident lasconic's observation is valid on my system too. I did not run the beta.
I installed that long time ago; I forgot whether it is MIDIox or MIDIYoke or, most likely, I looked and found this from the system device manager: Sonic Foundry Virtual MIDI Router (x86) and Virtual Audio Cable. I did remember I registered and downloaded from the Sony site - it requires you to have Sonic Foundry to download. And I also have tried either MIDIox or MIDIYoke, but I didn't remember what I did with them - I probably uninstalled them already...
Hope this limited information helps.

In reply to by lasconic

Lasconic;
Sorry it took so long to reply, I have been sick. Musascore only lists the midi mapper and the Soundmax soundcard.owever I do have another device on this system. I have the yamaha XG50 doftsynth insatalled. In fact i have midi mapper set to it. This could be the problem. What is realy weird though is If I force muscesore to go with the soundmax instead of the mapper, it still exhibits the same problem. If I change the mappping in control panel to the standard ms wave table it still exhibits the same problem. It IS NOT an option to uninstall the xG50 soft synth. I can try installing my SoundBlaster Live usb synth and see if it has any effect.

Regards
Keith

Do you still have an unanswered question? Please log in first to post your question.