org-arl / fjage

Framework for Java and Groovy Agents
https://fjage.readthedocs.io/en/latest/
Other
26 stars 13 forks source link

Overloaded CPU causes `RejectedExecutionException` #237

Open mchitre opened 2 years ago

mchitre commented 2 years ago

Happens when running a fjåge application while running Google meet, which uses a lot of CPU.

From logs

1636702965758|INFO|org.arl.fjage.remote.MasterContainer@1:start|Starting container...
1636702965760|INFO|org.arl.unet.remote.RemoteControl/audio@40:startup|Using transport for communication
1636702965760|INFO|org.arl.unet.transport.SWTransport/audio@54:startup|Using router for communication
1636702965761|INFO|org.arl.unet.diversity.Unity/audio@47:startup|No PHY specified, auto detecting...
1636702965760|INFO|org.arl.unet.localization.Ranging/audio@55:startup|No PHY specified, auto detecting...
1636702965760|INFO|org.arl.unet.link.ECLink/audio@43:startup|No PHY specified, auto detecting...
1636702965761|INFO|org.arl.unet.nodeinfo.NodeInfo/audio@53:obtainAddress|Node name is 1, address is 1, address size is 8 bits
1636702980771|INFO|org.arl.fjage.remote.MasterContainer@52:connectionClosed|Connection tcp:///192.168.10.68:1100//192.168.10.68.60276 closed
1636702980782|SEVERE|org.arl.unet.localization.Ranging/audio@55:startup|No PHY found, aborting!
1636702980783|SEVERE|org.arl.unet.link.ECLink/audio@43:startup|No PHY found, aborting!
1636702980783|WARNING|org.arl.unet.mac.CSMA/audio@51:startup|No PHY found, carrier sensing disabled!
1636702980783|SEVERE|org.arl.unet.diversity.Unity/audio@47:startup|No PHY found, aborting!
1636702980786|SEVERE|org.arl.unet.mac.CSMA/audio@51:run|Exception in agent: mac

java.lang.NullPointerException
Stack trace:
   org.arl.fjage.Agent.topic(Agent.java:374)
   org.arl.unet.mac.CSMA.startup(CSMA.java:53)
   org.arl.unet.UnetAgent$1.action(UnetAgent.java:45)
   org.arl.fjage.Agent.executeBehavior(Agent.java:781)
   org.arl.fjage.Agent.run(Agent.java:818) ...

1636702980787|SEVERE|org.arl.unet.mac.CSMA/audio@51:die|Agent mac died: java.lang.NullPointerException
1636702980789|INFO|org.arl.unet.remote.RemoteControl/audio@40:startup|Using unetsh for command exec
1636702981203|INFO|UnetContainer@22:initrc:43|Julia container running
1636702982542|WARNING|Fjage@22:gw:142|Base.IOError("write: broken pipe (EPIPE)", -32)
1636702983771|INFO|GroguDAQ@22:GroguDAQ:95|Connection to Grogu DAQ closed
1636702983772|INFO|Unet@22:Unet:95|UnetAgent bb terminated

From console:

Starting Julia container in development mode...
Starting web server in development mode...
Modem web: http://localhost:8080/
Exception in thread "pool-1-thread-1" java.util.concurrent.RejectedExecutionException: Task org.arl.fjage.remote.ConnectionHandler$$Lambda$204/317816924@6761ba2e rejected from java.util.concurrent.ThreadPoolExecutor@3ea9bf36[Shutting down, pool size = 1, active threads = 1, queued tasks = 0, completed tasks = 1]
    at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2063)
    at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:830)
    at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1379)
    at java.util.concurrent.Executors$DelegatedExecutorService.execute(Executors.java:668)
    at org.arl.fjage.remote.ConnectionHandler.printlnQueued(ConnectionHandler.java:229)
    at org.arl.fjage.remote.MasterContainer.send(MasterContainer.java:235)
    at org.arl.fjage.remote.ConnectionHandler$RemoteTask.run(ConnectionHandler.java:311)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
SEVERE: org.arl.unet.localization.Ranging/audio > No PHY found, aborting!
SEVERE: org.arl.unet.link.ECLink/audio > No PHY found, aborting!
SEVERE: org.arl.unet.diversity.Unity/audio > No PHY found, aborting!
SEVERE: org.arl.unet.mac.CSMA/audio > Exception in agent: mac
SEVERE: org.arl.unet.mac.CSMA/audio > Agent mac died: java.lang.NullPointerException