Spring: Sporadically getting No handler found for portlet request - java

I've been having some issues with NoHandlerException's in a multi server configuration. I've been trying to figure out exactly when I get this exception but
I can not find any good description on what it actually means that no handler was found.
The thing here is that everything actually seems to work fine, we are not receiving any error reports on this from our production system, and we are not able
to reproduce the error in our test systems. But we can clearly see a big amount of no handler found errors in our production logs.
So my question is, could this error be due to some bad load-balancing? Like that we send our users between
different servers and the server receiving server does not have an updated state for this user/session? Or should it be some configuration error on the Spring-application
that can not be affected by the load balancing?
When I have searched for other people with the same error they seem to get it all the time, but I get it only sporadically
The error we receive:
Uncaught service() exception root cause AppName: javax.servlet.ServletException: org.springframework.web.portlet.NoHandlerFoundException: No handler found for portlet request: mode 'view', phase 'ACTION_PHASE', parameters map['action' -> array<String>['myController.parameter']]

Try to check xml somewhere contains portlet. Normally every handler stage error cased by configuration.

Related

Play Framework 2.7 cryptic akka exception

We're on version 2.7 of Play Framework and we've been getting what seems like a random exception in the logs (see below), however we can not seem to trace it back to our code. Here is the stack trace:
[2020-07-15 14:02:36,294] - [ERROR] - from akka.actor.ActorSystemImpl at [akka.actor.ActorSystemImpl(application)]
Internal server error, sending 500 response
akka.http.impl.util.One2OneBidiFlow$OutputTruncationException: Inner flow was completed without producing result elements for 1 outstanding elements
at akka.http.impl.util.One2OneBidiFlow$OutputTruncationException$.apply(One2OneBidiFlow.scala:22)
at akka.http.impl.util.One2OneBidiFlow$OutputTruncationException$.apply(One2OneBidiFlow.scala:22)
at akka.http.impl.util.One2OneBidiFlow$One2OneBidi$$anon$1$$anon$4.onUpstreamFinish(One2OneBidiFlow.scala:97)
at akka.stream.impl.fusing.GraphInterpreter.processEvent(GraphInterpreter.scala:506)
at akka.stream.impl.fusing.GraphInterpreter.execute(GraphInterpreter.scala:376)
at akka.stream.impl.fusing.GraphInterpreterShell.runBatch(ActorGraphInterpreter.scala:606)
at akka.stream.impl.fusing.GraphInterpreterShell$AsyncInput.execute(ActorGraphInterpreter.scala:485)
at akka.stream.impl.fusing.GraphInterpreterShell.processEvent(ActorGraphInterpreter.scala:581)
at akka.stream.impl.fusing.ActorGraphInterpreter.akka$stream$impl$fusing$ActorGraphInterpreter$$processEvent(ActorGraphInterpreter.scala:749)
at akka.stream.impl.fusing.ActorGraphInterpreter$$anonfun$receive$1.applyOrElse(ActorGraphInterpreter.scala:764)
at akka.actor.Actor$class.aroundReceive(Actor.scala:539)
at akka.stream.impl.fusing.ActorGraphInterpreter.aroundReceive(ActorGraphInterpreter.scala:671)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:614)
at akka.actor.ActorCell.invoke(ActorCell.scala:583)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268)
at akka.dispatch.Mailbox.run(Mailbox.scala:229)
at akka.dispatch.Mailbox.exec(Mailbox.scala:241)
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
As you can see there are no references to any non-play code. The play app runs normally with visible problems in functionality. Googling hasn't yielded much insight apart from similar issues due to malformed config files (which causes the same stack trace but under different conditions) and possibly Kamon related issues. We do use kamon version 1 . What could be causing this exception? Any help would be greatly appreciated
It looks like this is caused by this issue:
https://github.com/playframework/playframework/issues/9020
Meaning that your configuration is malformed (it couldn't be parsed). Hitting ctrl+c should at least show another error message with more information about where the error is.

Application running fine then suddenly java.util.MissingResourceException

Does anyone know of any reason why I might encounter java.util.MissingResourceException on an application which is running fine with no issues and constantly using this resource bundle, then suddenly gets this error. Simply stopping the app and starting it resolves the error.
So I don't believe it's anything to do with application setup or configuration since its working fine and suddenly happens and resolved by simply stop and start.
2016-07-30 17:23:28,343 [TestScheduler_Worker-10] ERROR (TRIPSPortingTimeUtil.java:63) - Error Loading the file TRIPSB4NConfig.properties
java.util.MissingResourceException: Can't find bundle for base name TRIPSB4NConfig, locale en_GB
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:724)
UPDATE
One thing i have observed is that this seems to happen just after i see database transaction timeout and the following error
2016-05-26 20:11:25,995 [TestScheduler_Worker-8] ERROR (SqlHelperBean.java:1829) - Error while getting transaction Id -
weblogic.jdbc.extensions.ConnectionDeadSQLException: weblogic.common.resourcepool.ResourceDeadException: 0:weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: IO Error: The Network Adapter could not establish the connection
is it possible that this could have some knock on effect to my resource bundle?
Probably you don't need the resource before the error happens. When the application needs it a crash happens.
Can you check your resources files to check if the resource is present or not?
TRIPSB4NConfig.properties for language en_GB

