Out Of Memory Problems (> 2 Gb Used In A Song) + Plugins

system : w7 x64 (updated to latest), 8gig ram, i7 2600k, renoise b7

i was working on my track for a while and loaded a new instance of stylus rmx, it made a nasty crashes like i had last time, so out of despair and about to abandon that plugin i skipped it and loaded nexus…SAME CRASH… so it was not stylus rmx after all…

tried to save my work and BAM crash again, wtf ? :

the error message tipped me off, i checked my memory usage of renoise and it was hitting 2.1gb, i unloaded one vst to lower the memory usage and then i could save fine, go figure…

please tell me i didn’t hit some sort of memory usage celling for renoise ?

update : i reloaded the song that was hitting 2.1gb just before and with a fresh start it takes about 1gb memory… is there something leaking ?

relevant log file dump:

Application: Saving ‘hermione_badgirl.xrns’…

Application: ‘hermione_badgirl.xrns’ was successfully saved.

VstPlugs: Trying to instantiate D:\VST_plugins\iZotope Alloy.dll
VstPlugs: Analyzing VST plugin ‘iZotope: Alloy’, Unique ID:1517176172, Version:2400
VstPlugs: Instantiate OK

VstPlugs: Trying to instantiate D:\VST_plugins\spectrasonics\StylusRMX.dll
VstPlugs: Analyzing VST plugin ‘Spectrasonics: StylusRMX’, Unique ID:1400142157, Version:2400
VstPlugs: Instantiate OK

VstPlugs: Caught exception in VSTPlug::Dispatch

Warning Message: Ouch. The VST plugin ‘Spectrasonics: StylusRMX (from Spectrasonics)’ crashed in VST event/function: ‘Dispatch’, Thread: ‘GUI’
Warning Message: IMPORTANT: This is a fatal error. Please save the current document under a !new! name to prevent losing important data. Renoise will silently ignore any following errors from this plug-in.
Warning Message: DO NOT IGNORE THIS ERROR; DO NOT CONTINUE USING THE PLUGIN. THIS CAN DESTROY YOUR SONG OR CAUSE OTHER RANDOM CRASHES AND PROBLEMS!
Warning Message: It’s most likely that this is a bug in the VST plugin, so please report this problem to the authors of this plugin in order to get the problem fixed!

VstPlugs: Releasing D:\VST_plugins\spectrasonics\StylusRMX.dll…
VstPlugs: D:\VST_plugins\spectrasonics\StylusRMX.dll was released

VstPlugs: Trying to instantiate D:\VST_plugins\Nexus 2\Nexus.dll

VstPlugs: Analyzing VST plugin ‘reFX: Nexus’, Unique ID:1313167445, Version:2400
VstPlugs: Instantiate OK
VstPlugs: Caught exception in VSTPlug::Dispatch

Warning Message: Ouch. The VST plugin ‘reFX: Nexus (from reFX)’ crashed in VST event/function: ‘Dispatch’, Thread: ‘GUI’
Warning Message: IMPORTANT: This is a fatal error. Please save the current document under a !new! name to prevent losing important data. Renoise will silently ignore any following errors from this plug-in.
Warning Message: DO NOT IGNORE THIS ERROR; DO NOT CONTINUE USING THE PLUGIN. THIS CAN DESTROY YOUR SONG OR CAUSE OTHER RANDOM CRASHES AND PROBLEMS!
Warning Message: It’s most likely that this is a bug in the VST plugin, so please report this problem to the authors of this plugin in order to get the problem fixed!

Application: Saving ‘hermione_badgirl.xrns’…

Exception: Out of Memory! Please try to free up some memory and try again.
Exception: Failed to parse the XML document (Out of Memory! Please try to free up some memory and try again.)!

Error Message: Document validation failed with the error:
Error Message: Failed to parse the XML document (Out of Memory! Please try to free up some memory and try again.)!

Error Message: Failed to validate the document ‘D:\My\Musics\hermione_badgirl.xrns’.
Error Message: It’s recommended that you try saving the document again under a new name.

