11 Replies Latest reply on May 6, 2014 1:16 AM by jan.swaelens

    Errai tutorial master and gwt SuperDevMode

    jdestef

      Hi,

       

      Trying to run the super devmode server with the errai-tutorial-master project. When I get to the web page and hit the compile button I get an error. The error line looks as follows:

       

       

      Computing all possible rebind results for 'org.jboss.errai.marshalling.client.api.MarshallerFactoryImpl.Marshaller_for_java_lang_StackTraceElement'

      [INFO]       Rebinding org.jboss.errai.marshalling.client.api.MarshallerFactoryImpl.Marshaller_for_java_lang_StackTraceElement

      [INFO]          Invoking generator org.jboss.errai.marshalling.rebind.MarshallerGenerator

      [INFO]             [ERROR] Generator 'org.jboss.errai.marshalling.rebind.MarshallerGenerator' threw an exception while rebinding 'org.jboss.errai.marshalling.client.api.MarshallerFactoryImpl.Marshaller_for_java_lang_StackTraceElement'

      [INFO] org.jboss.errai.codegen.exception.GenerationException: Generation context for output target GWT was not created!

      [INFO] at org.jboss.errai.marshalling.rebind.api.GeneratorMappingContextFactory.getFor(GeneratorMappingContextFactory.java:52)

      [INFO] at org.jboss.errai.marshalling.rebind.MarshallerGenerator.generate(MarshallerGenerator.java:58)

      [INFO] at com.google.gwt.core.ext.IncrementalGenerator.generateNonIncrementally(IncrementalGenerator.java:40)

      [INFO] at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:657)

      [INFO] at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41)

      [INFO] at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:79)

      [INFO] at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:276)

      [INFO] at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:265)

      [INFO] at com.google.gwt.dev.DistillerRebindPermutationOracle.getAllPossibleRebindAnswers(DistillerRebindPermutationOracle.java:91)

      [INFO] at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.handleGwtCreate(UnifyAst.java:355)

      [INFO] at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.handleMagicMethodCall(UnifyAst.java:433)

      [INFO] at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.endVisit(UnifyAst.java:237)

      [INFO] at com.google.gwt.dev.jjs.ast.JMethodCall.traverse(JMethodCall.java:243)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)

      [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:116)

      [INFO] at com.google.gwt.dev.jjs.ast.JCastOperation.traverse(JCastOperation.java:65)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)

      [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:116)

      [INFO] at com.google.gwt.dev.jjs.ast.JBinaryOperation.traverse(JBinaryOperation.java:81)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)

      [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:116)

      [INFO] at com.google.gwt.dev.jjs.ast.JExpressionStatement.traverse(JExpressionStatement.java:41)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor$ListContextImmutable.traverse(JModVisitor.java:170)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.acceptWithInsertRemoveImmutable(JModVisitor.java:336)

      [INFO] at com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:83)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)

      [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:137)

      [INFO] at com.google.gwt.dev.jjs.ast.JIfStatement.traverse(JIfStatement.java:52)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor$ListContextImmutable.traverse(JModVisitor.java:170)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.acceptWithInsertRemoveImmutable(JModVisitor.java:336)

      [INFO] at com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:83)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)

      [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:137)

      [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:133)

      [INFO] at com.google.gwt.dev.jjs.ast.JMethodBody.traverse(JMethodBody.java:82)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)

      [INFO] at com.google.gwt.dev.jjs.ast.JMethod.visitChildren(JMethod.java:434)

      [INFO] at com.google.gwt.dev.jjs.ast.JMethod.traverse(JMethod.java:403)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)

      [INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)

      [INFO] at com.google.gwt.dev.jjs.impl.UnifyAst.mainLoop(UnifyAst.java:900)

      [INFO] at com.google.gwt.dev.jjs.impl.UnifyAst.exec(UnifyAst.java:625)

      [INFO] at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:640)

      [INFO] at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java:33)

      [INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java:278)

      [INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java:229)

      [INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java:141)

      [INFO] at com.google.gwt.dev.Compiler.run(Compiler.java:232)

      [INFO] at com.google.gwt.dev.codeserver.Recompiler.compile(Recompiler.java:92)

      [INFO] at com.google.gwt.dev.codeserver.ModuleState.recompile(ModuleState.java:72)

      [INFO] at com.google.gwt.dev.codeserver.WebServer.doGet(WebServer.java:197)

      [INFO] at com.google.gwt.dev.codeserver.WebServer.handleRequest(WebServer.java:157)

      [INFO] at com.google.gwt.dev.codeserver.WebServer.access$000(WebServer.java:64)

      [INFO] at com.google.gwt.dev.codeserver.WebServer$1.doGet(WebServer.java:121)

      [INFO] at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)

      [INFO] at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

      [INFO] at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)

      [INFO] at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1097)

      [INFO] at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:81)

      [INFO] at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:129)

      [INFO] at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1088)

      [INFO] at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)

      [INFO] at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)

      [INFO] at org.mortbay.jetty.Server.handle(Server.java:324)

      [INFO] at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)

      [INFO] at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)

      [INFO] at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)

      [INFO] at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)

      [INFO] at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)

      [INFO] at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)

      [INFO] at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)

      [INFO]    [ERROR] Errors in 'gen/org/jboss/errai/marshalling/client/api/MarshallerFactoryImpl.java'

      [INFO]       [ERROR] Line 204: Failed to resolve 'org.jboss.errai.marshalling.client.api.MarshallerFactoryImpl.Marshaller_for_java_lang_StackTraceElement' via deferred binding

      [INFO]    Computing all possible rebind results for 'org.jboss.errai.marshalling.client.api.MarshallerFactoryImpl.Marshaller_for_java_lang_Throwable'

      [INFO]       Rebinding org.jboss.errai.marshalling.client.api.MarshallerFactoryImpl.Marshaller_for_java_lang_Throwable

      [INFO]          Invoking generator org.jboss.errai.marshalling.rebind.MarshallerGenerator

      [INFO]             [ERROR] Generator 'org.jboss.errai.marshalling.rebind.MarshallerGenerator' threw an exception while rebinding 'org.jboss.errai.marshalling.client.api.MarshallerFactoryImpl.Marshaller_for_java_lang_Throwable'

      [INFO] org.jboss.errai.codegen.exception.GenerationException: Generation context for output target GWT was not created!

       

      Wondering what "org.jboss.errai.codegen.exception.GenerationException: Generation context for output target GWT was not created!" means? Has anyone using superdevmode seen this?

       

      I ran this from inside intellij and from the command line with the same result.

       

      Thanks

        • 1. Re: Errai tutorial master and gwt SuperDevMode
          csa

          Hi John,

           

          Thanks for reporting this. I have just pushed a fix. So, it should work if you use the latest 3.0-SNAPSHOTs.

           

          Alternatively, you can use an older version i.e. 3.0.0.20131205-M3 or 2.4.3.Final.

           

          Cheers,

          Christian

          • 2. Re: Errai tutorial master and gwt SuperDevMode
            jdestef

            Thanks Christian,

             

            That worked.

            • 3. Re: Errai tutorial master and gwt SuperDevMode
              jan.swaelens

              Hello,

               

              We are using version 3.0.0.20140325-M5 which seems to exibit this problem too:

               

                 Computing all possible rebind results for 'org.jboss.errai.marshalling.client.api.MarshallerFactory'

                    Rebinding org.jboss.errai.marshalling.client.api.MarshallerFactory

                       Invoking generator org.jboss.errai.marshalling.rebind.MarshallersGenerator

                          Generating Marshallers Bootstrapper...

                 Computing all possible rebind results for 'org.jboss.errai.marshalling.client.api.MarshallerFactoryImpl.Marshaller_for_java_lang_StackTraceElement'

                    Rebinding org.jboss.errai.marshalling.client.api.MarshallerFactoryImpl.Marshaller_for_java_lang_StackTraceElement

                       Invoking generator org.jboss.errai.marshalling.rebind.MarshallerGenerator

                          [ERROR] Generator 'org.jboss.errai.marshalling.rebind.MarshallerGenerator' threw an exception while rebinding 'org.jboss.errai.marshalling.client.api.MarshallerFactoryImpl.Marshaller_for_java_lang_StackTraceElement'

              org.jboss.errai.codegen.exception.GenerationException: Generation context for output target GWT was not created!

                at org.jboss.errai.marshalling.rebind.api.GeneratorMappingContextFactory.getFor(GeneratorMappingContextFactory.java:52)

                at org.jboss.errai.marshalling.rebind.MarshallerGenerator.generate(MarshallerGenerator.java:58)

                at com.google.gwt.core.ext.IncrementalGenerator.generateNonIncrementally(IncrementalGenerator.java:40)

                at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:676)

                at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41)

                at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:79)

                at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:276)

                at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:265)

                at com.google.gwt.dev.DistillerRebindPermutationOracle.getAllPossibleRebindAnswers(DistillerRebindPermutationOracle.java:91)

                at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.handleGwtCreate(UnifyAst.java:387)

                at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.handleMagicMethodCall(UnifyAst.java:465)

                at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.endVisit(UnifyAst.java:255)

                at com.google.gwt.dev.jjs.ast.JMethodCall.traverse(JMethodCall.java:244)

                at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)

                at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)

                at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)

                at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:117)

                at com.google.gwt.dev.jjs.ast.JCastOperation.traverse(JCastOperation.java:65)

                at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)

                at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)

                at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)

                at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:117)

                at com.google.gwt.dev.jjs.ast.JBinaryOperation.traverse(JBinaryOperation.java:81)

                at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)

                at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)

                at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)

                at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:117)

                at com.google.gwt.dev.jjs.ast.JExpressionStatement.traverse(JExpressionStatement.java:41)

                at com.google.gwt.dev.jjs.ast.JModVisitor$ListContextImmutable.traverse(JModVisitor.java:170)

                at com.google.gwt.dev.jjs.ast.JModVisitor.acceptWithInsertRemoveImmutable(JModVisitor.java:336)

                at com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:83)

                at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)

                at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)

                at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:138)

                at com.google.gwt.dev.jjs.ast.JIfStatement.traverse(JIfStatement.java:52)

                at com.google.gwt.dev.jjs.ast.JModVisitor$ListContextImmutable.traverse(JModVisitor.java:170)

                at com.google.gwt.dev.jjs.ast.JModVisitor.acceptWithInsertRemoveImmutable(JModVisitor.java:336)

                at com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:83)

                at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)

                at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)

                at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:138)

                at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:134)

                at com.google.gwt.dev.jjs.ast.JMethodBody.traverse(JMethodBody.java:82)

                at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)

                at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)

                at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)

                at com.google.gwt.dev.jjs.ast.JMethod.visitChildren(JMethod.java:449)

                at com.google.gwt.dev.jjs.ast.JMethod.traverse(JMethod.java:418)

                at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)

                at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)

                at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)

                at com.google.gwt.dev.jjs.impl.UnifyAst.mainLoop(UnifyAst.java:940)

                at com.google.gwt.dev.jjs.impl.UnifyAst.exec(UnifyAst.java:665)

                at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:672)

                at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java:34)

                at com.google.gwt.dev.Precompile.precompile(Precompile.java:271)

                at com.google.gwt.dev.Precompile.precompile(Precompile.java:223)

                at com.google.gwt.dev.Precompile.precompile(Precompile.java:139)

                at com.google.gwt.dev.Compiler.run(Compiler.java:167)

                at com.google.gwt.dev.codeserver.Recompiler.compile(Recompiler.java:115)

                at com.google.gwt.dev.codeserver.ModuleState.recompile(ModuleState.java:72)

                at com.google.gwt.dev.codeserver.WebServer.doGet(WebServer.java:200)

                at com.google.gwt.dev.codeserver.WebServer.handleRequest(WebServer.java:160)

                at com.google.gwt.dev.codeserver.WebServer.access$000(WebServer.java:66)

                at com.google.gwt.dev.codeserver.WebServer$1.doGet(WebServer.java:125)

                at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)

                at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)

                at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)

                at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)

                at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:82)

                at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:294)

                at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1465)

                at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)

                at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229)

                at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)

                at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)

                at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)

                at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)

                at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)

                at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)

                at org.eclipse.jetty.server.Server.handle(Server.java:366)

                at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)

                at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)

                at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)

                at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)

                at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)

                at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)

                at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)

                at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)

                at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)

                at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)

               

              Are we using a bad version or is it reintroduced somehow?

               

              thanks

              • 4. Re: Errai tutorial master and gwt SuperDevMode
                csa

                Hi Jan,

                 

                The fix is still in place. I just tried with CR1 and the 3.0-SNAPSHOT. Following these instructions I didn't see the problem:

                https://community.jboss.org/thread/236381

                 

                Do you start super dev mode differently than described in the link above? Which version of GWT are you using?

                 

                Cheers,

                Christian

                • 5. Re: Errai tutorial master and gwt SuperDevMode
                  jan.swaelens

                  Hello Christian,

                   

                  We are using GWT 2.6.0 - but are only getting this error when doing a re-compile - the initial one works and doesn't yield an error. That quite limits our use though of the superdev mode as we always need to restart it completely.

                   

                  We do start superdev as indicated by that thread - generally speaking it works fine - only the re-compile does not work.

                   

                  thanks

                  jan

                  • 6. Re: Errai tutorial master and gwt SuperDevMode
                    csa

                    Hi Jan,

                     

                    We really like to get to the bottom of this because as you write SuperDevMode is unusable for you with this problem.

                     

                    We tried with GWT 2.6.0 on multiple platforms and hitting the compile button a couple of times. We can't reproduce this with our tutorial project: https://github.com/errai/errai-tutorial

                     

                    Do you have a simple example you can share so we can reproduce this issue? Alternatively, can you share your pom.xml with us?

                     

                    Thanks,

                    Christian

                    • 7. Re: Errai tutorial master and gwt SuperDevMode
                      jan.swaelens

                      Hello,

                       

                      Thanks that's very kind!

                       

                      We don't have a simple repro case but we will try to create one - that'll be the most efficient way to get to the bottom of this probably.

                       

                      We are not using maven though, but we use ivy for our dependencies:

                       

                      <dependency org="commons-io" name="commons-io" rev="1.1"/>

                      <dependency org="org.imgscalr" name="imgscalr-lib" rev="4.2"/>

                      <dependency org="org.springframework" name="spring-core" rev="2.5.5"/>

                      <dependency org="xalan" name="xalan" rev="2.7.0"/>

                      <dependency org="jcs" name="jcs" rev="1.3.3.1-RC"/>

                      <dependency org="junit" name="junit" rev="4.11.0.v20130308003"/>

                      <dependency org="org.slf4j" name="slf4j-log4j12" rev="${slf4j.version}"/>

                      <dependency org="org.jboss.errai" name="errai-bus" rev="${errai.version}">

                          <exclude org="com.google.appengine" name="appengine-api"/>

                          <exclude org="com.google.appengine" name="appengine-api-labs"/>

                          <exclude org="javax" name="javaee-api"/>

                          <exclude org="junit" name="junit"/> 

                          <exclude org="com.sun.grizzly" name="grizzly-nio-framework"/>   

                          <exclude org="org.jboss.spec.javax.servlet" name="jboss-servlet-api_3.0_spec"/> 

                          <exclude org="org.jboss" name="jboss-vfs"/>

                          <exclude org="com.google.gwt" name="gwt-dev"/> 

                          <exclude org="com.google.gwt" name="gwt-user"/>

                          <exclude org="org.mortbay.jetty" name="jetty"/> 

                          <!-- Including the catalina jar in the .war results in issues when deploying on Tomcat WebServer -->

                          <exclude org="org.apache.tomcat" name="catalina"/>

                          <!-- Why doesn't ivy exlude all transitive dependencies of e.g. Catalina !? -->

                          <exclude org="org.apache.tomcat" name="juli"/>

                      </dependency>

                      <dependency org="com.google.gwt" name="gwt-user" rev="${gwt.version}"/>

                      <dependency org="com.google.gwt" name="gwt-servlet" rev="${gwt.version}"/>

                      <dependency org="com.google.gwt" name="gwt-dev" rev="${gwt.version}"/>

                      <dependency org="com.google.gwt" name="validation-api" rev="1.0.0.GA"/>

                       

                      With the following property values:

                      gwt.version=2.6.0

                      errai.version=3.0.0.20140325-M5

                      slf4j.version=1.6.1

                      smartgwt.version=pro-4.0p.2013-10-27

                       

                      Is there any logging we can enable to provide more information around the error or something else we can check to find the cause of the error?

                       

                      thanks in advance!

                      • 8. Re: Errai tutorial master and gwt SuperDevMode
                        csa

                        Hi Jan,

                         

                        That would be really helpful. Once we have something reproducible it should be easy to find out what's wrong.

                         

                        You can also see for yourself. When you hit the compile button the marshallers generator should run and the following line should be executed:

                        https://github.com/errai/errai/blob/master/errai-marshalling/src/main/java/org/jboss/errai/marshalling/rebind/MarshallersGenerator.java#L331

                         

                        which will cause us to save a new GeneratorMappingContext in a static map:

                        https://github.com/errai/errai/blob/master/errai-marshalling/src/main/java/org/jboss/errai/marshalling/rebind/api/GeneratorMappingContextFactory.java#L69

                         

                        For some reason that doesn't happen in your case. The most likely cause is that Errai fails to detect that you're running in (Super)DevMode and tries to use a previously generated file.

                         

                        Cheers,

                        Christian

                        • 9. Re: Errai tutorial master and gwt SuperDevMode
                          jan.swaelens

                          Hello,

                           

                          Good news ... well not really :-), I managed to create a standalone case which exhibits the same behavior as I am getting on our full blown project.

                           

                          I have a zip with the eclipse project, it contains all you need to reproduce the case:

                          • Locate the build.xml in the root folder
                            • launch the codeserver target (to launch the code server)
                            • launch the devmode target (to launch the client startup)
                            • navigate to the code server url and create the bookmark
                            • navigate to the client (http://localhost:8888/TestErrai.html) and hit the dev mode bookmark
                          • The page should be available now, you can use the test button to trigger some logic
                          • Now hit the dev mode bookmark once more
                            • The error should display now

                           

                          The build.properties file contains some settings that you might need to alter to match local locations of certain files (gwt sdk and optionally change the bind adress).

                           

                          The thing is 80MB with all the libs included (I removed the Ivy dependency mechanism for your convenience), how can I get it to you?

                          UPDATE: removed these libs to get size down: gwt-user-2.6.0.jar, gwt-servlet.jar, gwt-dev-2.6.0.jar, guava-14.0.1.jar and attached the zip

                           

                          Hope this helps, many thanks for having a look!

                          • 10. Re: Errai tutorial master and gwt SuperDevMode
                            csa

                            Hi Jan,

                             

                            Thank you! I found and fixed the problem now. You just need to switch to the latest errai-config-3.0-SNAPSHOT.jar (replace your errai-config-M5.jar with this one). You can get it from here: http://repository.jboss.org/nexus/content/repositories/snapshots/org/jboss/errai/errai-config/3.0-SNAPSHOT/errai-config-3.0-20140505.185708-497.jar

                             

                            The issue was that in your build setup starting the codeserver doesn't actually compile and generate code. That's why our check for whether or not (Super)DevMode is active doesn't run until you hit the compile button in the browser at which point the call stack is a different one and Errai failed to recognize DevMode.

                             

                            Cheers,

                            Christian

                            • 11. Re: Errai tutorial master and gwt SuperDevMode
                              jan.swaelens

                              Hi Christian,


                              Thanks, that surely fixed the problem. We are indeed using the '-noprecompile' flag to run the code server to reduce some initial startup time (compile takes several minutes).


                              Again, thanks for fixing this - now we can go back to speedy development using SuperDev! :-)


                              tx