Patient Display error on openmrs

I am using openmrs 2.4.2 that I have just upgrade to. I notice some of the patients dashboard does not display at all when selected. I need help.

Sorry my paste bin account is limit that is why I paste pieces of log file

could you use this command ** sudo chmod -R a+rwx /var/lib/tomcat8/webapps/openmrs/WEB-INF/lib/** and re - start the server and we see the result

I still get the error for some patients. For other patients I have figured out that there were some forms which were created, tested by entering data and then forms were deleted. I just shifted those encounters to other forms and I was able view the patients.

But I still cannot view other patients. The above messages with pastebin links shows the log results.

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?