Show stacktrace on 500 error when calling tomcat via REST - rest

How can I configure tomcat to show the actual stacktrace during a 500 error on a REST call? Currently I only get a "System error occurred - 500" type of message. Is there a plugin/configuration setting that will allow me to add more detail in the returned error?
I see a similar question: Tomcat not showing full stack trace in Error Report for Http status 500 error but this suggests going to the server logs. I would like (at least in development mode) to see the error at the client side.

Related

Not able to run azure logic apps locally using VScode and Azurite

I am using VSCode to create and test my logic apps locally. I have created a simple HTTP trigger and response for it. I have installed all the components and versions correctly. I am getting below error when I run my logic apps,
**Workflow Error: operationName='WorkflowDefinitionProvider.ProcessWorkflow', message='Workflow 'test-1' validate and create workflow failed, the error is 'One or more errors occurred. (Unexpected HTTP status code 'NotFound'.) (Unexpected HTTP status code 'NotFound'.)'', exception='System.AggregateException: One or more errors occurred. (Unexpected HTTP status code 'NotFound'.) (Unexpected HTTP status code 'NotFound'.)
[2022-05-03T02:52:23.134Z] ---> Microsoft.WindowsAzure.Storage.StorageException: Unexpected HTTP status code 'NotFound'.
[2022-05-03T02:52:23.136Z] ---> System.Net.WebException: The remote server returned an error: (404) Not Found.**
It is also giving me below error in the logs,
**ErrorCode:
[2022-05-03T03:08:44.593Z] ', extensionVersion='1.0.0.0', siteName='UNDEFINED_SITE_NAME', slotName='', activityId='00000000-0000-0000-0000-000000000000'.
[2022-05-03T03:08:44.595Z] The listener for function 'Functions.WorkflowDispatcher' was unable to start.
[2022-05-03T03:08:44.595Z] The listener for function 'Functions.WorkflowDispatcher' was unable to start. Microsoft.WindowsAzure.ResourceStack: Unexpected HTTP status code 'NotFound'. The remote server returned an error: (404) Not Found.**
The process to test that I am following,
Start azurite in VSCode
and then Execute function - func host start
Anyone has any clue or faced similar problems? I am using logic apps first time.
To be able to test HTTP triggers locally you need to
"To locally run webhook-based triggers and actions, such as the built-in HTTP Webhook trigger, in Visual Studio Code, you need to set up forwarding for the callback URL."
https://learn.microsoft.com/en-us/azure/logic-apps/create-single-tenant-workflows-visual-studio-code

Why is Swift Kitura Server Not Terminating Some Threads?

I am having a somewhat reproducible problem on a Swift server I'm running. This is a multi-threaded server, using Kitura. The basics are: After the server has been running for a period of time, download requests start needing retries from the client (usually three retries). The attempts from the client result in the server thread not terminating. On the server, the download problem shows up like this in the log:
[INFO] REQUEST /DownloadFile: ABOUT TO END ...
And then the request never terminates.
The relevant fragment code in my server looks like this:
// <snip>
Log.info(message: "REQUEST \(request.urlURL.path): ABOUT TO END ...")
do {
try self.response.end()
Log.info(message: "REQUEST \(request.urlURL.path): STATUS CODE: \(response.statusCode)")
} catch (let error) {
Log.error(message: "Failed on `end` in failWithError: \(error.localizedDescription); HTTP status code: \(response.statusCode)")
}
Log.info(message: "REQUEST \(request.urlURL.path): COMPLETED")
// <snip>
That is, the server clearly seems to hang on the call to end (a Kitura method). See also https://github.com/crspybits/SyncServerII/blob/master/Sources/Server/Setup/RequestHandler.swift#L105
Immediately before this issue came up last time, I observed the following in my server log:
[2017-07-12T15:31:23.302Z] [ERROR] [HTTPServer.swift:194 listen(listenSocket:socketManager:)] Error accepting client connection: Error code: 5(0x5), ERROR: SSL_accept, code: 5, reason: DH lib
[2017-07-12T15:31:23.604Z] [ERROR] [HTTPServer.swift:194 listen(listenSocket:socketManager:)] Error accepting client connection: Error code: 1(0x1), ERROR: SSL_accept, code: 1, reason: Could not determine error reason.
[2017-07-12T15:31:23.995Z] [ERROR] [HTTPServer.swift:194 listen(listenSocket:socketManager:)] Error accepting client connection: Error code: 1(0x1), ERROR: SSL_accept, code: 1, reason: Could not determine error reason.
[2017-07-12T15:40:32.941Z] [ERROR] [HTTPServer.swift:194 listen(listenSocket:socketManager:)] Error accepting client connection: Error code: 1(0x1), ERROR: SSL_accept, code: 1, reason: Could not determine error reason.
[2017-07-12T15:42:43.000Z] [VERBOSE] [HTTPServerRequest.swift:215 parsingCompleted()] HTTP request from=139.162.78.135; proto=https;
[INFO] REQUEST RECEIVED: /
[2017-07-12T16:32:38.479Z] [ERROR] [HTTPServer.swift:194 listen(listenSocket:socketManager:)] Error accepting client connection: Error code: 1(0x1), ERROR: SSL_accept, code: 1, reason: Could not determine error reason.
I am not sure where this is coming from in the sense that I'm not sure if one of my client's is generating this. I do not explicitly make requests to my server with "/". (I do occasionally see requests made to my server from clients that are not mine-- it is possible this is one of these). Note that all except one of these log messages are coming from Kitura, not directly from my code. My log message is [INFO] REQUEST RECEIVED: /.
If I was a betting man, I'd say the above errors put my server into a state where afterwards, I see this download/retry behavior.
My only solution at this point is to restart the server. From which point the issue doesn't immediately happen.
Thoughts?
I'm not sure if this addresses the root problem, or if it's just a work-around, but it appears to be working. With the server as stated in the question, I had been using Kitura's built-in SSL support. I have now switched to using NGINX as a front-end, and no longer use Kitura's built-in SSL support. NGINX takes care of all the HTTPS/SSL details. Since doing this (about a month ago), and with the server running for all of that intervening time, I have not experience the not terminating issue reported in this question. See also https://github.com/crspybits/SyncServerII/issues/28