Application: ‘hermione_badgirl.xrns’ could not be saved!

VstPlugs: Releasing D:\VST_plugins\Nexus 2\Nexus.dll…
VstPlugs: D:\VST_plugins\Nexus 2\Nexus.dll was released

Application: Saving ‘hermione_badgirl.xrns’…

Application: ‘hermione_badgirl.xrns’ was successfully saved.

Application: Exit…

Shut down: Stopped the Player

MIDI: Loading MIDI actions from file ‘D:\apps\Renoise2\Scripts\GlobalMidiActions.lua’…

Osc: Loading OSC actions from file ‘D:\apps\Renoise2\Scripts\GlobalOscActions.lua’…

Player: Constructing…
Player: Creating the slave threads…
Player: Start running…

GUI: Creating the Document GUI…
GUI: Successfully constructed

VstPlugs: Releasing D:\VST_plugins\iZotope Nectar.dll…
VstPlugs: D:\VST_plugins\iZotope Nectar.dll was released
VstPlugs: Releasing D:\VST_plugins\Filterbank3\FilterBank3 FX.dll…
VstPlugs: D:\VST_plugins\Filterbank3\FilterBank3 FX.dll was released
VstPlugs: Releasing D:\VST_plugins\iZotope Alloy.dll…
VstPlugs: D:\VST_plugins\iZotope Alloy.dll was released
VstPlugs: Releasing D:\VST_plugins\iZotope Alloy.dll…
VstPlugs: D:\VST_plugins\iZotope Alloy.dll was released
VstPlugs: Releasing D:\VST_plugins\Filterbank3\FilterBank3 FX.dll…
VstPlugs: D:\VST_plugins\Filterbank3\FilterBank3 FX.dll was released
VstPlugs: Releasing D:\VST_plugins\iZotope Ozone 4.dll…
VstPlugs: D:\VST_plugins\iZotope Ozone 4.dll was released
VstPlugs: Releasing D:\VST_plugins\spectrasonics\StylusRMX.dll…
VstPlugs: D:\VST_plugins\spectrasonics\StylusRMX.dll was released
VstPlugs: Releasing D:\VST_plugins\spectrasonics\Trilian.dll…
VstPlugs: D:\VST_plugins\spectrasonics\Trilian.dll was released
VstPlugs: Releasing D:\VST_plugins\spectrasonics\Omnisphere.dll…
VstPlugs: D:\VST_plugins\spectrasonics\Omnisphere.dll was released
VstPlugs: Releasing D:\VST_plugins\spectrasonics\Trilian.dll…
VstPlugs: D:\VST_plugins\spectrasonics\Trilian.dll was released
VstPlugs: Releasing D:\VST_plugins\spectrasonics\StylusRMX.dll…
VstPlugs: D:\VST_plugins\spectrasonics\StylusRMX.dll was released
VstPlugs: Releasing D:\VST_plugins\spectrasonics\Omnisphere.dll…
VstPlugs: D:\VST_plugins\spectrasonics\Omnisphere.dll was released
VstPlugs: Releasing D:\VST_plugins\spectrasonics\StylusRMX.dll…
VstPlugs: D:\VST_plugins\spectrasonics\StylusRMX.dll was released
VstPlugs: Releasing D:\VST_plugins\spectrasonics\StylusRMX.dll…
VstPlugs: D:\VST_plugins\spectrasonics\StylusRMX.dll was released
VstPlugs: Releasing D:\VST_plugins\spectrasonics\Trilian.dll…
VstPlugs: D:\VST_plugins\spectrasonics\Trilian.dll was released
VstPlugs: Releasing D:\VST_plugins\spectrasonics\Omnisphere.dll…
VstPlugs: D:\VST_plugins\spectrasonics\Omnisphere.dll was released

Shut down: Released the old Document

MIDI: Shut down: Closing all acquired MIDI devices…
MIDI: Closing MME Midi-In device ‘microKEY 1 KEYBOARD’
MIDI: Shutting down DirectMusic…

Shut down: Stopped and released all MIDI-Devices

