beaTunes v5 EA1 crash - OutOfMemoryError while analyzing
Hi,
When analysing my library with beaTunes v5 EA1 it crashes. Looking at the logs I can see the following error:
2017-05-30 12:41:36,261 [3144267] [ERROR][AnalysisQueueWorker-1] com.tagtraum.beatunes.analysisqueue.AnalysisTaskWorker: OutOfMemoryError while analyzing. java.lang.OutOfMemoryError: Java heap space at com.tagtraum.jipes.audio.AudioBufferFunctions$AudioBufferMapFunction.map(AudioBufferFunctions.java:241) at com.tagtraum.jipes.audio.AudioBufferFunctions$AudioBufferMapFunction.map(AudioBufferFunctions.java:229) at com.tagtraum.jipes.universal.Mapping.processNext(Mapping.java:62) at com.tagtraum.jipes.AbstractSignalProcessor.process(AbstractSignalProcessor.java:123) at com.tagtraum.jipes.SignalProcessorSupport.process(SignalProcessorSupport.java:144) at com.tagtraum.jipes.SignalProcessorSupport.process(SignalProcessorSupport.java:117) at com.tagtraum.jipes.AbstractSignalProcessor.process(AbstractSignalProcessor.java:124) at com.tagtraum.jipes.SignalProcessorSupport.process(SignalProcessorSupport.java:144) at com.tagtraum.jipes.SignalProcessorSupport.process(SignalProcessorSupport.java:129) at com.tagtraum.jipes.audio.InterleavedChannelSplit.process(InterleavedChannelSplit.java:76) at com.tagtraum.jipes.audio.InterleavedChannelSplit.process(InterleavedChannelSplit.java:28) at com.tagtraum.jipes.SignalPump.process(SignalPump.java:176) at com.tagtraum.jipes.SignalPump.pump(SignalPump.java:143) at com.tagtraum.beatunes.analysis.AudioPumpAnalysisTask.a(SourceFile:273) at com.tagtraum.beatunes.analysis.AudioPumpAnalysisTask.runBefore(SourceFile:148) at com.tagtraum.beatunes.analysis.Task.run(SourceFile:745) at com.tagtraum.beatunes.analysis.Task.run(SourceFile:753) at com.tagtraum.beatunes.analysisqueue.AnalysisTaskWorker.a(SourceFile:150) at com.tagtraum.beatunes.analysisqueue.AnalysisTaskWorker$$Lambda$771/299453965.call(Unknown Source) at com.tagtraum.beatunes.library.AbstractMusicLibrary.serialExecute(SourceFile:242) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.tagtraum.core.wrap.WrappingProxyFactory$TunesLibraryInvocationHandler.a(SourceFile:66) at com.tagtraum.core.wrap.WrappingProxyFactory$TunesLibraryInvocationHandler.invoke(SourceFile:59) at com.sun.proxy.$Proxy4.serialExecute(Unknown Source) at com.tagtraum.beatunes.analysisqueue.AnalysisTaskWorker.run(SourceFile:1125) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 2017-05-30 12:41:36,261 [3144267] [ERROR][AnalysisQueueWorker-1] com.tagtraum.beatunes.BeaTunes: OutOfMemoryError java.lang.OutOfMemoryError: Java heap space at com.tagtraum.jipes.audio.AudioBufferFunctions$AudioBufferMapFunction.map(AudioBufferFunctions.java:241) at com.tagtraum.jipes.audio.AudioBufferFunctions$AudioBufferMapFunction.map(AudioBufferFunctions.java:229) at com.tagtraum.jipes.universal.Mapping.processNext(Mapping.java:62) at com.tagtraum.jipes.AbstractSignalProcessor.process(AbstractSignalProcessor.java:123) at com.tagtraum.jipes.SignalProcessorSupport.process(SignalProcessorSupport.java:144) at com.tagtraum.jipes.SignalProcessorSupport.process(SignalProcessorSupport.java:117) at com.tagtraum.jipes.AbstractSignalProcessor.process(AbstractSignalProcessor.java:124) at com.tagtraum.jipes.SignalProcessorSupport.process(SignalProcessorSupport.java:144) at com.tagtraum.jipes.SignalProcessorSupport.process(SignalProcessorSupport.java:129) at com.tagtraum.jipes.audio.InterleavedChannelSplit.process(InterleavedChannelSplit.java:76) at com.tagtraum.jipes.audio.InterleavedChannelSplit.process(InterleavedChannelSplit.java:28) at com.tagtraum.jipes.SignalPump.process(SignalPump.java:176) at com.tagtraum.jipes.SignalPump.pump(SignalPump.java:143) at com.tagtraum.beatunes.analysis.AudioPumpAnalysisTask.a(SourceFile:273) at com.tagtraum.beatunes.analysis.AudioPumpAnalysisTask.runBefore(SourceFile:148) at com.tagtraum.beatunes.analysis.Task.run(SourceFile:745) at com.tagtraum.beatunes.analysis.Task.run(SourceFile:753) at com.tagtraum.beatunes.analysisqueue.AnalysisTaskWorker.a(SourceFile:150) at com.tagtraum.beatunes.analysisqueue.AnalysisTaskWorker$$Lambda$771/299453965.call(Unknown Source) at com.tagtraum.beatunes.library.AbstractMusicLibrary.serialExecute(SourceFile:242) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.tagtraum.core.wrap.WrappingProxyFactory$TunesLibraryInvocationHandler.a(SourceFile:66) at com.tagtraum.core.wrap.WrappingProxyFactory$TunesLibraryInvocationHandler.invoke(SourceFile:59) at com.sun.proxy.$Proxy4.serialExecute(Unknown Source) at com.tagtraum.beatunes.analysisqueue.AnalysisTaskWorker.run(SourceFile:1125) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
Running this on a Windows 10 Creators Update. Intel Core i7-4770K w/ 16GB RAM.
Let me know if you need any more info.
Thanks,
Olly
Showing page 2 out of 2. View the first page
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
Support Staff 31 Posted by hendrik on 31 May, 2017 05:07 PM
The changes I mentioned are now in there. If you're interested, please try out https://www.beatunes.com/download/beaTunes-5-0-0-EA2-SNAPSHOT-x64.exe
If you do, please stop beaTunes before running the installer. Please also delete that heap dump the last run generated. Otherwise, should there be another OOME (OutOfMemoryError), the dump will not be written.
It may make sense to check how iTunes behaves after just a few minutes of running beaTunes. Or even try to set a BPM value manually in beaTunes without running the analysis. The change should show up in iTunes pretty much right away—if things are working the way they should.
32 Posted by Olly Ainger on 31 May, 2017 08:29 PM
I've gotten iTunes to hang again whilst analysing but not sure why, it
seemed to correlate with me clicking on it after leaving it idle for about
and hour. It looks like beaTunes was still happily interfacing with iTunes
up until that point according to procmon, metadata itc2 files were being
updated by iTunes.
iTunes did a ton of registry queries for audio devices right before it
hung. I will try leaving iTunes open tomorrow and then click on it after an
hour of it being idle to see if the issue still occurs without beaTunes
running as this is starting to feel more like an iTunes issue.
33 Posted by evansthompson on 31 May, 2017 09:38 PM
FWIW, I'm on macOS with 16 GB RAM. I've allocated 4 o beaTunes and run 3 threads. Memory usage according to beaTunes | About is around 40-42%, which is higher than v4 was.
Support Staff 34 Posted by hendrik on 01 Jun, 2017 06:52 AM
Sounds like a good idea.
Support Staff 35 Posted by hendrik on 01 Jun, 2017 06:54 AM
Memory usage during analysis depends on the tasks you selected. Instrumentation and key use much larger models in v5, which leads to more memory consumption. This is to be expected, but it should be "too" much. EA2 will be better behaved.
36 Posted by Olly Ainger on 01 Jun, 2017 12:10 PM
I've left iTunes running for half a day and it's still responsive.
There must be something causing it to hang when beaTunes is updating the
metadata but can't see anything obvious at the moment.
Support Staff 37 Posted by hendrik on 01 Jun, 2017 02:00 PM
Thanks for testing!
FYI: I just pushed EA2 out. See http://blog.beatunes.com/2017/06/beatunes-5-ea2.html
38 Posted by Olly Ainger on 01 Jun, 2017 02:32 PM
Thanks - I will try that now.