Struts2 jasper reports not opening in Linux - linux

I have developed Web Application using Struts2. When I host my web application in Windows OS Jasper Reports (PDF formats) are opening correctly. But same war file if I host in Linux (RHEL OS) it is neither opening report, nor writing any logs. It will be in fetching mode only. Only for reports it is happening. JSP pages are opening correctly. Is it a OS issue or any other issue.
Some one already has posted similar question i.e. JR report is not generating on Linux using Struts 2. But no relevant answers.
I tried a lot but nothing is working out.
One instance when i stopped the operation (only once i got this) then I got following stack trace
WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [XXXXX] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation. Stack trace of request processing thread:
java.io.UnixFileSystem.getBooleanAttributes0(Native Method)
java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:242)
java.io.File.exists(File.java:819)
net.sf.jasperreports.engine.util.JRResourcesUtil.resolveFile(JRResourcesUtil.java:283)
net.sf.jasperreports.repo.DefaultRepositoryService.getInputStream(DefaultRepositoryService.java:135)
net.sf.jasperreports.repo.InputStreamPersistenceService.load(InputStreamPersistenceService.java:48)
net.sf.jasperreports.repo.DefaultRepositoryService.getResource(DefaultRepositoryService.java:187)
net.sf.jasperreports.repo.RepositoryUtil.findInputStream(RepositoryUtil.java:304)
net.sf.jasperreports.repo.RepositoryUtil.getInputStreamFromLocation(RepositoryUtil.java:275)
net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontFamilies(SimpleFontExtensionHelper.java:183)
net.sf.jasperreports.engine.fonts.FontExtensionsRegistry.getExtensions(FontExtensionsRegistry.java:56)net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:110)
net.sf.jasperreports.engine.util.JRStyledTextParser.<clinit>(JRStyledTextParser.java:83)
net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:121)
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:88)
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:103)
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:61)
net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:179)
net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:108)
net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653)
net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:569)
net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:915)
XYZJasperAction.execute(XYZJasperAction.java:1008)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:483)

We were using two Tomcat server instances for 2 different web applications. When I reinstalled Apache Tomcat with single instance it was working. May be we have not set the port properly.

Related

Liferay Startup aborted with message related to version update but I never did the update

I'm running into a strange behavior with my liferay 6.2 (build 6210). I was trying to install the latest fixpack portal-84 and cannot start my server since. Since I reverted all fixpacks etc. and still the startup doesn't work I doubt the update is the reason. I get the following message Permission conversion to algorithm 6 has not been completed. Up until this point the startup looks normal. Strange thing is my database schema was never used for anything else than liferay 6.2.
10:42:13,566 ERROR [localhost-startStop-1][MainServlet:212] java.lang.IllegalStateException: Permission conversion to algorithm 6 has not been completed. Please complete the conversion prior to starting the portal. The conversion process is available in portal versions starting with 5203 and prior to 6200.
java.lang.IllegalStateException: Permission conversion to algorithm 6 has not been completed. Please complete the conversion prior to starting the portal. The conversion process is available in portal versions starting with 5203 and prior to 6200.
at com.liferay.portal.tools.DBUpgrader._checkPermissionAlgorithm(DBUpgrader.java:297)
at com.liferay.portal.tools.DBUpgrader.upgrade(DBUpgrader.java:135)
at com.liferay.portal.events.StartupAction.doRun(StartupAction.java:181)
at com.liferay.portal.ee.license.StartupAction.doRun(Unknown Source)
at com.liferay.portal.events.StartupAction.run(StartupAction.java:74)
at com.liferay.portal.servlet.MainServlet.processStartupEvents(MainServlet.java:1245)
at com.liferay.portal.servlet.MainServlet.init(MainServlet.java:209)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5176)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5460)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:656)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1635)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Stopping the server due to unexpected startup errors
Is assume that something is wrong within my database (although I have no idea how that happened). When I start liferay with the embedded memory DB the startup works. There are only some other messages in the log because there are lucene files in filesystem without entries in memory db. select * from RELEASE_; states the correct version portal 6210 and my configured database connection is correct as well (tried with jndi resource in tomcat and with conenction information in portal-ext.properties). But maybe there is some other location where a version is saved and is vital to portal startup.
Did anyone ever had this behavior or is this a completely special case that is (more or less) exclusive to me?
Thanks ans regards. Sebastian
The upgrade script checks if the ResourceCode table is empty. It was used prior to Liferay 6, Liferay 6 upgrade scripts usually remove all data from it or the whole table whatsoever.
To overcome this issue I did all the steps according to this tutorial from Liferay. The only difference to your situation is that I'm using Liferay CE.

ASP Error 0223 - TypeLib Not Found, intermittent, resolved after IIS restart

