title: Exceptions logged with RPC are throwing IncompatibleRemoteServiceException
body: <p>So right, the basics, this is running on GWT2.5.0 / JDK1.6 and set up more or less as the docs have it set up</p>
  
  <p>gwt.xml</p>
  
  <pre><code>&lt;inherits name="com.google.gwt.logging.Logging" /&gt;
  
  &lt;set-property name="gwt.logging.simpleRemoteHandler"
      value="ENABLED" /&gt;
  &lt;set-property name="gwt.logging.logLevel" value="INFO" /&gt;
  &lt;set-property name="gwt.logging.enabled" value="TRUE" /&gt;
  &lt;set-property name="gwt.logging.developmentModeHandler"
      value="ENABLED" /&gt;
  &lt;set-property name="gwt.logging.systemHandler" value="DISABLED" /&gt;
  &lt;set-property name="gwt.logging.popupHandler" value="DISABLED" /&gt;
  &lt;set-property name="gwt.logging.consoleHandler" value="ENABLED" /&gt;
  &lt;set-property name="gwt.logging.firebugHandler" value="ENABLED" /&gt;
  </code></pre>
  
  <p>and I'm forcing the exception with the following code, just a simple NullPointException</p>
  
  <pre><code>     try {
          Level n = null;
          n.getName();
        } catch (NullPointerException ex) {             
          logger.log(Level.SEVERE, "Null Exception Hit", ex);
        }
  </code></pre>
  
  <p>But for some reason this is thrown when the exception is thrown to the server</p>
  
  <pre><code>[WARN] remoteLogging: An IncompatibleRemoteServiceException was thrown while processing this call.
  com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException: Type 'com.google.gwt.core.client.impl.SerializableThrowable' was not assignable to 'com.google.gwt.user.client.rpc.IsSerializable' and did not have a custom field serializer. For security purposes, this type will not be deserialized.
  at com.google.gwt.user.server.rpc.RPC.decodeRequest(RPC.java:323)
  at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:206)
  </code></pre>
  
  <p>The RPC servlet is properly configured and if I throw just the message and not the exception it logs back to the server just fine.</p>
  
  <p>According to the docs on remote server logging this should "just work" and I don't see why this is getting thrown. It seems to me SerializableThrowable should by definition be serializable. I know you  have to jump through some hoops to have your own classes be serializable, but everything I've read says I should be able to toss exceptions back to the server without issue. Any ideas? It looks like since 2.5.0 serializableThrowable has been moved to com.google.gwt.core.shared.SerializableThrowable, but I don't think that's doing it.</p>