Thanks.  I was able to reproduce the problem and filed issue
5582<http://code.google.com/p/google-web-toolkit/issues/detail?id=5582>
.

@zhuyi: can you take a look at this bug?

On Thu, Nov 11, 2010 at 11:58 AM, yves <[email protected]> wrote:

> Miguel,
>
> Here is the ResultNode class
>
> public class ResultNode<T extends ResultNode<?>> implements Result {
>
>        private static final long serialVersionUID = -3560238969723137110L;
>
>        public int dataType;
>        public int id1;
>        public int id2;
>        public int id3;
>        public int id4;
>        public int numChildren;
>        public String data;
>        public T[] next;
>
>        public ResultNode() {}
> }
>
>
> and its parent, which is an empty placeholder for Serializable:
>
> public interface Result extends Serializable {
>
> }
>
>
> This class implements a node in a tree.
> The goal of the generics is to define the children nodes type (the
> next[] member).
> Actually ResultNode is not used by itself, only subtypes are
> instanciated. Subtypes of ResultNode define only additional int,
> boolean or float members. Nothing else.
>
> Even if the goal here is not to justify why I am doing this, this
> usage of the genrics allows me to remove from the code many unsafe
> type cast. Now with the generics I am sure of the member type
> (next[]). Isn't this the goal of generics ? :-)
>
> Yves
>
>
> On 11 nov, 17:34, Miguel Méndez <[email protected]> wrote:
> > @yves: What does the ResultNode class look like?  It is class
> ResultNode<T
> > extends ResultNode<?>> but what about its supertype and fields?
> >
> > On Thu, Nov 11, 2010 at 10:50 AM, yves <[email protected]> wrote:
> > > Chris,
> >
> > > JConsole does not succeed to connect to the java compilation : I get
> > > an out of memory error in sun.rmi.transport.tcp.TCPTransport
> > > $AcceptLoop.executeAcceptLoop while trying to start a new thread.
> > > => Result: no data in jconsole
> >
> > > The compiler is the one shipped with GWT 2.1.0RC1
> >
> > > I'll send you the output of -verbose:gc
> > > Yves
> >
> > > On 10 nov, 23:26, Chris Conroy <[email protected]> wrote:
> > > > Yves,
> >
> > > > You say this error did not occur before your most recent change. It
> > > > would be useful to get an idea for the memory usage before this
> > > > change: it could be that your app is just very large and you were
> > > > already on the edge of an OOME, your change really necessitates more
> > > > memory, or this is a pathological case.
> >
> > > > Here are a few things to try for gathering more useful information:
> >
> > > > -Try attaching jconsole to the compile in the before and after
> > > > scenario and see how the memory usage compares between both.
> >
> > > > -add -XX:-HeapDumpOnOutOfMemoryError to the JVM args for your failing
> > > > compile. There may be some interesting data in the resulting dump. If
> > > > you can share the heap dump with us (you can send me a link off list
> > > > if you like), then I can take a look.
> >
> > > > -Of course, make sure you are using the latest version of the GWT
> > > > compiler. The 2.1 compiler contains some changes that will reduce the
> > > > memory footprint of your compile.
> >
> > > > On Wed, Nov 10, 2010 at 1:20 PM, Scott Blum <[email protected]>
> wrote:
> > > > > Hmmm.... what happens if you turn down the log level, say to
> "WARN"?
> > > > > Are you invoking from the command line, or are you using the Google
> > > Plugin
> > > > > for Eclipse?
> >
> > > > > On Wed, Nov 10, 2010 at 4:16 PM, yves <[email protected]>
> wrote:
> >
> > > > >> Scott,
> > > > >> Thx for the tip. Anyway I can't allocate more than -Xmx1590M and I
> get
> > > > >> exactly the same error.
> > > > >> Yves
> >
> > > > >> On 9 nov, 07:47, Scott Blum <[email protected]> wrote:
> > > > >> > Hmm.... can you increase your virtual memory?
> >
> > > > >> > On Mon, Nov 8, 2010 at 5:13 PM, yves <[email protected]>
> wrote:
> > > > >> > > I can't, I only have 2GB RAM, I get this error as from
> -Xmx1024M
> > > > >> > >     [java] Error occurred during initialization of VM
> > > > >> > >     [java] Could not reserve enough space for object heap
> > > > >> > >     [java] Could not create the Java virtual machine.
> >
> > > > >> > > and the log level is INFO
> > > > >> > > Yves
> >
> > > > >> > > On 8 nov, 22:53, Scott Blum <[email protected]> wrote:
> > > > >> > > > What if you turn the heap up to -Xmx2048M?
> >
> > > > >> > > > What log level are you using?
> >
> > > > >> > > > On Mon, Nov 8, 2010 at 4:44 PM, yves <[email protected]>
> > > wrote:
> > > > >> > > > > Hi,
> >
> > > > >> > > > > I had a class named "ResultNode" and the project compiled
> > > fine.
> > > > >> > > > > In order to improve the code, I changed this class by
> adding
> > > > >> > > > > generic
> > > > >> > > > > stuff like that : ResultNode<T extends ResultNode<?>>.
> > > > >> > > > > Of course I adapted the entire project where needed to
> take
> > > > >> > > > > advantage
> > > > >> > > > > of this change.
> >
> > > > >> > > > > Now I get an "Internal compiler error"
> >
> > > > >> > > > > This is produced with java memory settings "-Xmx768M" and
> > > > >> > > > > "-Xss32M" .
> > > > >> > > > > (usually the settings are -Xmx128M and default value for
> -Xss
> > > and
> > > > >> > > > > I
> > > > >> > > > > never had such problem).
> >
> > > > >> > > > > BTW : a "javac" compilation on the project is succesfull,
> so
> > > it is
> > > > >> > > > > not
> > > > >> > > > > a java error.
> >
> > > > >> > > > > Any suggestion ? If more information is needed do not
> hesitate
> > > to
> > > > >> > > > > ask.
> > > > >> > > > > Thanks in advance
> > > > >> > > > > Yves
> >
> > > > >> > > > >     [java] Compiling module
> com.mycompany.myproject.MyProject
> > > > >> > > > >     [java]    [ERROR] Errors in
> > > > >> > > > > 'file:/C:/java/workspace/MyProject/
> >
> > > src/com/mycompany/myproject/client/model/AppActivityMapper.java'
> > > > >> > > > >     [java]       [ERROR]  Internal compiler error
> > > > >> > > > >     [java] java.lang.OutOfMemoryError: Java heap space
> > > > >> > > > >     [java]     at
> java.util.Arrays.copyOf(Arrays.java:2882)
> > > > >> > > > >     [java]     at
> >
> > >
> java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:
> > > > >> > > > > 100)
> > > > >> > > > >     [java]     at
> >
> > > java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)
> > > > >> > > > >     [java]     at
> > > > >> > > java.lang.StringBuilder.append(StringBuilder.java:119)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.dev.util.log.PrintWriterTreeLogger.doBranch(PrintWriterTreeLogger.java:
> > > > >> > > > > 59)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.dev.util.log.AbstractTreeLogger.branch(AbstractTreeLogger.java:
> > > > >> > > > > 126)
> > > > >> > > > >     [java]     at
> > > > >> > > > >
> com.google.gwt.core.ext.TreeLogger.branch(TreeLogger.java:222)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.computeTypeInstantiability(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 939)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.checkTypeArgument(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1412)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.checkSubtype(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1219)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.checkSubtypes(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1309)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.computeTypeInstantiability(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1011)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.checkArrayInstantiable(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1107)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.computeTypeInstantiability(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 977)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.checkTypeArgument(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1412)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.checkSubtype(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1219)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.checkSubtypes(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1309)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.computeTypeInstantiability(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1011)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.checkArrayInstantiable(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1107)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.computeTypeInstantiability(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 977)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.checkTypeArgument(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1412)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.checkSubtype(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1219)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.checkSubtypes(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1309)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.computeTypeInstantiability(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1011)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.checkArrayInstantiable(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1107)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.computeTypeInstantiability(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 977)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.checkTypeArgument(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1412)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.checkSubtype(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1219)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.checkSubtypes(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1309)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.computeTypeInstantiability(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1011)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.checkArrayInstantiable(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 1107)
> > > > >> > > > >     [java]     at
> >
> > >
> com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.computeTypeInstantiability(SerializableTypeOracleBuilder.java:
> > > > >> > > > > 977)
> > > > >> > > > >     [java] [ERROR] Unexpected
> >
> > > > >> > > > > --
> >
> > ...
> >
> > plus de détails »
>
> --
> http://groups.google.com/group/Google-Web-Toolkit-Contributors
>



-- 
Miguel

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to