I'm currently in the process of migrating an ASP platform from Windows 2003 R2 IIS 6 web servers to Windows 2012 R2 IIS 8.5 web servers. I'm at the stage where I've migrated a number of sites across to two separate 2012 web servers, all looked great, clients and developers are happy... However the following error has presented itself after a few days hosting on one of the new servers.
Active Server Pages error 'ASP 0223'
TypeLib Not Found
/jobboard/conf/constants.vbs.inc, line 1
METADATA tag contains a Type Library specification that does not match any Registry entry.
The METADATA tag is below:
<!--METADATA TYPE="typelib" NAME="Microsoft ActiveX Data Objects 2.8 Library" UUID="{2A75196C-D9EB-4129-B803-931327F72D5C}" VERSION="2.8"-->
Restarting IIS on this server resolved the issue (albeit temporarily).
Subsequently the other 2012 web server in production presented the same error a couple of days later, again, restarted IIS and works for now.
I've checked the registry and the relevant tag exists with the right UUID and correct permissions.
It doesn't affect all sites on the server, only all sites in a particular application pool.
The application pools use a domain user identity and sites are split up into a number of shared pools.
I've now determined what was causing the above problem...
Our sites on IIS run in a number of shared application pools running as a domain user. We also have a Windows scheduler job which runs a number of scripts over night which also run as the same domain user.
It seems there are cases when this scheduler job runs it interferes with the IIS worker processes. When it completes and ends its user session it unloads the registry file in memory, which the w3wp.exe processes could also using.
This error is presented in the Event log...
Windows detected your registry file is still in use by other
applications or services. The file will be unloaded now. The
applications or services that hold your registry file may not function
properly afterwards. No user action is required.
Along with references to the w3wp.exe processes currently running.
It was replicated when I terminal serviced in as the domain user and logged out again after a period of time. The event log presented the error and the sites all bombed shortly afterwards.
Running the scheduled job as a different user has fixed this issue for us.
I remember having an include file for ADOVBS.inc with all the ADO constants inside and including it as a standard ASP include inside my global include file which is included on every page on the site.
This was before I used the META way of including the file.
So maybe a last resort is to revert to that method of loading in the ADO constants.
It seems like some sort of threshold is being hit, CPU/Memory?, which then prevents IIS caching/loading the file in from the registry. This then causes the error and a recycle of the pool. As no redirect is being done to the 500.100.asp error handler page which hides the error details from the user. It would suggest the error is in IIS and related to the server.
Thanks

Unable to configuration-tool.sh from putty

I ran /opt/IBM/Worklight/shortcuts/configuration-tool.sh
I got the below error in logs.
!MESSAGE Application error
!STACK 1
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
at org.eclipse.swt.SWT.error(SWT.java:4387)
at org.eclipse.swt.widgets.Display.createDisplay(Display.java:914)
at org.eclipse.swt.widgets.Display.create(Display.java:900)
at org.eclipse.swt.graphics.Device.<init>(Device.java:156)
at org.eclipse.swt.widgets.Display.<init>(Display.java:498)
at org.eclipse.swt.widgets.Display.<init>(Display.java:489)
at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:669)
at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)
at com.ibm.worklight.config.ui.Application.start(Application.java:31)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
Please help in fixing this.
The Worklight Server Configuration Tool is, as documented here, a graphical tool, that is, a program with a graphical user interface. It is not possible to run such programs through terminal emulators such as PuTTY without X option, 'ssh' without X option, 'screen', or similar.
You have two options:
Use the Worklight Server Configuration Tool through a network connection that supports a graphical user interface. Examples of such network protocols are VNC, PuTTY with X option, ssh with X option, RDP, or ssh/telnet with 'export DISPLAY' (the latter being deprecated for security reasons). For PuTTY with X option, you find some configuration recipes through a web search for "putty x11", and even a video.
Use the samples based approach for setting up a Worklight Server, without using the Worklight Server Configuration Tool. This path can be a bit more tedious, but you only need a text-mode connection to complete it.

Websphere Startup Error

I am trying to set up workspace using Websphere 7.0 application server on RAD IDE. I am using Java 1.6
When ever i try to start my server it throws following error:
Exception in thread "main" java.lang.NoClassDefFoundError: Files
Caused by: java.lang.ClassNotFoundException: Files
at java.net.URLClassLoader.findClass(URLClassLoader.java:434)
at java.lang.ClassLoader.loadClass(ClassLoader.java:660)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:358)
at java.lang.ClassLoader.loadClass(ClassLoader.java:626)
Could not find the main class: Files. Program will exit.
What would be reason for this? Did anyone get this kind of error before.
Note: I tried googling out and people suggest try changing classpath, which i tried and didn't work.
It looks like something, somewhere is failing to quote an argument containing C:\Program Files, probably due to custom JVM configuration. If you use the -script option to bin\startServer.bat, you might be able to determine where things are going wrong. This might be a product issue, so if you can't figure it out (or you don't think your configuration is to blame), then you might consider opening a PMR with IBM.
If you are facing this issue when trying to start the server from RAD console , this might be a product issue , a quick way to solve this might be to start the server using command line see below example on how to start the server
C:\WorkFolder\WASV8.5_Install\profiles\AppSrv03\bin>startServer.bat server1 -profileName AppSrv02
Try to start in an command prompt you would see the servers starting in your RAD console as well.
C:\WorkFolder\WASV8.5_Install\profiles\AppSrv02\logs\server1\startServer.log
ADMU0128I: Starting tool with the AppSrv02 profile
ADMU3100I: Reading configuration for server: server1
ADMU3200I: Server launched. Waiting for initialization status.
ADMU3000I: Server server1 open for e-business; process id is 20484

Cannot remote debug IIS -- w3wp.exe is grayed out

I am trying to debug an IIS Web Service using remote debugging. Because of our domain configuration (which we CANNOT change) I get an Access is denied when remote debugging via the Default option. The only solution I've found is to switch to Remote (Native only with no authentication) option in VS 2008.
The problem is that when I connect to the remote system the w3wp.exe is grayed out and oddly enough it's the only one in the list that is. Does this have to do with the Remote choice? Is there a way around this?
I actually solved mine problem. The w3wp.exe was grayed out because I had installed Debug Diagnostics Tool on the server machine and set it up to follow IIS for crashed. Even though the program was not running it still had the "marked" the process for debugging (This might be totally wrong assumption). After removing the "markers" I could attach to the process.
So check out your services/programs if something is already attatched it self to the process. Does not solve the problem of not beeing able to debug managed code at all.
When you switch to "Native only with no authentication" mode, you're explicitly saying that you only want to debug "native" i.e. Win32 code, rather than .net code. There is, unfortunately as far as I'm aware, no way around this (I've tried! :().

Resources