Fatal Error: The Java VM ran out of memory

ernest pressley's Avatar

ernest pressley

07 Dec, 2009 12:46 AM

I have over 120,000 tracks in my Itunes dir, when I ran the program it runs for a while and then displays this error.

  1. 1 Posted by ernest1ovr0 on 07 Dec, 2009 12:52 AM

    ernest1ovr0's Avatar

    I am currently using the lates version of both Beatunes and Itunes....

    --- On Sun, 12/6/09, beaTunes <[email blocked]> wrote:

    From: beaTunes <[email blocked]>
    Subject: Fatal Error: The Java VM ran out of memory
    To: [email blocked]
    Date: Sunday, December 6, 2009, 4:46 PM

    Hey ernest pressley,

    thanks for your email. It's been added to the queue and I'll be taking a look as soon as I can.
    Usually, I try and respond to requests within 24 hours.

    Based on your email, our helpdesk system believes you should check out the following articles in our FAQ:
     
      - "I updated to iTunes 9 and now I am getting a NullPointerException" at http://beatunes.tenderapp.com/faqs/troubleshooting/i-updated-to-itunes-9-and-now-i-am-getting-a-nullpointerexception
     

    If this email is about a beaTunes bug, please make sure you let me know, which versions of beaTunes and iTunes you are using. Also, please let me know, what operating system version you are using.

    I'll send an email to you (at [email blocked]) when I update your request.

    Thank you!

    tagtraum industries incorporated
    http://www.beaTunes.com/
    http://www.tagtraum.com/

  2. Support Staff 2 Posted by hendrik on 07 Dec, 2009 12:04 PM

    hendrik's Avatar

    Hi Ernest,

    thanks you for your mail. Can you please send me your logs?

    They are in:

    OS X: ~/Library/Logs/beaTunes
    Vista: C:\Users\USERNAME\.beaTunes\logs
    XP: 'C:\Documents and Settings\USERNAME.beaTunes\logs

    Please simply zip the whole folder before sending the files.

    Thank you!

    -hendrik

  3. 3 Posted by contractcooker on 24 Dec, 2009 03:18 PM

    contractcooker's Avatar

    I am having the same issue in OSX. Attached are my log files.

  4. Support Staff 4 Posted by hendrik on 24 Dec, 2009 04:18 PM

    hendrik's Avatar

    Hi Contractcooker,

    you can probably avoid the problem, by either reducing the number of parallel tasks to 1 (in the analysis preferences) or reducing the accurateness slider in the BPM analysis options to 0.5-0.75 instead of 1 (this in only possible to tracks newly added to the queue).

    If you don't mind more memory consumption, i.e. you have lots of RAM, there is also another way to grant beaTunes more memory.

    Hope this helps,

    -hendrik

  5. 5 Posted by contractcooker on 24 Dec, 2009 08:36 PM

    contractcooker's Avatar

    What is the "other" way to grant beaTunes more memory? I have 4GB of ram.

  6. Support Staff 6 Posted by hendrik on 24 Dec, 2009 11:31 PM

    hendrik's Avatar

    The "other" way is:

    * CTRL click on the beaTunes app in Finder
    * select "Show Package Contents"
    * open the folder "Contents"
    * open the file "Info.plist.template" with TextEdit
    * find the string ${vm.memory.heap.max} and replace it with an actual
    value in megabytes, e.g. "800m" (without the quotes)
    * start and stop beaTunes (this will rewrite the actual "Info.plist")
    * then start using beaTunes.

    If you still encounter OutOfMemoryErrors, you can increase that value
    again, e.g. to "1000m" - currently it's probably at 384m.

    Hope this helps,

    -hendrk

  7. Support Staff 7 Posted by hendrik on 28 Dec, 2009 03:21 PM

    hendrik's Avatar

    Hi Contractcooker,

    did this solve your issue?

    I forgot to mention in that last post, that of course you have to save that template before you start and stop beaTunes...

    Thanks,

    -hendrik

  8. 8 Posted by Thomas Barron on 28 Dec, 2009 05:08 PM

    Thomas Barron's Avatar

    Hello Hendrik
    I haven't had a chance to test it yet but on my next analysis I will test it
    and let you know how it goes.

    thank you for your support!
    TB

  9. Support Staff 9 Posted by hendrik on 28 Dec, 2009 06:12 PM

    hendrik's Avatar

    Thank, Thomas.

  10. 10 Posted by Steve Jalapeno on 07 Jan, 2010 05:10 PM

    Steve Jalapeno's Avatar

    Henrik, i had the same issue and i've made the script update and its now working fine.

    Thanks, Steve

  11. Support Staff 11 Posted by hendrik on 07 Jan, 2010 05:21 PM

    hendrik's Avatar

    Cool.

  12. 12 Posted by Kelly on 05 Jun, 2011 10:08 PM

    Kelly's Avatar

    Hello, I am a new MAC user getting the same error. I am also older than dirt and expect things to work when I click on them. Of the solutions above, which should I try first. If I can't figure it out, am I up a creek?

  13. Support Staff 13 Posted by hendrik on 06 Jun, 2011 07:32 AM

    hendrik's Avatar

    Hi Kelly,

    if you've seen that error only once, don't do anything.
    If it comes up more than once, please let me know, how many songs you have in your collection and when the message came up? Was it during analysis?

    Thanks,

    -hendrik

  14. 14 Posted by bigbadbenny67 on 20 Jun, 2011 12:06 AM

    bigbadbenny67's Avatar

    @ hendrik: thanks for the tip - so far it's working with success on 80,000 song analysis :-)

    I wanted to allocate up to 8GB to Beatunes, (running 8 x processes) after making a back up copy of the Info.plist.template I did a little research on java vm's to get the edit right.
    The whole line to edit is: (just to be clear for n00bs like myself:-)
    "-Xms${vm.memory.heap.min} -Xmx${vm.memory.heap.max} -ea -" Which looks like:
    "-Xms${vm.memory.heap.min} -Xmx8000m -ea -" for allowing (in my case) 8Gb. I'm using a 4 core 2.8 Mac Pro 5,1 with 24GB ram and Beatunes is using 7.8GB, looking up data online. Thanks!

  15. Support Staff 15 Posted by hendrik on 22 Jun, 2011 10:25 AM

    hendrik's Avatar

    Hey,

    just FYI - you probably don't need that much memory. On the other hand - if you have it...

    -hendrik

  16. 16 Posted by bigbadbenny67 on 22 Jun, 2011 01:08 PM

    bigbadbenny67's Avatar

    Hi there!
    Sure thing - in fact I upped it to 12GB just to see what happens!
    I'm smashing my 1TB iTunes library with Beatunes overnight, unattended
    - so I'm comfortable dedicating most system resources if required.
    It's using all the memory just for the "looking up online resources" sequence.
    Back to 3GB for 8x analysis processing.
    Alas the Mac crashed (not Beatunes related) 1/3rd into analysis, I
    moved the big DB file and am starting the whole process again. (I kept
    the 6GB DB file but I'm assuming its useless?)
    Other than cloning the whole system, is there a way to backup and or
    restore this DB file? - if it can be damaged by a system crash, I'd
    like to be able to restore it without re-analysing the entire library.
    Also I saw the support forum post about tweaking Java prefs,I changed
    mine to discrete processes and moved the temp to my fast scratch disk.
    Can you recommend any other Beatunes tweaks for a reasonably balanced
    performance Mac Pro? To summarise: 4 core/ 8 thread, 6G SSD for
    boot/home, 24GB ram, 550Mbs raid0 scratch. RAMdisk?
    Anyhow, I'll summarize my progress (sans the bitching:-) with a follow
    up post, thanks again.
    PS
    Another Q I have is "is there a way to filter out files that Beatunes
    doesnt like?"
    There are a few files with obscure extensions that cause a dialogue
    box to pop up, possibly pausing analysis, but I couldnt "see" them in
    the "kind" column. Cheers, Ben

  17. 17 Posted by bigbadbenny67 on 03 Jul, 2011 12:23 AM

    bigbadbenny67's Avatar

    Hello Hendrik
    I restarted the analysis, with various playlists by kind, and started
    by analyzing the .mp3's.
    The process was 99% done and I had another crash which led to hanging
    on splash screen on restart. The problem was related to a podcast .mp3
    file.
    I renamed the database file and started again with podcasts disallowed
    in preferences.

    Multiple questions below around two themes: prevention and recovery.

    My question is: can I use my Time Machine backup to restore that database file?
    How to check that my 2 older possibly corrupt databases are in fact useless?
    Is there a way to check my library for any incompatible files prior to
    running Beatunes?
    Are there any strategies for recovering from these apparently
    unavoidable crashes due to incompatible files?
    Is it possible to have multiple databases, e.g. for different file
    types, categories etc?

    I'd hate to have to start again, again, again...
    Or am I missing something fundamental?
    I'll send you the logs next week if req'd.

    My MacPro has the separated Home folder from Boot (system and apps)
    schema so another strategy might be to work from cloned images of my
    Home folder, with a new clone made before each stage of the process.
    Assuming I get through mp3's ( -podcasts) successfully, that's exactly
    what I'll do...

    Thanks, Ben

  18. Support Staff 18 Posted by hendrik on 04 Jul, 2011 03:46 PM

    hendrik's Avatar

    Hi Ben,

    first of all:

    Disallowing file types in the analysis preferences only has an effect when analyzing all or new tracks and only if it is checked before you start the analysis.

    Regarding restoring:

    The beaTunes database file is like any other file. You can certainly try to use Time Machine to restore it. However, a copy of the file when beaTunes was not running is probably the smartest bet.

    There is no protection from these seemingly unavoidable crashes. But I love to hear about them and if you send me the offending files along with your logs (http://help.beatunes.com/kb/troubleshooting/where-are-the-beatunes-...) I'd be happy to try to reproduce the issue in order to find a fix. Logs only make sense, when harvested right after the crash and before you run beaTunes again.

    beaTunes 3 supports two different kinds of libraries:

    • directory based (this has nothing to do with iTunes)
    • iTunes library based (one database for each iTunes library)

    You can create new libraries in the beaTunes General Preferences.
    New iTunes libraries can be created following the steps described in http://support.apple.com/kb/HT1589

    Hope this helps,

    -hendrik

  19. 19 Posted by bigbadbenny67 on 05 Jul, 2011 11:10 AM

    bigbadbenny67's Avatar

    That sure does!
    Yes - I'd like to strategise a safe approach to beaTuning large music
    collections.
    Here's a start:

    Step 1: In beaTunes or iTunes break your collection down into
    playlists or libraries, based on file type, genre and so on, so that
    organizing your library can be done in manageable chunks. Aim for no
    more than e.g: 5000 songs per playlist (approx 6 hours on dual
    cores/processes).

    Step 2: Find your beaTunes database file located here:
    /Users/BBB/Library/Application Support/beaTunes and use e.g: rsync to
    make a backup.

    Step 3: Start analyzing your music, playlist by playlist, beginning
    with these suggested minimal analysis settings - exclude everything
    but music - don't use online resources etc.

    Should you experience a beaTunes crash or hang, after force quitting,
    *do not* unlock database option on app restart and review these pages
    at beaTunes support for java vm and java preferences etc system
    tweaks. Unlocking the database file may be considered a last resort in
    restarting a stalled analysis.

    In the event that beaTunes cannot be restarted, please zip your log
    files and send to beaTunes support (instructions here) restore your
    last good database file, repair permissions, reboot and restart
    beaTunes being ready to take a note of any beaTunes notifications
    about corrupt files that may need deletion/attention before resuming
    analysis.

    Let me know if there's any major inaccuracies stated :-)

    I'll research the best method to backup and restore the database file.
    I'd like some advice on the best way to begin analysis in a quick, minimal way.
    There are so many choices - what are the crucial settings to get fast
    accurate useful results?

    Thanks, Ben

  20. Support Staff 20 Posted by hendrik on 05 Jul, 2011 11:43 AM

    hendrik's Avatar

    Hi Ben,

    unlocking the database is actually not a bad thing - most of the time it's simply not necessary and can be a waste of time.

    Analysis time depends very heavily on what analysis tasks you want beaTunes to execute. You estimate may therefore be off by a lot.

    Regarding Analysis Options settings:

    "use online resources": if checked beaTunes first looks up values in the online database. If it finds the corresponding values, it does not analyze them. This is a potential time saver. However, you can't control how the values were computed. The database delivers values that were most often submitted or entered manually. Currently (July 5th 2011), key values from the database are most likely computed with the old algorithm. This should have changed in a couple of months.

    Detect silence: Turn this off - you probably don't want it and it takes a lot of time to compute.

    Replay gain: If you are not sure what this is for, turn it off. It takes a long time to compute and uses a lot of resources.

    BPM: Use the Rayshoot alg with precision set to a middle position and 70-140 BPM range pre-selected.

    Color: Do not embed the color. Retrieving color from online resources actually makes sense.

    MusicIP/AmpliFIND: Turn this off, unless you know you actually need it. Do not replace values! Replacing can cause more of a mess than you had before. Note that this has nothing to do with the other "use online resources" check boxes.

    Language: Turn this on. It hardly uses any resources.

    Lyrics: Depending on your connection speed, this may cause more or less time consumption. It does not use much computing resources. Note that this has nothing to do with the other "use online resources" check boxes.

    Other Preferences:

    In the general preferences, there is a checkbox for embedding non-iTunes fields (only available for iTunes libraries). You might want to turn this on, as it saves values like color, key, language etc. in the files themselves (if possible). This allows using those values from other apps. It also minimizes damages, should the beaTunes database become corrupted, as the values can be read in again (and will be read in again) when you are re-building your beaTunes database after deleting the database file.

    Cheers,

    -hendrik

  21. 21 Posted by bigbadbenny67 on 05 Jul, 2011 02:21 PM

    bigbadbenny67's Avatar

    OK AWESOME
    Thanks
    Looks really very close to my settings already

    I'll get back to you with an update regarding any success (if req'd)
    with backup/restore.
    Thanks again. Ben

  22. 22 Posted by Kim Plowright on 21 Aug, 2011 06:14 PM

    Kim Plowright's Avatar

    Same error message here.

    Logfiles attached, also screenshots of error and memory usage at the time of the error (I had left it unattended, so this might not be entirely accurate!).

    I'll try working through some of the suggestions above when I have a few moments.

  23. Support Staff 23 Posted by hendrik on 21 Aug, 2011 07:40 PM

    hendrik's Avatar

    Kim,

    please simply reduce the number of parallel tasks beaTunes is executing by one.
    You can do so in the beaTunes preferences, i.e. the analysis pane.

    -hendrik

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:

»

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac