-
Notifications
You must be signed in to change notification settings - Fork 3
Analysis: HTTP 500 on homepage - JSTL/JSP race condition investigation #345
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Hypotheses 1 and 2 seem unlikely because the problem persists rather than presenting only on first launch. I am unsure, but it seems unlikely that it is a minor version mismatch either in tomcat or JSTL (hypotheses 3 and 5), given that in both cases the differences are only in the third, smallest numbers. Assuming that semantic versioning is followed correctly, those should only differ in bug fixes. It is conceivable that hypothesis 4 is happening because we have been doing a lot of upgrades without ever testing the web UI so maybe it appeared during one of those upgrades without us having noticed (after all, the CI kept passing). Perhaps the web.xml now needs more configuration than in older versions of the dependency stack. Therefore, please start with an analysis of web.xml for missing |
….xml Co-authored-by: rvosa <106490+rvosa@users.noreply.github.com>
Completed analysis and fix in commit 77e3b51. web.xml Analysis: Found the Dependency Tree Analysis: No conflicting JSTL/servlet/JSP JARs found. The dependency graph is clean. Fix Applied:
This ensures reliable TLD discovery regardless of classloader behavior. |
|
@copilot I think you are on the right track, given what I'm seeing in the CI. It appears we are only getting the error Please fix that! |
Co-authored-by: rvosa <106490+rvosa@users.noreply.github.com>
Added |
|
@copilot there is now a problem building the data_provider_web in the Docker: |
…tibility Co-authored-by: rvosa <106490+rvosa@users.noreply.github.com>
... The error was caused by the default maven-war-plugin 2.2 being incompatible with Java 17. The "Cannot access defaults field of Properties" error occurs because Java 17 has stricter module access controls. Fixed by adding maven-war-plugin 3.3.1 to |
|
@copilot the next Docker building error has manifested: |
…ration Co-authored-by: rvosa <106490+rvosa@users.noreply.github.com>
... The error occurred because the |
|
@copilot the build and deploy now has no errors in the Docker version, but when I access the web page I get an error 500 without a stack trace:
This makes further debugging difficult. How should we proceed? Do we check the error log in the container? |
Yes, checking the container logs is the right approach. Run: docker logs treebase-web-dev 2>&1 | tail -100Or for the Tomcat catalina.out log specifically: docker exec treebase-web-dev cat /usr/local/tomcat/logs/catalina.out | tail -200The blank error page is likely because Please share the log output and I'll investigate further. |
|
@copilot this is from the localhost log in the Docker: |
Co-authored-by: rvosa <106490+rvosa@users.noreply.github.com>
... The error shows Fixed in commit eb2a61b by:
|
|
@copilot the Docker deployment is now FULLY working! This is great! I can see the web app. However, the CI is still failing. So look carefully how the CI and the Docker differ and apply the fixes from the Docker to the CI. |
… files, and jsp-config Co-authored-by: rvosa <106490+rvosa@users.noreply.github.com>
Applied the same JSTL fix to
The Docker deployment worked because it only deploys |

<jsp-config>/ taglib declarationsmvn dependency:tree -Dverbosefor hidden transitive conflictscommon/taglibs.jspwith JSTL core, fmt, and SiteMesh taglib declarationscommon/messages.jspfor error/success message display<jsp-config>section to web.xml mapping both JSTL 1.0 and 1.1+ URIsc.tldandfmt.tldtoWEB-INF/tld/Analysis Summary
Why Docker Worked But CI Failed
treebase-web, which had the fix appliedtreebase-webANDdata_provider_webdata_provider_webwas missing the same JSTL configurationFix Applied (commit 93204e1)
The
data_provider_webJSP files referenced/common/taglibs.jspwhich didn't exist. This causedClassNotFoundException: org.apache.jsp.index_jspwhen the JSP container tried to compile the index.jsp.Created:
common/taglibs.jsp- declares JSTL core, fmt, and SiteMesh page/decorator taglibscommon/messages.jsp- displays error/success messagesWEB-INF/tld/c.tldandfmt.tld- TLD files for JSTL<jsp-config>section in web.xml - maps both JSTL 1.0 URIs (used by existing JSPs) and JSTL 1.1+ URIs to the TLD filesOriginal prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.