NumberFormatException at LibMediaInfoParser.java

Developers forum for Univeral Media Server-related development (only for programmers)
Post Reply
Fenzor
Posts: 20
Joined: Fri Apr 12, 2013 5:03 am
Location: Trondheim, Norway

NumberFormatException at LibMediaInfoParser.java

Post by Fenzor »

Hi, this is my first post in this forum. ;)
English is not my native languge... Just sayin' ;P

When accessing av folder with some .mp3 files UMS crashes.
Reading the debug.log i notice this line:
DEBUG 2013-04-11 18:36:16.869 [New I/O server worker #1-13] Could not parse year "utc 2012-08-16 07:00:00"

Searching through the codebase, i found this write-out happening in file: LibMediaInfoParser.java @ line 177

And obviously "utc 2012-08-16 07:00:00" does cast NumberFormatException...

I'm using MediaInfo-library version: MediaInfoLib - v0.7.61

This is debug.log:

Code: Select all

INFO  2013-04-11 18:33:39.078 [main] GUI environment not available
INFO  2013-04-11 18:33:39.080 [main] Switching to console mode
INFO  2013-04-11 18:33:39.096 [main] Starting Universal Media Server 2.3.0
INFO  2013-04-11 18:33:39.096 [main] Based on PS3 Media Server by shagrath, copyright 2008-2012
INFO  2013-04-11 18:33:39.096 [main] http://www.universalmediaserver.com
INFO  2013-04-11 18:33:39.096 [main] 
INFO  2013-04-11 18:33:39.097 [main] Build: 9b53c6688 (2013-01-27)
INFO  2013-04-11 18:33:39.097 [main] Java: 1.7.0_17-Oracle Corporation
INFO  2013-04-11 18:33:39.097 [main] OS: Linux 64-bit 3.2.0-38-generic
INFO  2013-04-11 18:33:39.097 [main] Encoding: UTF-8
INFO  2013-04-11 18:33:39.097 [main] Memory: 682 MB
INFO  2013-04-11 18:33:39.098 [main] 
INFO  2013-04-11 18:33:39.098 [main] Working directory: /home/adminsen/ums-2.3.0
INFO  2013-04-11 18:33:39.106 [main] Temp directory: /tmp/universalmediaserver
INFO  2013-04-11 18:33:39.106 [main] Logging config file: /home/adminsen/ums-2.3.0/logback.headless.xml
INFO  2013-04-11 18:33:39.107 [main] debug.log: /home/adminsen/ums-2.3.0/debug.log
INFO  2013-04-11 18:33:39.107 [main] 
INFO  2013-04-11 18:33:39.107 [main] Profile directory: /home/adminsen/ums-2.3.0
INFO  2013-04-11 18:33:39.107 [main] Profile path: /home/adminsen/ums-2.3.0/UMS.conf
INFO  2013-04-11 18:33:39.108 [main] Profile permissions: rw
INFO  2013-04-11 18:33:39.108 [main] Profile name: abel
INFO  2013-04-11 18:33:39.108 [main] 
INFO  2013-04-11 18:33:39.171 [main] Loading MediaInfo library
INFO  2013-04-11 18:33:39.225 [main] Loaded MediaInfoLib - v0.7.61
INFO  2013-04-11 18:33:39.245 [main] Loading renderer configurations from /home/adminsen/ums-2.3.0/renderers
INFO  2013-04-11 18:33:39.247 [main] Loading configuration file: PopcornHour.conf
INFO  2013-04-11 18:33:39.252 [main] Loading configuration file: iPad-iPhone.conf
INFO  2013-04-11 18:33:39.258 [main] Loading configuration file: BraviaEX620.conf
INFO  2013-04-11 18:33:39.269 [main] Loading configuration file: Showtime3.conf
INFO  2013-04-11 18:33:39.280 [main] Loading configuration file: Philips.conf
INFO  2013-04-11 18:33:39.285 [main] Loading configuration file: FreecomMusicPal.conf
INFO  2013-04-11 18:33:39.293 [main] Loading configuration file: OPPOBDP93.conf
INFO  2013-04-11 18:33:39.298 [main] Loading configuration file: XBOX360.conf
INFO  2013-04-11 18:33:39.307 [main] Loading configuration file: DLinkDSM510.conf
INFO  2013-04-11 18:33:39.318 [main] Loading configuration file: OPPOBDP83.conf
INFO  2013-04-11 18:33:39.322 [main] Loading configuration file: AirPlayer.conf
INFO  2013-04-11 18:33:39.332 [main] Loading configuration file: SMP-N100.conf
INFO  2013-04-11 18:33:39.339 [main] Loading configuration file: XBMC.conf
INFO  2013-04-11 18:33:39.342 [main] Loading configuration file: LGST600.conf
INFO  2013-04-11 18:33:39.350 [main] Loading configuration file: WMP.conf
INFO  2013-04-11 18:33:39.355 [main] Loading configuration file: Android.conf
INFO  2013-04-11 18:33:39.358 [main] Loading configuration file: Samsung-SMT-G7400.conf
INFO  2013-04-11 18:33:39.367 [main] Loading configuration file: Bravia4500.conf
INFO  2013-04-11 18:33:39.370 [main] Loading configuration file: Panasonic.conf
INFO  2013-04-11 18:33:39.378 [main] Loading configuration file: PhilipsPFL.conf
INFO  2013-04-11 18:33:39.387 [main] Loading configuration file: Bravia5500.conf
INFO  2013-04-11 18:33:39.391 [main] Loading configuration file: N900.conf
INFO  2013-04-11 18:33:39.394 [main] Loading configuration file: WDTVLive.conf
INFO  2013-04-11 18:33:39.397 [main] Loading configuration file: DirecTVHR.conf
INFO  2013-04-11 18:33:39.400 [main] Loading configuration file: YamahaRXV671.conf
INFO  2013-04-11 18:33:39.402 [main] Loading configuration file: SonyBluray.conf
INFO  2013-04-11 18:33:39.407 [main] Loading configuration file: PS3.conf
INFO  2013-04-11 18:33:39.415 [main] Loading configuration file: BraviaEX.conf
INFO  2013-04-11 18:33:39.420 [main] Loading configuration file: Streamium.conf
INFO  2013-04-11 18:33:39.422 [main] Loading configuration file: FreeboxHD.conf
INFO  2013-04-11 18:33:39.424 [main] Loading configuration file: SamsungAllShare.conf
INFO  2013-04-11 18:33:39.426 [main] Loading configuration file: VizioSmartTV.conf
INFO  2013-04-11 18:33:39.431 [main] Loading configuration file: Kuro.conf
INFO  2013-04-11 18:33:39.433 [main] Loading configuration file: SamsungWiseLink.conf
INFO  2013-04-11 18:33:39.436 [main] Loading configuration file: YamahaRXA1010.conf
INFO  2013-04-11 18:33:39.438 [main] Loading configuration file: Realtek.conf
INFO  2013-04-11 18:33:39.441 [main] Loading configuration file: BraviaHX.conf
INFO  2013-04-11 18:33:39.445 [main] Please wait while we check the MPlayer font cache, this can take a minute or so.
DEBUG 2013-04-11 18:33:39.446 [main] launching: mplayer
INFO  2013-04-11 18:33:41.436 [main] Finished checking the MPlayer font cache.
INFO  2013-04-11 18:33:41.484 [main] Searching for plugins in /home/adminsen/ums-2.3.0/plugins
INFO  2013-04-11 18:33:41.485 [main] No plugins found
INFO  2013-04-11 18:33:41.497 [main] Registering transcoding engine: FFmpeg Audio
INFO  2013-04-11 18:33:41.502 [main] Registering transcoding engine: MEncoder
INFO  2013-04-11 18:33:41.502 [main] Registering transcoding engine: FFmpeg
INFO  2013-04-11 18:33:41.502 [main] Registering transcoding engine: MPlayer Audio
INFO  2013-04-11 18:33:41.503 [main] Registering transcoding engine: FFmpeg Web Video
INFO  2013-04-11 18:33:41.503 [main] Registering transcoding engine: MEncoder Web
INFO  2013-04-11 18:33:41.503 [main] Registering transcoding engine: MPlayer Video Dump
INFO  2013-04-11 18:33:41.503 [main] Registering transcoding engine: MPlayer Web
INFO  2013-04-11 18:33:41.504 [main] Registering transcoding engine: tsMuxeR
INFO  2013-04-11 18:33:41.505 [main] Registering transcoding engine: Audio High Fidelity
INFO  2013-04-11 18:33:41.505 [main] Registering transcoding engine: VLC Audio Streaming
INFO  2013-04-11 18:33:41.505 [main] Registering transcoding engine: VLC Video Streaming
INFO  2013-04-11 18:33:41.505 [main] Registering transcoding engine: dcraw Thumbnailer
INFO  2013-04-11 18:33:41.515 [main] Using address /192.168.1.100 found on network interface: name:eth0 (eth0)
INFO  2013-04-11 18:33:41.516 [main] Created socket: /192.168.1.100:5001
INFO  2013-04-11 18:33:41.646 [main] Checking shared folder: /media/disk1/Filmer
INFO  2013-04-11 18:33:41.647 [main] Checking shared folder: /media/disk1/Musikk
INFO  2013-04-11 18:33:41.647 [main] Checking shared folder: /media/disk3/TV-Serier
INFO  2013-04-11 18:33:41.647 [main] Checking shared folder: /media/disk2/Video/other
INFO  2013-04-11 18:33:41.647 [main] Checking shared folder: /media/disk2/Video/Anime
DEBUG 2013-04-11 18:33:41.741 [main] Sending ALIVE...
INFO  2013-04-11 18:33:41.743 [main] Using the following UUID configured in UMS.conf: c9976810-5836-4ae0-a43b-4429091e842c
INFO  2013-04-11 18:33:45.136 [New I/O server worker #1-1] No IP filter specified, access granted to /192.168.1.169
DEBUG 2013-04-11 18:33:45.152 [New I/O server worker #1-1] HTTP User-Agent: UPnP/1.0
INFO  2013-04-11 18:33:45.152 [pool-4-thread-1] Checking IP: 192.168.1.169 for PlayStation 3
INFO  2013-04-11 18:33:47.105 [main] The server is now available for renderers to find
INFO  2013-04-11 18:33:50.299 [pool-4-thread-1] Renderer PlayStation 3 found on this address: 192.168.1.169
DEBUG 2013-04-11 18:33:50.310 [pool-4-thread-1] Starting ping -c 3 -s 64000 192.168.1.169
DEBUG 2013-04-11 18:33:50.312 [pool-4-thread-1] Unix process ID (ping): 13368
DEBUG 2013-04-11 18:33:50.314 [Thread-5] PING 192.168.1.169 (192.168.1.169) 64000(64028) bytes of data.
DEBUG 2013-04-11 18:33:50.315 [Thread-5] 64008 bytes from 192.168.1.169: icmp_req=1 ttl=255 time=2.05 ms
DEBUG 2013-04-11 18:33:51.316 [Thread-5] 64008 bytes from 192.168.1.169: icmp_req=2 ttl=255 time=2.06 ms
DEBUG 2013-04-11 18:33:52.310 [SpeedStats Failsafe] Stopping Unix process 13368: ping-0
INFO  2013-04-11 18:33:52.314 [pool-4-thread-1] Address /192.168.1.169 has an estimated network speed of: 512 Mb/s
DEBUG 2013-04-11 18:33:57.104 [UPNP-AliveMessageSender] Sending ALIVE...
DEBUG 2013-04-11 18:34:21.646 [UPNP-AliveMessageSender] Sending ALIVE...
INFO  2013-04-11 18:35:14.020 [UPNPHelper] No IP filter specified, access granted to /192.168.1.192
INFO  2013-04-11 18:36:13.987 [New I/O server worker #1-6] Checking shared folder: /media/disk1/Filmer
INFO  2013-04-11 18:36:13.988 [New I/O server worker #1-6] Checking shared folder: /media/disk1/Musikk
INFO  2013-04-11 18:36:13.989 [New I/O server worker #1-6] Checking shared folder: /media/disk3/TV-Serier
INFO  2013-04-11 18:36:13.989 [New I/O server worker #1-6] Checking shared folder: /media/disk2/Video/other
INFO  2013-04-11 18:36:13.990 [New I/O server worker #1-6] Checking shared folder: /media/disk2/Video/Anime
DEBUG 2013-04-11 18:36:16.869 [New I/O server worker #1-13] Could not parse year "utc 2012-08-16 07:00:00"
This is an excerpt from the Java Runtime Error-log:

Code: Select all

Stack: [0x00007ff4d879d000,0x00007ff4d899e000],  sp=0x00007ff4d87030e0,  free space=18014398509481368k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [jna5765782051788065647.tmp+0x6bd6]  newJavaString+0x1b6
j  com.sun.jna.Pointer._getString(JZ)Ljava/lang/String;+0
j  com.sun.jna.Pointer.getString(JZ)Ljava/lang/String;+7
j  com.sun.jna.Function.invokeString(I[Ljava/lang/Object;Z)Ljava/lang/String;+24
j  com.sun.jna.Function.invoke([Ljava/lang/Object;Ljava/lang/Class;Z)Ljava/lang/Object;+557
j  com.sun.jna.Function.invoke(Ljava/lang/Class;[Ljava/lang/Object;Ljava/util/Map;)Ljava/lang/Object;+214
j  com.sun.jna.Library$Handler.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;+341
j  net.pms.dlna.$Proxy0.Inform(Lcom/sun/jna/Pointer;)Lcom/sun/jna/WString;+16
j  net.pms.dlna.MediaInfo.Inform()Ljava/lang/String;+7
j  net.pms.dlna.LibMediaInfoParser.parse(Lnet/pms/dlna/DLNAMediaInfo;Lnet/pms/dlna/InputFile;I)V+41
j  net.pms.configuration.FormatConfiguration.parse(Lnet/pms/dlna/DLNAMediaInfo;Lnet/pms/dlna/InputFile;Lnet/pms/formats/Format;I)V+92
j  net.pms.formats.Format.parse(Lnet/pms/dlna/DLNAMediaInfo;Lnet/pms/dlna/InputFile;ILnet/pms/configuration/RendererConfiguration;)V+22
j  net.pms.dlna.RealFile.resolve()V+237
j  net.pms.dlna.DLNAResource.run()V+8
j  net.pms.dlna.RealFile.isValid()Z+108
j  net.pms.dlna.DLNAResource.addChild(Lnet/pms/dlna/DLNAResource;)V+78
j  net.pms.dlna.MapFile.manageFile(Ljava/io/File;Ljava/lang/String;)V+373
j  net.pms.dlna.MapFile.analyzeChildren(I)Z+111
j  net.pms.dlna.DLNAResource.discoverWithRenderer(Lnet/pms/configuration/RendererConfiguration;IZLjava/lang/String;)V+109
j  net.pms.dlna.DLNAResource.getDLNAResources(Ljava/lang/String;ZIILnet/pms/configuration/RendererConfiguration;Ljava/lang/String;)Ljava/util/List;+65
j  net.pms.network.RequestV2.answer(Lorg/jboss/netty/handler/codec/http/HttpResponse;Lorg/jboss/netty/channel/MessageEvent;ZLnet/pms/external/StartStopListenerDelegate;)Lorg/jboss/netty/channel/ChannelFuture;+3437
j  net.pms.network.RequestHandlerV2.writeResponse(Lorg/jboss/netty/channel/MessageEvent;Lnet/pms/network/RequestV2;Ljava/net/InetAddress;)V+209
j  net.pms.network.RequestHandlerV2.messageReceived(Lorg/jboss/netty/channel/ChannelHandlerContext;Lorg/jboss/netty/channel/MessageEvent;)V+1604
j  org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(Lorg/jboss/netty/channel/ChannelHandlerContext;Lorg/jboss/netty/channel/ChannelEvent;)V+13
j  org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Lorg/jboss/netty/channel/DefaultChannelPipeline$DefaultChannelHandlerContext;Lorg/jboss/netty/channel/ChannelEvent;)V+9
j  org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(Lorg/jboss/netty/channel/ChannelEvent;)V+22
j  org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(Lorg/jboss/netty/channel/ChannelHandlerContext;Lorg/jboss/netty/channel/ChannelEvent;)V+82
j  org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Lorg/jboss/netty/channel/DefaultChannelPipeline$DefaultChannelHandlerContext;Lorg/jboss/netty/channel/ChannelEvent;)V+9
j  org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(Lorg/jboss/netty/channel/ChannelEvent;)V+22
j  org.jboss.netty.handler.codec.http.HttpChunkAggregator.messageReceived(Lorg/jboss/netty/channel/ChannelHandlerContext;Lorg/jboss/netty/channel/MessageEvent;)V+155
j  org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(Lorg/jboss/netty/channel/ChannelHandlerContext;Lorg/jboss/netty/channel/ChannelEvent;)V+13
j  org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Lorg/jboss/netty/channel/DefaultChannelPipeline$DefaultChannelHandlerContext;Lorg/jboss/netty/channel/ChannelEvent;)V+9
j  org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(Lorg/jboss/netty/channel/ChannelEvent;)V+22
j  org.jboss.netty.channel.Channels.fireMessageReceived(Lorg/jboss/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/net/SocketAddress;)V+16
j  org.jboss.netty.handler.codec.replay.ReplayingDecoder.unfoldAndFireMessageReceived(Lorg/jboss/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/net/SocketAddress;)V+114
j  org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(Lorg/jboss/netty/channel/ChannelHandlerContext;Lorg/jboss/netty/channel/Channel;Lorg/jboss/netty/buffer/ChannelBuffer;Ljava/net/SocketAddress;)V+178
j  org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(Lorg/jboss/netty/channel/ChannelHandlerContext;Lorg/jboss/netty/channel/MessageEvent;)V+78
j  org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(Lorg/jboss/netty/channel/ChannelHandlerContext;Lorg/jboss/netty/channel/ChannelEvent;)V+13
j  org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Lorg/jboss/netty/channel/DefaultChannelPipeline$DefaultChannelHandlerContext;Lorg/jboss/netty/channel/ChannelEvent;)V+9
j  org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Lorg/jboss/netty/channel/ChannelEvent;)V+44
j  org.jboss.netty.channel.Channels.fireMessageReceived(Lorg/jboss/netty/channel/Channel;Ljava/lang/Object;Ljava/net/SocketAddress;)V+16
j  org.jboss.netty.channel.Channels.fireMessageReceived(Lorg/jboss/netty/channel/Channel;Ljava/lang/Object;)V+3
j  org.jboss.netty.channel.socket.nio.NioWorker.read(Ljava/nio/channels/SelectionKey;)Z+178
j  org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(Ljava/util/Set;)V+52
j  org.jboss.netty.channel.socket.nio.NioWorker.run()V+93
j  org.jboss.netty.util.ThreadRenamingRunnable.run()V+55
j  org.jboss.netty.util.internal.DeadLockProofWorker$1.run()V+14
j  java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+95
j  java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub
V  [libjvm.so+0x551945]  JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0x355
V  [libjvm.so+0x550468]  JavaCalls::call(JavaValue*, methodHandle, JavaCallArguments*, Thread*)+0x28
V  [libjvm.so+0x5506fc]  JavaCalls::call_virtual(JavaValue*, KlassHandle, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x17c
V  [libjvm.so+0x550827]  JavaCalls::call_virtual(JavaValue*, Handle, KlassHandle, Symbol*, Symbol*, Thread*)+0x47
V  [libjvm.so+0x5ab0ef]  thread_entry(JavaThread*, Thread*)+0xdf
V  [libjvm.so+0x8651b8]  JavaThread::thread_main_inner()+0xc8
V  [libjvm.so+0x865308]  JavaThread::run()+0x138
V  [libjvm.so+0x746cf0]  java_start(Thread*)+0x100
All help is appreciated...

Edit*
- Something tells me that it doesn't read the field "Recorded date" from mediainfo, but instead "File creation date"/"File last modification date" or something like that... (Because of the formated string "utc 2012-08...", and so on)
Haven't tested this out properly yet.
- Changed MediaInfoParser.java to LibMediaInfoParser.java and updated line number. (The problem is still present in version 2.6.0 of UMS)
User avatar
SubJunk
Lead Developer
Posts: 3707
Joined: Sun May 27, 2012 4:12 pm

Re: NumberFormatException at LibMediaInfoParser.java

Post by SubJunk »

Hi Fenzor, thanks for the thorough report :) It seems that your MP3 files have incorrect data stored in them, since that field should only contain 4 digits (a year), not the full date
Anyway I've tried to make a workaround that will extract the year from that field, please test it: http://www.spirton.com/uploads/UMS/UMS-Fenzor.exe
Fenzor
Posts: 20
Joined: Fri Apr 12, 2013 5:03 am
Location: Trondheim, Norway

Re: NumberFormatException at LibMediaInfoParser.java

Post by Fenzor »

Thanks for the help. :D Now i have to find a way to get version 2.4.0 and up to function properly on my linux server... :P (Which i may post about in a new thread)
Post Reply