HEADS-project / training

Training material to get started with the HEADS technologies
10 stars 16 forks source link

Nullpointer exception when pulling model #14

Closed kehusa closed 9 years ago

kehusa commented 9 years ago

When trying to pull model from the Kevoree Web Editor in 3.Runtime_Reconfigurations/java I get the following error:

00:00 INFO: Bootstrap Kevoree node : node0, version 5.1.4 00:00 INFO: Resolved 50 typeDefinitions from Kevoree Registry http://registry.ke voree.org/v5/ (JavaNode/5.2.0,WSGroup/5.2.1-SNAPSHOT,JavaNode/5.0.3,JavaNode/5.2 .1,JavaNode/5.0.4,JavaNode/5.2.2,JavaNode/5.0.5,WSGroup/5.0.8-SNAPSHOT,JavaNode/ 5.0.6,JavaNode/5.0.6-SNAPSHOT,WSGroup/5.0.5-SNAPSHOT,JavaNode/5.0.7,JavaNode/5.1 .4-SNAPSHOT,JavaNode/5.2.2-SNAPSHOT,WSGroup/5.1.2,WSGroup/5.1.3,WSGroup/5.1.4,WS Group/5.1.0,WSGroup/5.1.1,JavaNode/5.1.1-SNAPSHOT,JavaNode/5.0.3-SNAPSHOT,JavaNo de/5.1.2-SNAPSHOT,WSGroup/5.2.2-SNAPSHOT,WSGroup/5.0.7,WSGroup/5.2.3-SNAPSHOT,WS Group/5.1.2-SNAPSHOT,WSGroup/5.0.7-SNAPSHOT,JavaNode/5.2.3-SNAPSHOT,JavaNode/5.1 .0,JavaNode/5.0.7-SNAPSHOT,JavaNode/5.1.1,JavaNode/5.1.2,JavaNode/5.1.3,JavaNode /5.2.1-SNAPSHOT,WSGroup/5.2.1,WSGroup/5.0.3,WSGroup/0.1.0,WSGroup/5.2.2,WSGroup/ 5.0.4,WSGroup/5.0.3-SNAPSHOT,WSGroup/5.0.5,WSGroup/5.0.6,WSGroup/5.1.1-SNAPSHOT, WSGroup/5.2.0,JavaNode/5.0.8-SNAPSHOT,WSGroup/5.1.4-SNAPSHOT,JavaNode/5.0.5-SNAP SHOT,WSGroup/5.0.4-SNAPSHOT,JavaNode/5.0.4-SNAPSHOT,HelloWorld/0.0.1-SNAPSHOT) 00:00 WARN: Try to select snapshot in best effort mode for org.kevoree.example.H elloWorld 00:00 INFO: Resolving ............. /packages[org]/packages[kevoree]/packages[li brary]/packages[java]/deployUnits[hashcode=,name=org.kevoree.library.java.javaNo de,version=5.2.2] 00:00 INFO: Resolved in 1ms 00:00 INFO: JavaNode, changing LOG level to INFO 00:00 INFO: Starting node type of node0 00:00 INFO: Resolving ............. /packages[org]/packages[kevoree]/packages[sa mple]/deployUnits[hashcode=,name=helloworld,version=0.0.1-SNAPSHOT] 00:02 INFO: Resolved in 1285ms 00:02 INFO: Resolving ............. /packages[org]/packages[kevoree]/packages[li brary]/packages[java]/deployUnits[hashcode=,name=org.kevoree.library.java.ws,ver sion=5.2.2] 00:02 INFO: Resolved in 2ms 00:02 INFO: Resolving ............. /packages[fr]/packages[braindead]/deployUnit s[hashcode=,name=wsmsgbroker-client,version=1.0.2] 00:02 INFO: Resolved in 2ms 00:02 INFO: Resolving ............. /packages[com]/packages[google]/packages[cod e]/packages[gson]/deployUnits[hashcode=,name=gson,version=2.3] 00:02 INFO: Resolved in 2ms 00:02 INFO: Resolving ............. /packages[org]/packages[java-websocket]/depl oyUnits[hashcode=,name=Java-WebSocket,version=1.3.0] 00:02 INFO: Resolved in 0ms 00:02 WARN: A required Port is defined at the model level but is not available a t the implementation level 00:02 INFO: Add instance /nodes[node0]/components[myComp] 00:02 INFO: Add instance /groups[sync] 00:02 INFO: Starting /nodes[node0]/components[myComp] 00:02 INFO: Hello, world! 00:02 INFO: Starting /groups[sync] 00:02 INFO: WSGroup "sync" listen on 9000 00:02 INFO: JavaNode Update completed in 1376 ms 00:02 INFO: End deploy result=true-1375 00:02 INFO: Bootstrap completed

