0

In eXist-DB 4.4 I'm facing a problem I don't know how to continue diagnosing after exhausting a variety of debugging options for several hours. Source files in the edit at bottom.

I know it's a longshot, but I'm hoping someone might have come across this issue before in eXist-DB. Or at least know of other tools for tracing this in detail - I use eXide for writing XQuery, etc in eXist-DB.

The eXist app environment I've set up is quite simple, and every page follows the same mechanism. Until now, every page has output fine.

But I've been wrestling for a few hours to understand why I'm getting an output to the browser (under Chrome, Firefox and Safari) literally cutting out mid-element exactly like below but only from one HTML template:

<!DOCTYPE html>
<html class="no-js">
<head>
    <meta charset="utf-8">
    <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
    <meta conten

Every page uses the same template system through an HTML page, the problem in this case is place.html. I've reduced it to nothing except a div and a call to a templates:surround:

<div data-template="templates:surround" 
        data-template-with="templates/site_wrapper.html" 
        data-template-at="content">

    <div><p>Finally, an output!</p></div>

</div>

The above calls a templates:surround = site_wrapper.html which is used by every other page on the site without fail or error. This template site_wrapper.html receives no parameters although it calls to other templates in the form of XQuery functions (again, no parameters).

When I look in the eXist dashboard monitoring tools, I see the view barely registers any processing time (compared to other pages).

As for possible sources of problems:

  • the controller.xql...no, because a partial page is being spit out?

  • the view...no, because I haven't touched a thing in there beyond what has been working for weeks?

  • the template site_wrapper.html....no, it's the same as used by every other page and therefore should not pose problems?

I'm flummoxed.

EDIT:

XAR file is at https://www.dropbox.com/s/cj2vqo1bkarci46/deheresi-2018-11-06.xar?dl=0 Global system variable configured in globalvar.xql

One can compare place.html (which doesn't work) with person.html (which does work) as they have identical structures. This can be seen in action by opening exist/apps/deheresi/doc/MS609-0001 and clicking on links in the text. Any link containing /deheresi/place/foo_person_name brings the above result.

jbrehr
  • 775
  • 6
  • 19
  • Notwithstanding other possible solutions...I rebuilt the entire `place.html` structure under a different name, tested fine, then went through everything to rename it to `place`, and now everything works fine. I used a text comparison editor to check the differences and there was no problem. It's likely some corruption somewhere. I'll leave this question up for future searchers.... – jbrehr Nov 07 '18 at 23:36
  • i can imagine two kinds of corruptions that might be to blame. 1) the more likely: an illegal invisible character slipped into the document probably when when copy pasting from the web 2) an actual database corruption. While unlikely you should perform a backup and see if the integrated integrity check reports any problems – duncdrum Nov 09 '18 at 15:53

0 Answers0