Stream: troubleshooting

Topic: Upgrade and SAX Parser


view this post on Zulip Bethany Seeger (Oct 31 2025 at 15:19):

Hello,

I'm tracking down some weirdness I'm seeing in log messages in a recent upgrade.

In doing so, I noticed that, in version 6.0 upgrade of Dataverse, the SAXParserFactory specification in the Domain.xml file appears to get dropped.

Is that intentional? I'm not clear what effect that would have on the software running, but just wanted to check.

Here's the install of it in 6.8 - so it seems like it's still useful? https://github.com/IQSS/dataverse/blob/d63a7b1b60d1e96a592745cc26b829c48fe7f7cc/scripts/installer/as-setup.sh#L145

The instructions here do not propogate it forward during the upgrade, though. (Step 6) https://github.com/IQSS/dataverse/releases/tag/v6.0

Is it necessary?

Thanks!

view this post on Zulip Bethany Seeger (Oct 31 2025 at 15:19):

<jvm-options>-Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl</jvm-options>

view this post on Zulip Philip Durbin ๐Ÿš€ (Nov 03 2025 at 14:23):

Huh, it looks like I added it in https://github.com/IQSS/dataverse/commit/c9da26b5373b1fd484de91d96ab848e948573080 11 years ago (!) as a fix for this equally ancient issue:

view this post on Zulip Philip Durbin ๐Ÿš€ (Nov 03 2025 at 14:27):

I think we still want it. We still use PrettyFaces, which is what the fix was for.

view this post on Zulip Bethany Seeger (Nov 03 2025 at 14:28):

Interesting. If the issue it was resolving is still resolved w/o that change, then maybe things are fine w/o the SAXparser in the domain.xml anymore.

Ohh... interesting ... I need to look at our logs, as I'm seeing faces warnings....

view this post on Zulip Philip Durbin ๐Ÿš€ (Nov 03 2025 at 14:28):

If you can do some testing with and without it, that would be great.

view this post on Zulip Philip Durbin ๐Ÿš€ (Nov 03 2025 at 14:30):

And if you think we should update the 6.0 release notes to add it back in (sounds like maybe we should), if you could open an issue, I'd appreciate it!

view this post on Zulip Bethany Seeger (Nov 03 2025 at 14:30):

Is this related to pretty faces? Seems unlikely, but figured I'd ask:

[2025-11-03T11:09:06.390+0000] [Payara 6.2023.8] [WARNING] [] [] [tid: _ThreadID=104 _ThreadName=http-thread-pool::jk-connector(1)] [timeMillis: 1762168146390] [levelValue: 900] [[
  Skipping outbound rewriting of invalid URL: /?"><script>alert('struts_sa_surl_xss.nasl-1762168146')</script>]]

[2025-11-03T11:09:06.526+0000] [Payara 6.2023.8] [WARNING] [] [jakarta.enterprise.web] [tid: _ThreadID=106 _ThreadName=http-thread-pool::jk-connector(3)] [timeMillis: 1762168146526] [levelValue: 900] [[
  StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet threw exception
com.sun.faces.application.view.ViewHandlingStrategyNotFoundException
        at java.base/java.util.Optional.orElseThrow(Optional.java:403)
        at com.sun.faces.application.view.ViewHandlingStrategyManager.getStrategy(ViewHandlingStrategyManager.java:57)
        at com.sun.faces.application.view.ViewDeclarationLanguageFactoryImpl.getViewDeclarationLanguage(ViewDeclarationLanguageFactoryImpl.java:45)
        at com.sun.faces.application.view.MultiViewHandler.getViewDeclarationLanguage(MultiViewHandler.java:407)
        at jakarta.faces.application.ViewHandlerWrapper.getViewDeclarationLanguage(ViewHandlerWrapper.java:335)
        at jakarta.faces.application.ViewHandlerWrapper.getViewDeclarationLanguage(ViewHandlerWrapper.java:335)
        at jakarta.faces.application.ViewHandlerWrapper.getViewDeclarationLanguage(ViewHandlerWrapper.java:335)
        at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:179)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:72)
        at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:95)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:159)
        at jakarta.faces.webapp.FacesServlet.executeLifecyle(FacesServlet.java:691)
        at jakarta.faces.webapp.FacesServlet.service(FacesServlet.java:449)
        at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1554)

view this post on Zulip Philip Durbin ๐Ÿš€ (Nov 03 2025 at 14:32):

Probably outbound rewriting of invalid URL sounds like something PrettyFaces would do.

view this post on Zulip Bethany Seeger (Nov 03 2025 at 14:33):

Okay, I'll add the SAXParser back in and see if those types of errors go away. I'll keep you posted.

view this post on Zulip Bethany Seeger (Nov 03 2025 at 15:12):

Does this mean anything significant? They are SEVERE level :

[2025-11-03T15:11:38.416+0000] [Payara 6.2023.8] [SEVERE] [] [jakarta.faces.component] [tid: _ThreadID=106 _ThreadName=http-thread-pool::jk-connector(3)] [timeMillis: 1762182698416] [levelValue: 1000] [[
the component(jakarta.faces.component.html.HtmlDoctype@65f97a2a) is the head component of the stack, but it's _isPushedAsCurrentRefCount < 1]]

[2025-11-03T15:11:47.659+0000] [Payara 6.2023.8] [SEVERE] [] [jakarta.faces.component] [tid: _ThreadID=108 _ThreadName=http-thread-pool::jk-connector(5)] [timeMillis: 1762182707659] [levelValue: 1000] [[
the component(jakarta.faces.component.html.HtmlDoctype@65f97a2a) is the head component of the stack, but it's _isPushedAsCurrentRefCount < 1]]

This is after I added in SAX Parser, but I think I've seen them even before that.

view this post on Zulip Bethany Seeger (Nov 03 2025 at 15:27):

Oddly enough, restarting made it go away.

view this post on Zulip Philip Durbin ๐Ÿš€ (Nov 03 2025 at 15:32):

Huh, I'm really not sure. :thinking:

view this post on Zulip Bethany Seeger (Nov 03 2025 at 21:46):

Yeah, it's odd. I can't tell if adding back in the SAXParser makes a difference yet. It doesn't appear to have hurt. Should I create an issue for the SAXParser on github so it can be discussed there?

view this post on Zulip Philip Durbin ๐Ÿš€ (Nov 03 2025 at 22:18):

Yes, please!


Last updated: Jan 09 2026 at 14:18 UTC