Exception: java.lang.NullPointerException thrown from the UncaughtExceptionHandl er in thread "WebSocketWorker-32"

maxleiko commented 9 years ago

Can you try to update the pom.xml properties from:

    <properties>
        <kevoree.version>5.1.4</kevoree.version>
    </properties>

to

    <properties>
        <kevoree.version>5.2.1</kevoree.version>
    </properties>

And then do a mvn clean install kev:run again ?

kehusa commented 9 years ago

When switching to 5.2.1 I get a compilation error:

[INFO] Compiling 1 source file to C:\Users\KnutEilif\HeadsIde\workspace\training \2.Kevoree_Basics\4.Its_About_Sending_A_Message\java\target\classes [INFO] ------------------------------------------------------------- [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] \Users\KnutEilif\HeadsIde\workspace\training\2.Kevoree_Basics\4.Its_Abou t_Sending_A_Message\java\src\main\java\org\kevoree\example\HelloWorld.java:[29,2 1] error: method send in interface Port cannot be applied to given types; [INFO] 1 error [INFO] -------------------------------------------------------------

[INFO]

[INFO] BUILD FAILURE

[INFO]

[INFO] Total time: 0.839s [INFO] Finished at: Tue Jan 06 11:03:45 CET 2015 [INFO] Final Memory: 12M/243M

[INFO]

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2. 3.2:compile (default-compile) on project helloworld: Compilation failure [ERROR] \Users\KnutEilif\HeadsIde\workspace\training\2.Kevoree_Basics\4.Its_Abou t_Sending_A_Message\java\src\main\java\org\kevoree\example\HelloWorld.java:[29,2 1] error: method send in interface Port cannot be applied to given types; [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit ch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please rea d the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureExc eption C:\Users\KnutEilif\HeadsIde\workspace\training\2.Kevoree_Basics\4.Its_About_Send ing_A_Message\java>

However, when inserting null as the callback argument in the send function I am able to pull the model :-)

2015-01-06 10:59 GMT+01:00 Maxime Tricoire notifications@github.com:

Can you try to update the pom.xml properties from:

<properties>
    <kevoree.version>5.1.4</kevoree.version>
</properties>

to

<properties>
    <kevoree.version>5.2.1</kevoree.version>
</properties>

And then do a mvn clean install kev:run again ?

— Reply to this email directly or view it on GitHub https://github.com/HEADS-project/training/issues/14#issuecomment-68846663 .

Knut Eilif Husa

Tellu AS Email: knut.eilif.husa@tellu.no Mob: (+47) 452 49496 Web: www.tellu.no

maxleiko commented 9 years ago

Yes, but the error is from the 4. tutorial. And it makes perfect sense, because we have slightly modified the Port and Callback API.
Just add a null callback to the send(greetMessage) and it will work.

    @Start
    public void start() {
        Log.info(greetMessage);

        scheduledThreadPool.scheduleAtFixedRate(new Runnable() {
            @Override
            public void run() {
                hello.send(greetMessage, null);
            }
        }, 0, 5, TimeUnit.SECONDS);
    }
maxleiko commented 9 years ago

I will commit the modifications right away.