Occasionally Getting java.lang.NoClassDefFoundError

I have a very unusual error condition that I can't seem to find the solution to. I'm hoping someone out here in StackOverflowland can help. Before you just look at the title and say "your CLASSPATH is wrong," read on!
I work with a server-based Java application that utilizes a number of third-party libraries. The particular library that I'm getting the error with is a file transfer library. Part of the functionality of the application allows the user to connect to remote servers (FTP, SFTP and FTPS) and send/receive files.
One of our customers is using the application and occasionally gets a "Class Not Found Exception" (or more specifically, "No Class Definition Found") when attempting to connect to a remote host. What's weird is that they don't get it all the time. They have sent me logs that show a successful connection and then another one which shows this error. There was no restart of the server between the two and both connections are to the same host using the same connection settings.
What would cause a "Class Not Found Exception" to occur occasionally within a Java application on a class that has already been successfully used? I've contacted the third-party vendor and they are just as puzzled.
I wasn't able to determine anything from the stack trace, but since it was requested, here it is:
java.lang.NoClassDefFoundError: com.enterprisedt.net.j2ssh.configuration.ConfigurationLoader (initialization failure)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:139)
at com.enterprisedt.net.j2ssh.SshThread.a(SshThread.java:93)
at com.enterprisedt.net.j2ssh.SshThread.<init>(SshThread.java:73)
at com.enterprisedt.net.j2ssh.transport.TransportProtocolCommon.startTransportProtocol(TransportProtocolCommon.java:515)
at com.enterprisedt.net.j2ssh.SshClient.connect(SshClient.java:593)
at com.enterprisedt.net.ftp.ssh.SCPClient.connectSSH(SCPClient.java:1137)
at com.enterprisedt.net.ftp.ssh.SSHFTPClient.connect(SSHFTPClient.java:920)
at com.enterprisedt.net.ftp.async.internal.ConnectTask.connect(ConnectTask.java:154)
at com.enterprisedt.net.ftp.async.internal.ConnectTask.run(ConnectTask.java:216)
at com.enterprisedt.net.ftp.async.internal.FTPTaskProcessor$b.run(FTPTaskProcessor.java:590)

Internal server error in a tomcat servlet

I am writing a java servlet for a REST interface using jersey. I have the following really weird problem: As soon as I POST to some resource I receive an internal server error (status 500). the localhost_access_log*.txt shows entries of the form
0:0:0:0:0:0:0:1 - - [27/Jan/2015:18:04:30 +0100] "POST /server/rest/requests HTTP/1.1" 500 1039
indicating the problem. However, I see no concrete error message, i.e. some kind of exception being thrown on the console (I am currently using eclipse). After the indication
INFO: Server startup in 5476 ms
Nothing appears any more. The start goes smooth without any problems as well. Also, it seems like the error occurs before any of my handler code is executed, as a corresponding breakpoint in eclipse is never reached. Does anyone have any ideas on how to get a handle on what is actually happening?
Well, I finally got it. I was using genson to convert between JSON / Java classes. Unfortunately the package silently fails when it receives malformed input and the server reacts by returning the internal error message...

GWT and an unreproducable 503 error

I have a web-application built with GWT (2.0.3) and run on Apache Tomcat 6.
My application uses long polling to enable client-server conversations.
When a client is unable to connect to the server it displays a disconnected message on the page and grays out the controls until it is able to resume conversation with the server.
This happens through the use of the onFailure method of the rpc services; I keep track on how many consequtive exceptions I've received and if it passes a defined threshhold the above scenario happens.
This allows notifying the user of a problem while in the background continuing to resume the server conversation.
This has been the configuration for about 6 months, and without a problem.
I compiled the application after a change and wanted to see it in stand-alone mode so I started up tomcat (not via eclipse) and everything seemed to work fine.
When I ctrl+c'd the apache (while having clients up) I saw the clients displaying a 503 error instead of my app with the disconnected message.
I then tried to reproduce the issue but was unable as the next times the app behaved as expected.
I'm not sure if it's relevant but recently I added an UncaughtExceptionHandler to my module's onModuleLoad.
Has anyone encountered such an issue?
Do you know how I can make my client immune to such an issue?
Thanks a lot,
Ittai
Probably your app tried to connect to server while it was in process of shutting down. Some of the services might have already shut so the request failed with internal server error.
I've got similar issue having an apache httpd in front of the tomcat and stopping tomcat while one of the "background" async requests were being made, due to the security redirection policy the failing request ends redirecting the browser and voilĂ  our 503 error page.

Categories