Page 1 of 1

Issue with 0x0 chars via DLNA

PostPosted: Sun Dec 01, 2024 3:51 am
by Shekesh
Hello =)
when I browse my music collection (mp3) on Serviio via DLNA I see the following error in console when selecting certain folders / playlists. The browsing then just ends with no result. It only happens in certain folders. So far my attempts to finding the problematic files with the NULL bytes were not successfull. When browsing the same collections via MediaBrowser I don't get this issue.

I'm using
- Serviio version 2.4
- on docker (via https://hub.docker.com/r/soerentsch/serviio)
- with an mp3 collection & m3u playlists

  Code:
[ContentDirectory] Browse for object id A_PL^PL*26 failed with exception: javax.xml.transform.TransformerException: org.xml.sax.SAXException: An invalid XML character (Unicode: 0x0) was found in the node's character data content.
java.lang.RuntimeException: javax.xml.transform.TransformerException: org.xml.sax.SAXException: An invalid XML character (Unicode: 0x0) was found in the node's character data content.
        at org.serviio.util.XmlUtils.getStringFromDocument(XmlUtils.java:85) ~[serviio.jar:?]
        at org.serviio.upnp.service.contentdirectory.ContentDirectory.setupSuccessfulResult(ContentDirectory.java:372) ~[serviio.jar:?]
        at org.serviio.upnp.service.contentdirectory.ContentDirectory.Browse(ContentDirectory.java:165) ~[serviio.jar:?]
        at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
        at org.serviio.upnp.protocol.soap.ServiceInvoker.invokeOperation(ServiceInvoker.java:214) ~[serviio.jar:?]
        at org.serviio.upnp.protocol.soap.ServiceInvoker.invokeService(ServiceInvoker.java:75) ~[serviio.jar:?]
        at org.serviio.upnp.webserver.ServiceControlRequestHandler.handleRequest(ServiceControlRequestHandler.java:65) ~[serviio.jar:?]
        at org.serviio.upnp.webserver.AbstractRequestHandler.handle(AbstractRequestHandler.java:66) ~[serviio.jar:?]
        at org.apache.http.protocol.HttpService.doService(HttpService.java:437) ~[httpcore.jar:4.4.14]
        at org.serviio.upnp.webserver.ServiioHttpService.doService(ServiioHttpService.java:78) ~[serviio.jar:?]
        at org.apache.http.protocol.HttpService.handleRequest(HttpService.java:342) ~[httpcore.jar:4.4.14]
        at org.serviio.upnp.webserver.WebServer$WorkerThread.run(WebServer.java:204) ~[serviio.jar:?]
Caused by: javax.xml.transform.TransformerException: org.xml.sax.SAXException: An invalid XML character (Unicode: 0x0) was found in the node's character data content.
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:792) ~[?:?]
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:394) ~[?:?]
        at org.serviio.util.XmlUtils.getStringFromDocument(XmlUtils.java:83) ~[serviio.jar:?]
        ... 12 more
Caused by: org.xml.sax.SAXException: An invalid XML character (Unicode: 0x0) was found in the node's character data content.
        at com.sun.org.apache.xml.internal.serializer.ToStream.accumDefaultEscape(ToStream.java:1749) ~[?:?]
        at com.sun.org.apache.xml.internal.serializer.ToStream.processDirty(ToStream.java:1644) ~[?:?]
        at com.sun.org.apache.xml.internal.serializer.ToStream.outputCharacters(ToStream.java:1504) ~[?:?]
        at com.sun.org.apache.xml.internal.serializer.ToStream.characters(ToStream.java:1404) ~[?:?]
        at com.sun.org.apache.xml.internal.serializer.ToUnknownStream.characters(ToUnknownStream.java:723) ~[?:?]
        at com.sun.org.apache.xml.internal.serializer.ToUnknownStream.characters(ToUnknownStream.java:307) ~[?:?]
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:243) ~[?:?]
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:229) ~[?:?]
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:229) ~[?:?]
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:229) ~[?:?]
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:134) ~[?:?]
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:96) ~[?:?]
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:718) ~[?:?]
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:780) ~[?:?]
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:394) ~[?:?]
        at org.serviio.util.XmlUtils.getStringFromDocument(XmlUtils.java:83) ~[serviio.jar:?]
        ... 12 more


Is there any chance this error could be handled in Serviio or alternatively does anyone have any idea how to find the problematic source files?

Thank you in advance.

Re: Issue with 0x0 chars via DLNA

PostPosted: Sat Dec 28, 2024 7:48 pm
by soerentsch
Hello Shekesh :-)

on which plattform did you run your docker container?
the java version depends on the platform (openjdk8-jre (32bit) / openjdk22-jre (64bit)).

Regards & happy Holidays
Soeren

Re: Issue with 0x0 chars via DLNA

PostPosted: Sun Jan 12, 2025 8:14 am
by Shekesh
Hello Soeren :) ,

I'm sorry for the late reply. I must have missed the notification.

I'm running it on NixOS (64 bit AMD CPU).

Best Regards,

Shekesh