[kaffe] Problems with eXist database

Dalibor Topic robilad@kaffe.org
Fri Sep 26 08:16:02 2003


Hi Hakon,

Hakon G wrote:
> Hi!
> I have met new problems when trying to run the eXist database server under Kaffe (tonight's cvs build).
> When I pass a query to eXist by calling it's http server at http://localhost:8081/?_xpath=document(*)/contacts/contact[/name/*='Alice']
> the browser just goes on and on loading, but there's never a response. This is wat comes at the console output:
> 
> 24 Sep 2003 20:47:54,540 [Thread-3] INFO  (HttpServer.java [run ]:118) - connection from localhost.localdomain
> 24 Sep 2003 20:47:54,542 [Thread-4] DEBUG (HttpServerConnection.java [processParameters ]:827) - _xpath=document(*)/contacts/contact[/name/*='Alice']
> 24 Sep 2003 20:47:54,543 [Thread-4] DEBUG (HttpServerConnection.java [processParameters ]:858) - parameter: _xpath = document(*)/contacts/contact[/name/*='Alice']
> 24 Sep 2003 20:47:54,545 [Thread-4] DEBUG (NativeBroker.java [getAllDocuments ]:448) - loading 4 documents from 5collections took 1ms.
> 24 Sep 2003 20:47:54,547 [Thread-4] INFO  (HttpServerConnection.java [search ]:1149) - query: (//child::contacts/child::contact[((child::name/child::element())='Alice')])
> 24 Sep 2003 20:47:54,548 [Thread-4] DEBUG (NativeBroker.java [findElementsByTagName ]:413) - found contacts: 1 in 0ms.
> 24 Sep 2003 20:47:54,550 [Thread-4] DEBUG (NativeBroker.java [findElementsByTagName ]:413) - found contact: 126 in 1ms.
> 24 Sep 2003 20:47:54,552 [Thread-4] DEBUG (NativeBroker.java [findElementsByTagName ]:413) - found name: 126 in 0ms.
> 24 Sep 2003 20:47:54,604 [Thread-4] DEBUG (NativeBroker.java [getNodesEqualTo ]:1040) - searching 270 nodes took 26ms.
> 24 Sep 2003 20:47:54,649 [Thread-4] DEBUG (HttpServerConnection.java [search ]:1162) - evaluation took 101ms.
> java.lang.NoClassDefFoundError: Lsun/io/CharToByteConverter;
>    at org.apache.xml.serialize.Encodings.getEncodingInfo (source file unknown)
>    at org.apache.xml.serialize.OutputFormat.getEncodingInfo (source file unknown)
>    at org.apache.xml.serialize.BaseMarkupSerializer.prepare (source file unknown)
>    at org.apache.xml.serialize.BaseMarkupSerializer.startDocument (source file unknown)
>    at org.exist.storage.serializers.XIncludeFilter.startDocument (XIncludeFilter.java:130)
>    at org.exist.storage.serializers.NativeSerializer.serializeToSAX (NativeSerializer.java:106)
>    at org.exist.storage.serializers.Serializer.serialize (Serializer.java:366)
>    at org.exist.http.HttpServerConnection.printAll (HttpServerConnection.java:623)
>    at org.exist.http.HttpServerConnection.search (HttpServerConnection.java:1173)
>    at org.exist.http.HttpServerConnection.doGet (HttpServerConnection.java:220)
>    at org.exist.http.HttpServerConnection.get (HttpServerConnection.java:547)
>    at org.exist.http.HttpServerConnection.run (HttpServerConnection.java:1085)

This seems to be a bug in
org.apache.xml.serialize.Encodings: it's using some internal class from 
something from Sun, sun/io/CharToByteConverter. The trouble with code 
using suns internal classes is that it's broken by design. 
Unfortunately, the XML serialization in eXist doesn't have debugging 
information from the code, so I can't really tell you where to start 
looking to see if you can fix it, beside looking at the getEncodingInfo 
method in org.apache.xml.serialize.Encodings .

The class comes from Xerces, so I've CC:ed both the developers from 
Xerces and eXist on this issue.

cheers,
dalibor topic