OutOfMemoryError when streaming iTunes library

For help and support with Universal Media Server
Forum rules
Please make sure you follow the Problem Reporting Guidelines before posting if you want a reply
Post Reply
minneyar
Posts: 1
Joined: Mon Nov 05, 2012 5:31 pm

OutOfMemoryError when streaming iTunes library

Post by minneyar »

First, I'm using Windows 7 x64 with a Core 2 Duo CPU and 4 GB of RAM. I've tried using Universal Media Server 2.0 and PS3 Media Server 1.70 and they both had the same results. I've also tried using 32-bit Java 1.6.0_20 and 64-bit Java 1.7.0_09, again with the same results for both.

Anyway, I'm trying to share my iTunes music library with my PS3, and it works except that memory usage grows incredibly fast when it's streaming. According to task manager, UMS takes up about 500 MB of RAM when it initially starts, and it stays at around that level as long as it's idle, but it grows rapidly as soon as I begin playing music. After playing maybe 7 or 8 songs at most, the memory usage is over 1.3 GB, and pretty soon I start seeing "OutOfMemoryError: Java heap space" in the log file and playback fails. Here's what a few of the exceptions look like:

Code: Select all

INFO  2012-11-05 00:12:41.205 [pool-834-thread-3] Exception in thread "pool-834-thread-3" java.lang.OutOfMemoryError: Java heap space
INFO  2012-11-05 00:12:41.205 [pool-834-thread-3] 	at java.util.Arrays.copyOfRange(Unknown Source)
INFO  2012-11-05 00:12:41.205 [pool-834-thread-3] 	at java.lang.String.<init>(Unknown Source)
INFO  2012-11-05 00:12:41.205 [pool-834-thread-3] 	at java.lang.String.substring(Unknown Source)
INFO  2012-11-05 00:12:41.205 [pool-834-thread-3] 	at net.pms.dlna.LibMediaInfoParser.parse(LibMediaInfoParser.java:78)
INFO  2012-11-05 00:12:41.205 [pool-834-thread-3] 	at net.pms.configuration.FormatConfiguration.parse(FormatConfiguration.java:83)
INFO  2012-11-05 00:12:41.205 [pool-834-thread-3] 	at net.pms.formats.Format.parse(Format.java:218)
INFO  2012-11-05 00:12:41.205 [pool-834-thread-3] 	at net.pms.dlna.RealFile.resolve(RealFile.java:177)
INFO  2012-11-05 00:12:41.205 [pool-834-thread-3] 	at net.pms.dlna.DLNAResource.run(DLNAResource.java:804)
INFO  2012-11-05 00:12:41.205 [pool-834-thread-3] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
INFO  2012-11-05 00:12:41.205 [pool-834-thread-3] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
INFO  2012-11-05 00:12:41.205 [pool-834-thread-3] 	at java.lang.Thread.run(Unknown Source)
INFO  2012-11-05 00:12:43.705 [pool-834-thread-1] Exception in thread "pool-834-thread-1" java.lang.OutOfMemoryError: Java heap space
INFO  2012-11-05 00:12:43.705 [pool-834-thread-1] 	at java.util.Arrays.copyOfRange(Unknown Source)
INFO  2012-11-05 00:12:43.705 [pool-834-thread-1] 	at java.lang.String.<init>(Unknown Source)
INFO  2012-11-05 00:12:43.706 [pool-834-thread-1] 	at java.lang.String.substring(Unknown Source)
INFO  2012-11-05 00:12:43.706 [pool-834-thread-1] 	at net.pms.dlna.LibMediaInfoParser.parse(LibMediaInfoParser.java:78)
INFO  2012-11-05 00:12:43.706 [pool-834-thread-1] 	at net.pms.configuration.FormatConfiguration.parse(FormatConfiguration.java:83)
INFO  2012-11-05 00:12:43.706 [pool-834-thread-1] 	at net.pms.formats.Format.parse(Format.java:218)
INFO  2012-11-05 00:12:43.706 [pool-834-thread-1] 	at net.pms.dlna.RealFile.resolve(RealFile.java:177)
INFO  2012-11-05 00:12:43.706 [pool-834-thread-1] 	at net.pms.dlna.DLNAResource.run(DLNAResource.java:804)
INFO  2012-11-05 00:12:43.707 [pool-834-thread-1] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
INFO  2012-11-05 00:12:43.707 [pool-834-thread-1] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
INFO  2012-11-05 00:12:43.707 [pool-834-thread-1] 	at java.lang.Thread.run(Unknown Source)
I've tried setting the -Xmx flag to as high as 1536m and all it does is delay how long it takes for everything to crash. I've tried disabling all of the plugins and encoders other than the ones used for audio, and I've tried sharing nothing but my iTunes library, and it doesn't have any effect. The PS3 is the only client actually streaming anything from UMS, although my TV also has a built-in DLNA client that I can see pop up in the log file. I can only guess that there must be some kind of huge memory leak going on, but I'm not sure what else I can do about it. Is it trying to transcode my entire library and store it in memory all at the same time or something? Any other ideas? I've attached an example debug log and my config files.
Attachments
ums_dbg.zip
(41.96 KiB) Downloaded 412 times
Post Reply