Using GWT 2.8.2.  I started seeing errors being picked up by 
the GWT.setUncaughtExceptionHandler.  So, I implemented 
the StackTraceDeobfuscator by adding the following to my .gwt.xml:

<set-property name="compiler.stackMode" value="emulated" />
<set-configuration-property name="compiler.emulatedStack.recordLineNumbers" 
value="true" />
<set-configuration-property name="compiler.emulatedStack.recordFileNames" 
value="true"/>

Passing the exception back to the server RemoteServiceServlet, and doing 
the following:

String path = getServletConfig().getServletContext().getRealPath(
"/WEB-INF/deploy/<module>/symbolMaps/");
StackTraceDeobfuscator deobfuscator = StackTraceDeobfuscator.fromFileSystem(
path);
String strongName = getThreadLocalRequest().getHeader(RpcRequestBuilder.
STRONG_NAME_HEADER);

// Deobfuscate the stack trace
deobfuscator.deobfuscateStackTrace(exception, strongName);

// Convert the stack trace to a string
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
exception.printStackTrace(pw);
stackTrace = sw.toString();

Now, when I look at what is saved in stackTrace, it is things like this:

java.lang.ClassCastException
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(
NativeConstructorAccessorImpl.java:62)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
 at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.
instantiate(ServerSerializationStreamReader.java:1110)
 at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.
deserialize(ServerSerializationStreamReader.java:682)
 at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.
readObject(ServerSerializationStreamReader.java:592)
 at com.google.gwt.user.server.rpc.impl.
ServerSerializationStreamReader$ValueReader$8.readValue(
ServerSerializationStreamReader.java:149)
 at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.
deserializeValue(ServerSerializationStreamReader.java:434)
 at com.google.gwt.user.server.rpc.RPC.decodeRequest(RPC.java:312)
 at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(
RemoteServiceServlet.java:296)
 at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(
RemoteServiceServlet.java:373)
 at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(
AbstractRemoteServiceServlet.java:62)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
 at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
ServletHandler.java:1772)
 at team.drift.server.ServletFilter.doFilter(ServletFilter.java:37)
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
ServletHandler.java:1759)
 at com.google.apphosting.utils.servlet.JdbcMySqlConnectionCleanupFilter.
doFilter(JdbcMySqlConnectionCleanupFilter.java:60)
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
ServletHandler.java:1759)
 at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
582)
 at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java
:143)
 at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:
524)
 at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.
java:226)
 at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java
:143)
 at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
java:134)
 at com.google.apphosting.runtime.jetty9.ParseBlobUploadHandler.handle(
ParseBlobUploadHandler.java:119)
 at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.
java:1182)
 at com.google.apphosting.runtime.jetty9.AppEngineWebAppContext.doHandle(
AppEngineWebAppContext.java:183)
 at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512
)
 at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.
java:185)
 at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.
java:1112)
 at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java
:141)
 at com.google.apphosting.runtime.jetty9.AppVersionHandlerMap.handle(
AppVersionHandlerMap.java:293)
 at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
java:134)
 at org.eclipse.jetty.server.Server.handle(Server.java:539)
 at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
 at com.google.apphosting.runtime.jetty9.RpcConnection.handle(RpcConnection.
java:213)
 at com.google.apphosting.runtime.jetty9.RpcConnector.serviceRequest(
RpcConnector.java:81)
 at com.google.apphosting.runtime.jetty9.JettyServletEngineAdapter.
serviceRequest(JettyServletEngineAdapter.java:123)
 at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.
dispatchServletRequest(JavaRuntime.java:692)
 at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.
dispatchRequest(JavaRuntime.java:655)
 at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(
JavaRuntime.java:625)
 at com.google.apphosting.runtime.JavaRuntime$NullSandboxRequestRunnable.run
(JavaRuntime.java:817)
 at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(
ThreadGroupPool.java:269)
 at java.lang.Thread.run(Thread.java:748)

I also save the user agent, which was:
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) 
Chrome/74.0.3729.157 Safari/537.36

I was hoping for a more meaningful stack trace.

I also tried an exception that I raised, and I get the same stack trace:

team.drift.common.model.DriftTeamException: Sorry, your browser does not 
support WebGL.
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(
NativeConstructorAccessorImpl.java:62)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
 at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.
instantiate(ServerSerializationStreamReader.java:1110)
 at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.
deserialize(ServerSerializationStreamReader.java:682)
 at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.
readObject(ServerSerializationStreamReader.java:592)
 at com.google.gwt.user.server.rpc.impl.
ServerSerializationStreamReader$ValueReader$8.readValue(
ServerSerializationStreamReader.java:149)
 at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.
deserializeValue(ServerSerializationStreamReader.java:434)
 at com.google.gwt.user.server.rpc.RPC.decodeRequest(RPC.java:312)
 ...

Am I doing something wrong?

Thanks.

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/19d6190e-5a9b-417d-b524-7227b840b5a7%40googlegroups.com.

Reply via email to