Patient Display error on openmrs

I am still experiencing this problem to some patients and it has started once I upgraded openmrs from 2.0.6 to 2.4.2. The problem did not exist before openmrs upgrade and as I explained above for some I figure out there was a form created, tested by entering data, then deleted (I have manage to fix this). But the rest of the patients with this problem I have not figure out what causes it.

it seems the issue comes due to the java and tomcat versions you are running,checkout this conversation java - org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15 - Stack Overflow

Ok. But I am using java openjdk version “1.8.0_292” , tomcat8 and mysql 5.6. Is there a compatibility issue?

You seem to be facing the bug described in this Tomcat issue. The fix is to upgrade to a version of Tomcat 8.0.42 or newer (the 8.0 series of Tomcat is actually unsupported; you should consider moving to the most recent version of Tomcat 8.5.x).

1 Like

Ok let me upgrade tomcat and mysql.

I have try to deploy openmrs 2.4.2 on tomcat 9 but I am getting an Error! A runtime properties file is needed for OpenMRS to start up consistently. OpenMRS is unable to create this file : /var/lib/OpenMRS/ Because of this error : No such file or directory.

I have try to follow similar error “unable to create file after redeploying openmrs - #6 by jerome24” like this that I encounter before where by one of the solutions was to create a folder /usr/share/tomcat9/.OpenMRS and give ownership to tomcat user as also described in " Step 3 - Install Tomcat - Documentation - OpenMRS Wiki"

. But it did not work I still get the same error.

I have also notice that on tomcat logs folder there is no catalina.out file.

Here is the log from catalina.2022-01-25.log.gz Log file -

I have follow this thread Install wizard can't create profile file - #32 by dkayiwa and see the solution but I failed to implement it because I can’t find the file “/etc/systemd/system/tomcat9.service.d/logging-allow.conf” to edit it.

I get the message “<c/systemd/system/tomcat9.service.d/logging-allow.conf” [New DIRECTORY]"

If the folder and file don’t exist, you should create them, e.g., as in this ServerFault question, though this answer seems to have a slightly different way to do things.

1 Like

Thank you very much the first part helped me to get over where I was stuck. I did use “[Service]<nReadWritePaths=/var/lib/OpenMRS”.

1 Like

Hi everyone, Apparently I did not manage to solve my problem here which is some patients not displaying anything when selected. I still need help.

So current I have upgraded openmrs from 2.0.6 to 2.3.5. I could view these patients information before upgrade but once I upgraded I notice some patients do not display any information when selected. I using java openjdk version “1.8.0_292”, tomcat8 and mysql server 5.6.16.

Are you able to share the contents of your browser’s javascript console log?

