-<xlog server="chat.freenode.net" channel="#existdb" date="2008-04-11">
<part host="81-196-83-67.bucuresti.cablelink.ro" login="n=thor" nick="rebelThor" reason="Remote closed the connection" time="01:27:21.257+01:00"/>
<part host="d51A5A557.access.telenet.be" login="i=Mephisto" nick="Mephisto" reason="" time="06:00:52.856+01:00"/>
<join host="81-208-83-237.fastres.net" login="n=[giulio]" nick="[giulio]" time="08:08:04.021+01:00"/>
<join host="62.232.6.162" login="n=XIRCProx" nick="perig" time="08:22:49.954+01:00"/>
<part host="ua-83-227-136-141.cust.bredbandsbolaget.se" login="n=ljo" nick="ljo" reason="Read error: 104 (Connection reset by peer)" time="08:31:28.328+01:00"/>
<message nick="perig" time="08:38:13.799+01:00">.</message>
<join host="c2cpc3.camptocamp.com" login="n=fxprunay" nick="Fxprunayre" time="08:48:54.228+01:00"/>
<join host="sve157.svenska.gu.se" login="n=ljo" nick="ljo" time="09:02:44.035+01:00"/>
<part host="sve157.svenska.gu.se" login="n=ljo" nick="ljo" reason="Remote closed the connection" time="09:18:56.316+01:00"/>
<join host="sve157.svenska.gu.se" login="n=ljo" nick="ljo" time="09:21:30.045+01:00"/>
<join host="p5B20E1AE.dip.t-dialin.net" login="n=wolf" nick="wolf77" time="10:03:23.238+01:00"/>
<join host="81-196-83-67.bucuresti.cablelink.ro" login="n=thor" nick="rebelThor" time="10:37:35.355+01:00"/>
<part host="external.murkworks.com" login="n=bkc" nick="bkc" reason="zelazny.freenode.net irc.freenode.net" time="10:58:14.848+01:00"/>
<part host="boombaby.specto.nl" login="n=moby" nick="MoBy" reason="zelazny.freenode.net irc.freenode.net" time="10:58:15.019+01:00"/>
<part host="68.236.111.126" login="n=ryan" nick="cakeface_" reason="zelazny.freenode.net irc.freenode.net" time="10:58:15.039+01:00"/>
<join host="external.murkworks.com" login="n=bkc" nick="bkc" time="10:58:51.088+01:00"/>
<join host="boombaby.specto.nl" login="n=moby" nick="MoBy" time="10:58:51.108+01:00"/>
<join host="68.236.111.126" login="n=ryan" nick="cakeface_" time="10:58:51.138+01:00"/>
<part host="62.232.6.162" login="n=XIRCProx" nick="perig" time="11:22:03.549+01:00"/>
<message nick="ljo" time="11:37:12.984+01:00">.</message>
<join host="193.50.79.129" login="n=julien" nick="alke" time="12:21:11.107+01:00"/>
<part host="193.50.79.129" login="n=julien" nick="alke" reason="" time="14:16:55.729+01:00"/>
<part host="sve157.svenska.gu.se" login="n=ljo" nick="ljo" reason="Remote closed the connection" time="14:23:56.701+01:00"/>
<part host="68.236.111.126" login="n=ryan" nick="cakeface_" reason="" time="15:16:28.651+01:00"/>
<join host="81.196.83.67" login="n=thor" nick="rebelThor" time="15:32:54.57+01:00"/>
<join host="62.232.6.162" login="n=PircBot" nick="XDrone___" time="16:27:55.318+01:00"/>
<part host="boombaby.specto.nl" login="n=moby" nick="MoBy" time="16:32:25.855+01:00"/>
<part host="62.232.6.162" login="n=PircBot" nick="XDrone__" reason="Read error: 110 (Connection timed out)" time="16:40:57.48+01:00"/>
<part host="81-208-83-237.fastres.net" login="n=[giulio]" nick="[giulio]" reason="Read error: 104 (Connection reset by peer)" time="16:54:12.52+01:00"/>
<join host="p5B207007.dip.t-dialin.net" login="n=tom" nick="TomZ" time="18:56:05.953+01:00"/>
<part host="81.196.83.67" login="n=thor" nick="rebelThor" reason="Remote closed the connection" time="19:08:29.503+01:00"/>
<message nick="TomZ" time="19:22:28.833+01:00">Hello!</message>
<message nick="wolf77" time="19:26:04.966+01:00">Hi!</message>
<message nick="TomZ" time="19:28:46.566+01:00">Hello wolf77!</message>
<message nick="TomZ" time="19:29:21.103+01:00">I'm the one who can't delete files from eXist ...</message>
<message nick="wolf77" time="19:29:43.112+01:00">Yes, I recognized your nick</message>
<message nick="TomZ" time="19:29:47.058+01:00">I tried it at home with other Java and other Linux, but got the same errors</message>
<message nick="wolf77" time="19:30:31.388+01:00">Ok, let me have a look at the errors again ...</message>
<message nick="wolf77" time="19:31:22.538+01:00">How many documents do you need to delete before you get the errors?</message>
-<message nick="TomZ" time="19:31:26.463+01:00">
<a href="http://www.thomas-zastrow.de/existerror.txt">http://www.thomas-zastrow.de/existerror.txt</a>
</message>
<message nick="TomZ" time="19:31:32.821+01:00">ca. 20</message>
<message nick="TomZ" time="19:31:51.497+01:00">But it also appears when I try to delete just one file</message>
<message nick="wolf77" time="19:32:50.637+01:00">Ok, so the NodeId == null</message>
<message nick="wolf77" time="19:35:35.321+01:00">the error happens when loading the document root nodes</message>
<message nick="wolf77" time="19:37:33.581+01:00">the document object keeps a list of storage addresses for its child nodes. child nodes include the document element as well as any comments or processing instructions before that.</message>
<message nick="wolf77" time="19:37:56.493+01:00">obviously, the storage address for one of those children is wrong.</message>
<message nick="TomZ" time="19:38:23.79+01:00">Did I something wrong?</message>
<message nick="wolf77" time="19:38:42.805+01:00">No, I'm just trying to track down the error.</message>
<message nick="wolf77" time="19:38:55.533+01:00">It is obviously a bug in eXist.</message>
<message nick="wolf77" time="19:39:49.766+01:00">So, does one of those documents have processing instructions or comments in front of the root element?</message>
<message nick="TomZ" time="19:40:10.354+01:00">Let me see</message>
<message nick="TomZ" time="19:42:13.281+01:00">No, but there is something other strange: The DTD is declared as: <!DOCTYPE synsets SYSTEM "germanet_objects.dtd"[</message>
<message nick="TomZ" time="19:42:36.463+01:00">And then it ends up in the next line : ]></message>
<message nick="TomZ" time="19:42:41.259+01:00">Can this be a problem?</message>
<message nick="wolf77" time="19:42:59.474+01:00">No, that's an internal dtd. Should be ok.</message>
<message nick="wolf77" time="19:43:27.332+01:00">And you just restore the data into a clean db, then try to remove some docs and on the first one you already get the error?</message>
<message nick="TomZ" time="19:43:28.524+01:00">The header is: <?xml version="1.0" encoding="UTF-8" standalone="no"?></message>
<message nick="TomZ" time="19:44:10.521+01:00">Yes, I did a complete fresh installation from the link you send me in the afternoon</message>
<message nick="wolf77" time="19:44:18.732+01:00">Give me 5 minutes, I'm currently cooking dinner...</message>
<message nick="TomZ" time="19:44:32.901+01:00">Oh, sorry! Bon appetit!</message>
<message nick="wolf77" time="19:53:51.44+01:00">Ok, the meat is on the oven, no I have some time again ;-)</message>
<message nick="TomZ" time="19:55:32.527+01:00">I'm trying it with some other files</message>
<message nick="wolf77" time="19:57:03.601+01:00">The exception is thrown before a single node has been removed. You should thus get the same error if you just try to *read* the document.</message>
<message nick="TomZ" time="19:59:55.464+01:00">You are right. Just reading throws an exception ....XMLDB error: null</message>
<message nick="TomZ" time="20:01:12.719+01:00">wolf77: I tried it with some other files, no problem. So, it seems to be a problem of my files .... ;-(</message>
<message nick="wolf77" time="20:01:38.314+01:00">Yes, it has to be something special at the start of your files.</message>
<message nick="wolf77" time="20:01:52.112+01:00">Before the root element.</message>
<message nick="TomZ" time="20:02:13.431+01:00">A colleague created them, it wasn't me ... I'll take a look ...</message>
<message nick="wolf77" time="20:05:48.884+01:00">It is a bug in eXist, for sure. But to pinpoint it we need to somehow reproduce it.</message>
<message nick="TomZ" time="20:05:51.568+01:00">I can't see anything there, but I'll check it intensive. Wolf, thank you very much for your help!!!</message>
<message nick="TomZ" time="20:06:07.659+01:00">Now, enjoy your dinner!</message>
<message nick="wolf77" time="20:06:09.682+01:00">Can you work with a Java debugger?</message>
<message nick="wolf77" time="20:06:23.731+01:00">Dinner is still cooking ;-)</message>
<message nick="TomZ" time="20:06:53.642+01:00">I'm programming a lot in Java, but never used a debugger :-)</message>
<message nick="wolf77" time="20:07:13.979+01:00">What you could do is to insert some debug code into DocumentImpl.getChildNodes()</message>
<message nick="wolf77" time="20:07:49.528+01:00">At some point, the childAddress has to be wrong.</message>
<message nick="TomZ" time="20:08:27.9+01:00">I'll ask my colleague, how he created the files ... and check them byte by byte</message>
<message nick="wolf77" time="20:09:02.277+01:00">If we could find out what kind of node it is that has the wrong address...</message>
<message nick="wolf77" time="20:09:31.186+01:00">we could compare this to the address with which it was stored</message>
<message nick="TomZ" time="20:09:41.26+01:00">Would it be helpful, if I parse them with the Java DOM parser?</message>
<message nick="wolf77" time="20:10:23.297+01:00">Probably not. If the files could be stored into eXist, they should all be well-formed and valid.</message>
<message nick="wolf77" time="20:12:07.218+01:00">As I said: the cause of the error is a wrong storage address reported for either a document element or a comment/processing instruction at the start of the document.</message>
<message nick="wolf77" time="20:13:55.835+01:00">But it has to be something special. Otherwise, the error would have been shown by the test suites or in the application of another user.</message>
<message nick="TomZ" time="20:14:25.345+01:00">DOM parsing is no problem.</message>
<message nick="TomZ" time="20:14:41.317+01:00">I also opened the files in oxygen XML editor, also no problem</message>
<message nick="wolf77" time="20:17:26.261+01:00">The files should be ok. If you could add some System.out.println into DocumentImpl.getChildNodes() and print out the child nodes, we could probably identify where it starts failing.</message>
<message nick="TomZ" time="20:17:42.333+01:00">Then I need to compile eXist?</message>
<message nick="wolf77" time="20:17:50.684+01:00">Yes</message>
<message nick="TomZ" time="20:17:56.893+01:00">OK, I never done that before :-)</message>
<join host="i188127.upc-i.chello.nl" login="n=DiZzZz" nick="DiZzZz" time="20:18:08.428+01:00"/>
<message nick="wolf77" time="20:18:08.709+01:00">If you have a standard installation, calling build.sh should be sufficient.</message>
<message nick="TomZ" time="20:18:22.057+01:00">Ah yes, I see ...</message>
<message nick="TomZ" time="20:19:47.313+01:00">Do you mean memtree/DocumentImpl.java or dom/DocumentImpl.java</message>
<message nick="wolf77" time="20:20:47.414+01:00">dom/DocumentImpl</message>
<message nick="TomZ" time="20:21:33.827+01:00">OK, got it. 1300 lines ... :-)</message>
<message nick="TomZ" time="20:22:02.817+01:00">Where should I add lines?</message>
<message nick="wolf77" time="20:23:09.477+01:00">after line 672</message>
<message nick="TomZ" time="20:25:27.595+01:00">Yes, what to print?</message>
<message nick="wolf77" time="20:26:14.008+01:00">this.getFileURI() + " -> " + child</message>
<message nick="TomZ" time="20:28:40.987+01:00">its compiling .... I'm using eXist for years now, time to get into the code ... :-)</message>
<message nick="TomZ" time="20:29:05.681+01:00">"Buld Successfull"</message>
<message nick="TomZ" time="20:29:10.648+01:00">I'm trying again</message>
<message nick="wolf77" time="20:29:14.433+01:00">Ok</message>
<message nick="TomZ" time="20:29:34.16+01:00">Just starting again from bin?</message>
<message nick="TomZ" time="20:30:16.117+01:00">Wow, the output works!!!</message>
<message nick="wolf77" time="20:30:19.782+01:00">If you did not yet remove any docs</message>
<message nick="wolf77" time="20:30:50.373+01:00">Ok, so now we need to know which nodes are read before it crashes</message>
<message nick="TomZ" time="20:32:48.103+01:00">I created a new collection and loaded the files again.</message>
<message nick="TomZ" time="20:32:56.224+01:00">Removing file 1 works fine.</message>
<message nick="TomZ" time="20:33:24.673+01:00">Then, again it crashes when I try to remove all the files ...</message>
<message nick="TomZ" time="20:33:31.442+01:00">no more output</message>
<message nick="TomZ" time="20:33:54.223+01:00">I can try it file by file, perhaps there is just one bad one</message>
<message nick="wolf77" time="20:34:06.169+01:00">Yups, that's probably better</message>
<join host="d51A40105.access.telenet.be" login="n=Mephisto" nick="Mephisto" time="20:34:31.113+01:00"/>
<message nick="TomZ" time="20:44:41.492+01:00">Strange ... deleting the files one by one works fine</message>
<message nick="TomZ" time="20:45:39.08+01:00">But when I mark all files and delete them, it crashes again.</message>
<part host="i188127.upc-i.chello.nl" login="n=DiZzZz" nick="DiZzZz" reason="" time="20:46:40.303+01:00"/>
<message nick="wolf77" time="20:46:44.479+01:00">Mmmh, really strange</message>
<message nick="wolf77" time="20:47:35.498+01:00">The sequence should be identical</message>
<message nick="TomZ" time="20:48:46.415+01:00">The nodes which are printed on the commandline are showing the last file, which was succesfully deleted?</message>
<message nick="wolf77" time="20:49:08.034+01:00">Or the last node from that document - if it is not an element node</message>
<message nick="TomZ" time="20:49:54.517+01:00">So, I can take a look at these two files</message>
<message nick="TomZ" time="20:51:07.516+01:00">Can it be a problem of the client? Deleting the files to fast?</message>
<join host="i188127.upc-i.chello.nl" login="n=DiZzZz" nick="DiZzZz" time="20:51:16.328+01:00"/>
<message nick="wolf77" time="20:51:54.23+01:00">No, very unlikely</message>
<message nick="TomZ" time="20:56:59.024+01:00">Hmm, nothing strange to see in this files ... I think, I'll delete all the headers in the files and add new headers. </message>
<message nick="TomZ" time="20:57:53.668+01:00">Wolfgang, thank you very much for your help!</message>
<part host="i188127.upc-i.chello.nl" login="n=DiZzZz" nick="DiZzZz" time="20:58:18.482+01:00"/>
<message nick="wolf77" time="20:59:22.258+01:00">No problem. But it would still be interesting to find out what was wrong.</message>
<message nick="wolf77" time="20:59:29.939+01:00">So if you find out more, please report.</message>
<message nick="TomZ" time="21:00:12.046+01:00">Yes, I'll examine the files byte by byte. And I'll ask my colleague, how he created the files. </message>
<message nick="wolf77" time="21:01:20.228+01:00">Ok, then. It is time to eat what I cooked ;-) See you!</message>
<message nick="TomZ" time="21:01:42.689+01:00">Enjoy it! Thanks again!</message>
<message nick="TomZ" time="21:01:46.204+01:00">quit</message>
<join host="i188127.upc-i.chello.nl" login="n=DiZzZz" nick="DiZzZz" time="21:03:30.245+01:00"/>
<join host="c83-253-30-113.bredband.comhem.se" login="n=ljo" nick="ljo" time="22:19:26.203+01:00"/>
<part host="p5B20E1AE.dip.t-dialin.net" login="n=wolf" nick="wolf77" reason="Remote closed the connection" time="23:12:23.157+01:00"/>
</xlog>