Thursday, July 28, 2011

Re: Exception in thread UnitWriteThread

To answer my own question. It turns out that the file descriptor count
required from 2.1 to 2.4 has increased. Our Jenkins box runs as a
normal user which has the default ulimit enforced on it. In one of the
compiles we had issues attempting to compile an ImageResource because
too many files open. After increasing the ulimit from 1024 to 2048
all errors went away.

I guess the only question would be what was the count before and what
changed that would increase the file descriptor limit? As a side we
build our GWT projects in parallel using the <parallel/> ant task. We
are limiting the number of concurrent threads to 2, which was the same
before we updated GWT.

-Adam

On Jul 27, 9:43 pm, Adam <ambr...@gmail.com> wrote:
> We recently upgraded from GWT 2.1 to GWT 2.4 Beta.  Since the update
> we have been getting "Exception in thread "UnitWriteThread"
> java.lang.NullPointerException".  It doesn't seem to cause any
> problems in that the code still successfully compiles and runs.
>
> Here's some GWT Compiler debug output:
>
>      [java]             Found better fallback match for <replace-with
> class='com.google.gwt.user.client.ui.impl.RichTextAreaImplIE6'/>
>      [java]             Checking rule <replace-with
> class='com.google.gwt.user.client.ui.ResizeLayoutPanel.ImplIE6'/>
>      [java]                Checking if all subconditions are true
> (<all>)
>      [java]                   <when-type-is
> class='com.google.gwt.user.client.ui.ResizeLayoutPanel.Impl'/>
>      [java]                      Not an exact match
>      [java]                   No: One or more subconditions was false
>      [java]             Rule did not match
>      [java]             Found better fallback match for <replace-with
> class='com.google.gwt.user.client.ui.ResizeLayoutPanel.ImplIE6'/>
>      [java]             Checking rule <replace-with
> class='com.google.gwt.user.client.ui.ResizeLayoutPanel.ImplTrident'/>
>      [java]                Checking if all subconditions are true
> (<all>)
>      [java]                   <when-type-is
> class='com.google.gwt.user.client.ui.ResizeLayoutPanel.Impl'/>
>      [java]                      Not an exact match
>      [java]                   No: One or more subconditions was false
>      [java]             Rule did not match
>      [java]             Found better fallback match for <replace-with
> class='com.google.gwt.user.client.ui.ResizeLayoutPanel.ImplTrident'/>
>      [java]             Checking rule <replace-with
> class='com.google.gwt.user.client.ui.ResizeLayoutPanel.ImplStandard'/>
>      [java]                Checking if all subconditions are true
> (<all>)
>      [java]                   <when-type-is
> class='com.google.gwt.user.client.ui.ResizeLayoutPanel.Impl'/>
>      [java]                      Not an exact match
>      [java]                   No: One or more subconditions was false
>      [java]             Rule did not match
>      [java]             Found better fallback match for <replace-with
> class='com.google.gwt.user.client.ui.ResizeLayoutPanel.ImplStandard'/>
>      [java]             Checking rule <generate-with
> class='com.google.gwt.user.rebind.rpc.ServiceInterfaceProxyGenerator'/
>
>      [java]                Checking if all subconditions are true
> (<all>)
>      [java]                   <when-assignable
> class='com.google.gwt.user.client.rpc.RemoteService'/>
>      [java] Exception in thread "UnitWriteThread"
> java.lang.NullPointerException
>      [java]     at
> com.google.gwt.dev.util.DiskCache.transferFromStream(DiskCache.java:
> 154)
>      [java]     at
> com.google.gwt.dev.javac.SourceFileCompilationUnit.asCachedCompilationUnit( SourceFileCompilationUnit.java:
> 59)
>      [java]     at
> com.google.gwt.dev.javac.CompilationUnit.writeReplace(CompilationUnit.java:
> 392)
>      [java]     at
> sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
>      [java]     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp l.java:
> 25)
>      [java]     at java.lang.reflect.Method.invoke(Method.java:597)
>      [java]     at
> java.io.ObjectStreamClass.invokeWriteReplace(ObjectStreamClass.java:
> 1032)
>      [java]     at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1115)
>      [java]     at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
>      [java]     at com.google.gwt.dev.javac.PersistentUnitCache
> $UnitWriter.run(PersistentUnitCache.java:226)
>      [java]                      No, the requested type was not
> assignable
>      [java]                   No: One or more subconditions was false
>      [java]             Rule did not match
>      [java]             Found better fallback match for <generate-with
> class='com.google.gwt.user.rebind.rpc.ServiceInterfaceProxyGenerator'/
>
>      [java]             Checking rule <replace-with
> class='com.google.gwt.user.client.ui.impl.PopupImplIE6'/>
>      [java]                Checking if all subconditions are true
> (<all>)
>      [java]                   <when-type-is
> class='com.google.gwt.user.client.ui.impl.PopupImpl'/>
>      [java]                      Not an exact match
>      [java]                   No: One or more subconditions was false
>      [java]             Rule did not match
>      [java]             Found better fallback match for <replace-with
> class='com.google.gwt.user.client.ui.impl.PopupImplIE6'/>
>      [java]             Checking rule <replace-with
> class='com.google.gwt.user.client.ui.impl.PopupImplMozilla'/>
>      [java]                Checking if all subconditions are true
> (<all>)
>      [java]                   <when-type-is
> class='com.google.gwt.user.client.ui.impl.PopupImpl'/>
>      [java]                      Not an exact match
>      [java]                   No: One or more subconditions was false
>      [java]             Rule did not match
>      [java]             Found better fallback match for <replace-with
> class='com.google.gwt.user.client.ui.impl.PopupImplMozilla'/>
>      [java]             Checking rule <generate-with
> class='com.google.gwt.user.rebind.ui.ImageBundleGenerator'/>
>      [java]                Checking if all subconditions are true
> (<all>)
>      [java]                   <when-assignable
> class='com.google.gwt.user.client.ui.ImageBundle'/>
>      [java]                      No, the requested type was not
> assignable
>      [java] Shutting down PersistentUnitCache thread

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.

No comments:

Post a Comment