ASIO: Stop Polling…
ASIO: Releasing Creative ASIO…

Shut down: Stopped and released the active Audio-Device
Shut down: Destroyed the Player
Shut down: Destroyed the Window and all Views
Shut down: Destroyed the Document
Shut down: Saving the preferences

GraphPort: Releasing DirectX…

Shut down: Destroyed the GraphPort
Shut down: Destroyed the Preferences
Shut down: App is down

Application: Exit OK
Application: Finalizing the API…

Quicktime: Shutting down…

Closing log file…

No leaking, but undo stuff and sorts also hog up some memory.
Renoise remains a 32-bit application so it doesn’t really get over 2GB of memory (it gets 4GB at most and in that space Renoise has to do everything, including all the processing and undoing).
It simply looks like a memory limitation that can only be solved with a 64-bit version of Renoise.

I know that kind of bug (in other sequencer too) if I CHANGED a sound in a samplebased VTS or AU-plug-in.
Some plug-ins don´t give back the whole memory (unload sounddata) from the now unused sound. So the sound you loaded but not used actually will use free memoryspace.

The memory will only then cleared if you load the song again, or close the host - because reload / closing the host will mostly (and normaly) clean up the whole memory. (Not at all by some 64-bit systems, because a 64-bit adressing-memoryproblem)
And while new loading, the unused sounds / samples then will not be loaded again.

Same problem sometimes with virtuall memory that sometimes will not be cleared by changing big samplesound and a programm handles it like a RAM-Sound.

This effects are often a problem of the PlugIn, not the host´s. (I know a bug like that from some YellowTool-Plugs and older UVI-Engines with a buggy stream-programming).

I think, this effect can be the problem you talking about … In this case I do´nt really think, that this is a problem of renoise. Sounds like a typicall Sample-based Plug-problem.

OR: Some Appl. hold sounds back for UNDO- but they have to hold only the adress of the sample, then it´s lika a little bug.

damn only 2gb ? i thought i would get close to 4 to use with renoise… don’t tell me all 32bits running programs eats on the same memory space even in a x64 environment with 8gig ?

no, each 32bit program in a 64bit enironment can address “its” 2 gigabites, but remember that another issue exsists, which is called “memory fragmentation”: even if there is enough RAM to load the instrument, it has to be a consecutive amount of RAM. if your plugin needs to allocate 100MB but there are only two distinct blocks of 50MB available, it won’t be able to allocate the memory.

k good to know, i guess instead of reloading a new instance of the plugin i’ll use the alias vst instrument and use a new midi channel, that should save some rams :)

Thought it was meant to be more like 3.2GB, no?

so why only 2gb for renoise in “memory (private working set)” :) ?

I think the the point is best made with this sum:

[4GB]
load Renoise
load plugins / instruments /fx plugins
process lots of stuff
remove instruments (plugins / samples based)
remove fx
load other plugins
process lots of stuff
remove instruments (plugins / samples based)
remove fx
etc
______________+
Memory fragmentation [2GB]

You said Renoise complained about memory when it was only using 2.1GB
When you reloaded the song, Renoise only needed 1GB for it, that means over 50% of the memory that was used so far was already fragmented.
Consider the possible fact that when Renoise was using this 2.1GB in the taskmanager memory monitor, there might have been 1.9GB fragmented memory rendered unusable. (that’s also nearly 50%)

You might want to try one of these tools next time you wander against these problems:
http://download.cnet…4-10851069.html

thanks, i always thought the memory defrag were kinda useless…

Well yes they are:
http://www.bitsum.com/winmemboost.htm

But if it would enable you to save a song without errors, a memory optimizer will save your butt.

I found one that also has a 64-bit variant btw:
http://www.pcwintech.com/cleanmem

Two other memorytips (these also work for Windows 7):
http://www.howtogeek.com/howto/windows-vista/change-superfetch-to-only-cache-system-boot-files-in-vista/
http://www.howtogeek.com/howto/windows-vista/how-to-disable-superfetch-on-windows-vista/