Is this what you wanted to see?

		<script src="/openmrs/scripts/jquery/jquery.min.js?v=2.3.5" type="text/javascript" ></script>
		<script src="/openmrs/scripts/jquery-ui/js/jquery-ui.custom.min.js?v=2.3.5" type="text/javascript" ></script>
        <script src="/openmrs/scripts/jquery-ui/js/jquery-ui-timepicker-addon.js?v=2.3.5" type="text/javascript" ></script>
		<script src="/openmrs/scripts/jquery-ui/js/jquery-ui-datepicker-i18n.js?v=2.3.5" type="text/javascript" ></script>
		<script src="/openmrs/scripts/jquery-ui/js/jquery-ui-timepicker-month-year-patch.js?v=2.3.5" type="text/javascript" ></script>
		<link href="/openmrs/scripts/jquery-ui/css/green/jquery-ui.custom.css" type="text/css" rel="stylesheet" />
	<link rel="shortcut icon" type="image/ico" href="/openmrs/images/openmrs-favicon.ico">
	<link rel="icon" type="image/png" href="/openmrs/images/openmrs-favicon.png">

			<title>OpenMRS - Patient Dashboard</title>

	<script type="text/javascript">
			var $j = jQuery.noConflict();
		/* variable used in js to know the context path */
		var openmrsContextPath = '/openmrs';
		var dwrLoadingMessage = 'Loading...';
		var jsDateFormat = 'mm/dd/yyyy';
		var jsTimeFormat = 'hh:mm TT';
		var jsLocale = 'en';
		/* prevents users getting false dwr errors msgs when leaving pages */
		var pageIsExiting = false;
		if (typeof(jQuery) != "undefined")
		    jQuery(window).bind('beforeunload', function () { pageIsExiting = true; } );
		var handler = function(msg, ex) {
			if (!pageIsExiting) {
				var div = document.getElementById("openmrs_dwr_error"); = ""; // show the error div
				var msgDiv = document.getElementById("openmrs_dwr_error_msg");
				msgDiv.innerHTML = 'A javascript error has occurred:' + " <b>" + msg + "</b>";
		/* initialize common form validation */


	<div id="userBar">
				<span id="userLoggedInAs" class="firstChild">
					Currently logged in as Jerome Lwali
				<span id="userLogout">
					<a href='/openmrs/logout'>Log out</a>
					<a href="/openmrs/options.form">My Profile</a>

		<span id="userHelp">
			<a href='/openmrs/help.htm'>Help</a>

	<div id="banner" xmlns:c=""
OpenMRS Logo
			<ul class="navList" 
<li id="homeNavLink" class="firstChild">
	<a href="/openmrs/">Home</a>

<li id="findPatientNavLink">
	<a href="/openmrs/findPatient.htm">
			Find/Create Patient

	<li id="dictionaryNavLink">
		<a href="/openmrs/dictionary/index.htm">Dictionary</a>

		<a href="



		<a href="



	<li id="administrationNavLink">
		<a href="/openmrs/admin/index.htm">Administration</a>
    <script type="text/javascript">
    	function resize(){
		document.getElementById('bar-round-reduced50').style.height = document.getElementById('barsmall').offsetHeight+"px";
	<div id="content">


		<div id="openmrs_dwr_error" style="display:none" class="error">
			<div id="openmrs_dwr_error_msg"></div>
			<div id="openmrs_dwr_error_close" class="smallMessage">
				<i>The full stacktrace for this error can usually be found in your server&#39;s error logs.</i> 
				<a href="#" onclick="'none'">Hide error</a>
var timeOut = null; var userId = "174"; //initTabs $j(document).ready(function() { var c = getTabCookie(); if (c == null || (!document.getElementById(c))) { var tabs = document.getElementById("patientTabs").getElementsByTagName("a"); if (tabs.length && tabs[0].id) c = tabs[0].id; } changeTab(c); }); function setTabCookie(tabType) { document.cookie = "dashboardTab-" + userId + "="+escape(tabType); } function getTabCookie() { var cookies = document.cookie.match('dashboardTab-' + userId + '=(.*?)(;|$)'); if (cookies) { return unescape(cookies[1]); } return null; } function changeTab(tabObj) { if (!document.getElementById || !document.createTextNode) {return;} if (typeof tabObj == "string") tabObj = document.getElementById(tabObj); if (tabObj) { var tabs = tabObj.parentNode.parentNode.getElementsByTagName('a'); for (var i=0; i<tabs.length; i++) { if (tabs[i].className.indexOf('current') != -1) { manipulateClass('remove', tabs[i], 'current'); } var divId = tabs[i].id.substring(0, tabs[i].id.lastIndexOf("Tab")); var divObj = document.getElementById(divId); if (divObj) { if (tabs[i].id == tabObj

An error has occurred!

The following error happened somewhere on this page:
javax.servlet.jsp.JspException: org.hibernate.exception.GenericJDBCException: could not execute query

(The full error stack trace output is in the source of this page.) [display.txt|attachment](upload://ttamUUcpu7AQr9GtSMOpgsnE399.txt) (8.7 KB)

This looks like the html source instead of the javascript console.

Is this it?

Yes. Can you share the full server side log?

Where do I get the full server side java log in ubuntu?

Here is the full tomcat log.

What is your database’s character set and collation?

Database character set is “utf8” and collation “utf8_general_ci”.