[ https://issues.apache.org/jira/browse/EDGENT-210?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Susan L. Cline resolved EDGENT-210. ----------------------------------- Resolution: Fixed > Submit an app, closing an app and then attempting to resubmit an app "kills" > the parent app > ------------------------------------------------------------------------------------------- > > Key: EDGENT-210 > URL: https://issues.apache.org/jira/browse/EDGENT-210 > Project: Edgent > Issue Type: Bug > Components: Runtime > Reporter: Susan L. Cline > Assignee: Daniel John Debrunner > Priority: Critical > > I have a quarks application that creates an IotProvider and registers two > applications. One is called piCpuSensor. > Once the main program (the one with IotProvider) is started and registers the > two applications I send a device command to the piCpuSensor. > At that point the piCpuSensor starts spitting out temperature readings every > second. > Now I send a "CLOSE" command to piCpuSensor. At this point the temperature > readings stop. > Now, I want to restart my piCpuSensor application. I send a submit command > again. At that point an error is thrown and my main program is no longer > functional. (i.e ,it can not receive or send any info) > Here is the stack trace: > Jun 22, 2016 1:12:17 PM quarks.runtime.etiao.ThreadFactoryTracker > trackedThreadUncaughtException > SEVERE: Uncaught exception in thread > pool-2-thread-4-quarksIotCommandsToControl > java.lang.RuntimeException: java.lang.reflect.InvocationTargetException > at > quarks.providers.iot.IotProvider.lambda$null$6cfee445$1(IotProvider.java:239) > at quarks.providers.iot.IotProvider$$Lambda$27/12209492.accept(Unknown > Source) > at > quarks.function.Functions$ThreadSafeConsumer.accept(Functions.java:204) > at > quarks.runtime.etiao.SettableForwarder.accept(SettableForwarder.java:54) > at quarks.oplet.core.Pipe.submit(Pipe.java:65) > at quarks.oplet.functional.Filter.accept(Filter.java:37) > at > quarks.runtime.etiao.SettableForwarder.accept(SettableForwarder.java:54) > at quarks.oplet.core.Pipe.submit(Pipe.java:65) > at quarks.oplet.plumbing.Isolate.run(Isolate.java:86) > at quarks.oplet.plumbing.Isolate.lambda$initialize$3(Isolate.java:64) > at quarks.oplet.plumbing.Isolate$$Lambda$20/10725227.run(Unknown Source) > at > quarks.runtime.etiao.ThreadFactoryTracker$2.run(ThreadFactoryTracker.java:88) > at java.lang.Thread.run(Thread.java:744) > Caused by: java.lang.reflect.InvocationTargetException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:483) > at > quarks.runtime.jsoncontrol.JsonControlService.executeMethod(JsonControlService.java:241) > at > quarks.runtime.jsoncontrol.JsonControlService.controlOperation(JsonControlService.java:180) > at > quarks.runtime.jsoncontrol.JsonControlService.controlRequest(JsonControlService.java:101) > at > quarks.providers.iot.IotProvider.lambda$null$6cfee445$1(IotProvider.java:237) > ... 12 more > Caused by: java.lang.IllegalStateException > at > quarks.runtime.jsoncontrol.JsonControlService.registerControl(JsonControlService.java:123) > at quarks.runtime.etiao.EtiaoJob.<init>(EtiaoJob.java:71) > at quarks.runtime.etiao.Executable.createJob(Executable.java:271) > at > quarks.providers.direct.DirectTopology.executeCallable(DirectTopology.java:104) > at quarks.providers.direct.DirectProvider.submit(DirectProvider.java:87) > at quarks.providers.direct.DirectProvider.submit(DirectProvider.java:52) > at quarks.providers.iot.IotProvider.submit(IotProvider.java:188) > at quarks.providers.iot.IotProvider.submit(IotProvider.java:81) > at > quarks.runtime.appservice.AppServiceControl.submit(AppServiceControl.java:66) > ... 20 more -- This message was sent by Atlassian JIRA (v6.3.4#6332)