gremlin server REST restfull Error encountered evaluating script

I am running a gremlin-server, and using restful api to query it. But I'm confused with this error below :
{"message":"Error encountered evaluating script: g.V().next()"}
but it is such a simple script.
for other script like "100-1" and "g", the query result is just OK. I have checked lots times for spelling and character. And I also have checked the gremlin-server logs, but there was no related records. So I ask for your help, Thanks!
You would run into that error if you don't have any data in the graph because it is an unchecked traversal. You should try a query like:
if (g.V().hasNext()) { g.V().next() }
If you're using Apache TinkerPop 3.1.2 or later, you would have seen a more informative stack trace in the Gremlin Server logs:
[WARN] HttpGremlinEndpointHandler - Invalid request - responding with 500 Internal Server Error and Error encountered evaluating script: g.V().next()
org.apache.tinkerpop.gremlin.process.traversal.util.FastNoSuchElementException

The resource not available error in eclipse ,jsp and tomcat and mysql

I am using eclipse indigo(javaEE) and apache tomcat 7.0.23. the jsp code
pstatement = connection.prepareStatement(queryString);
pstatement.setString(1, name);
pstatement.setString(2, city);
pstatement.setString(3, phone);
updateQuery = pstatement.executeUpdate();
is giving error as the requested resource jsp1/prepared_statement_query.jsp is not available.
The simple .jsp file executes properly and shows the successful connection, but not for insertion into the database. I am not getting whether there is problem with the database connection or the running of the server?
Is it any kind of 404 error? is the file "prepared_statement_query.jsp" not in the place where it should be?
If the error is - "404 Requested Resource Not Found" then find the file in proper place.
And Kindly post the complete stack trace for better understanding of the issue.

V8 version in node and ChromeDevTools?

My main questions are:
What version of V8 am I running from node 0.4.10?
How can I tell if this version is compatible with ChromeDevTools 0.2.2 in Eclipse?
Background: I've almost got Eclipse working for debugging node.js remotely. In fact it works perfectly (after adding a server proxy) for a simple "Hello World" app, but it won't hook up properly when I add "express" to the mix. The Eclipse error is:
An internal error occurred during: "Debug session initialization:
Remote NodeJS". Exception occured in callback
...which I tracked down to line 61 of the this source code (Thanks to the misspelling of "occured".)
I'd like to eliminate version skew possibilities before going further.
EDIT: Dug the stack trace out of the error log. Hmmm, maybe I have an encoding problem in my server proxy?
java.lang.RuntimeException: Exception occured in callback
at org.chromium.sdk.CallbackSemaphore.tryAcquire(CallbackSemaphore.java:61)
at org.chromium.sdk.CallbackSemaphore.tryAcquireDefault(CallbackSemaphore.java:29)
at org.chromium.sdk.internal.JavascriptVmImpl.getScripts(JavascriptVmImpl.java:33)
at org.chromium.debug.core.model.VProjectWorkspaceBridge.reloadScriptsAtStart(VProjectWorkspaceBridge.java:121)
at org.chromium.debug.core.model.LaunchInitializationProcedure.execute(LaunchInitializationProcedure.java:80)
at org.chromium.debug.core.model.LaunchInitializationProcedure.access$0(LaunchInitializationProcedure.java:64)
at org.chromium.debug.core.model.LaunchInitializationProcedure$1.run(LaunchInitializationProcedure.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.Exception: Exception saved from callback
at org.chromium.sdk.CallbackSemaphore.callbackDone(CallbackSemaphore.java:72)
at org.chromium.sdk.internal.DebugSession$ScriptLoader$2.callbackDone(DebugSession.java:276)
at org.chromium.sdk.internal.tools.v8.BaseCommandProcessor.callThemBack(BaseCommandProcessor.java:136)
at org.chromium.sdk.internal.tools.v8.BaseCommandProcessor.processIncoming(BaseCommandProcessor.java:103)
at org.chromium.sdk.internal.tools.v8.V8CommandProcessor.processIncomingJson(V8CommandProcessor.java:109)
at org.chromium.sdk.internal.StandaloneVmImpl$4.messageReceived(StandaloneVmImpl.java:108)
at org.chromium.sdk.internal.transport.SocketConnection$RegularMessageItem.report(SocketConnection.java:120)
at org.chromium.sdk.internal.transport.SocketConnection$ResponseDispatcherThread.run(SocketConnection.java:206)
Caused by: java.lang.RuntimeException: org.eclipse.core.internal.resources.ResourceException: < is an invalid character in resource name '<eval #83>.chromium'.
at org.chromium.debug.core.util.ChromiumDebugPluginUtil$4.tryCreate(ChromiumDebugPluginUtil.java:247)
at org.chromium.debug.core.util.ChromiumDebugPluginUtil$4.tryCreate(ChromiumDebugPluginUtil.java:1)
at org.chromium.debug.core.util.UniqueKeyGenerator.createUniqueKey(UniqueKeyGenerator.java:22)
at org.chromium.debug.core.util.ChromiumDebugPluginUtil.createFile(ChromiumDebugPluginUtil.java:254)
at org.chromium.debug.core.model.ResourceManager.createAndRegisterResourceFile(ResourceManager.java:106)
at org.chromium.debug.core.model.ResourceManager.addScript(ResourceManager.java:72)
at org.chromium.debug.core.model.VProjectWorkspaceBridge$2.success(VProjectWorkspaceBridge.java:131)
at org.chromium.sdk.internal.DebugSession$ScriptLoader$1$1.call(DebugSession.java:236)
at org.chromium.sdk.internal.DebugSession$ScriptLoader$1.processCall(DebugSession.java:258)
at org.chromium.sdk.internal.DebugSession$ScriptLoader$1.success(DebugSession.java:233)
at org.chromium.sdk.internal.tools.v8.V8Helper$2.success(V8Helper.java:120)
at org.chromium.sdk.internal.tools.v8.V8CommandCallbackBase.messageReceived(V8CommandCallbackBase.java:25)
at org.chromium.sdk.internal.tools.v8.V8CommandCallbackBase.messageReceived(V8CommandCallbackBase.java:1)
at org.chromium.sdk.internal.tools.v8.BaseCommandProcessor$2.call(BaseCommandProcessor.java:99)
at org.chromium.sdk.internal.tools.v8.BaseCommandProcessor$2.call(BaseCommandProcessor.java:1)
at org.chromium.sdk.internal.tools.v8.BaseCommandProcessor.callThemBack(BaseCommandProcessor.java:129)
... 5 more
Caused by: org.eclipse.core.internal.resources.ResourceException: < is an invalid character in resource name '<eval #83>.chromium'.
at org.eclipse.core.internal.resources.Resource.checkValidPath(Resource.java:432)
at org.eclipse.core.internal.resources.File.create(File.java:116)
at org.eclipse.core.internal.resources.File.create(File.java:196)
at org.chromium.debug.core.util.ChromiumDebugPluginUtil$4.tryCreate(ChromiumDebugPluginUtil.java:245)
... 20 more
process.versions in the repl reveals this information:
> process.versions
{ node: '0.4.10', v8: '3.1.8.26', ares: '1.7.4', ev: '4.4', openssl: '1.0.0d' }
There shouldn't be any version-related problem here, at least at initialization stage.
V8 debug protocol is evolving quite slowly.
Unfortunately the message you cite is too general. Do you think you can find a stacktrace somewhere? The message may have 'details' button (but you would probably spot it), also the exception is usually logged. You can try to open a view "General->Error Log" (available in most Eclipse configurations), or you can take a look inside a file in your Eclipse workspace: /.metadata/.log.
The code indicates that there is a cause exception, which is missing from the error message.
Thank you for the spelling error report. :)