VerifiableRobotics / LTLMoP

A toolkit for designing and implementing LTL-based task specifications.
http://ltlmop.github.io
GNU General Public License v3.0
56 stars 69 forks source link

Sporadic crashes in controllerListen #17

Closed ConstantineLignos closed 12 years ago

ConstantineLignos commented 12 years ago

I suspect there's a timing issue that leads to this occasional crash:

[ LTLMOP HYBRID CONTROLLER EXECUTION MODULE ]

Hello. Let's do this!

Loading specification file /home/lignos/checkout/LTLMoP/src/examples/slurptest/slurptest.spec...
Loading config file /home/lignos/checkout/LTLMoP/src/examples/slurptest/configs/basicsim.config...
Loading region file /home/lignos/checkout/LTLMoP/src/examples/slurptest/iros10.regions...
  -> Found definitions for 9 regions.
Loading region file /home/lignos/checkout/LTLMoP/src/examples/slurptest/slurptest_decomposed.regions...
  -> Found definitions for 6 regions.
Importing handler functions...
  -> handlers.robots.basicSim.basicSimInit
(Basic Simulator) Initializing Basic Simulator...
(Basic Simulator) Start Basic Simulator...
  -> handlers.pose.basicSimPose
  -> handlers.robots.basicSim.basicSimLocomotionCommand
  -> handlers.drive.holonomicDrive
  -> handlers.motionControl.vectorController
  -> handlers.robots.basicSim.basicSimSensor
  -> handlers.share.dummySensor
  -> handlers.robots.basicSim.basicSimActuator
  -> handlers.share.dummyActuator
(POSE) Initial pose: [ 962.   324.6    0. ]
Starting GUI window and listen thread...
wx is loaded, using wx objects for regions
(GUI) Starting socket for communication to controller
(GUI) Starting socket for communication from controller
(GUI) Starting controller listen thread...
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 504, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/home/lignos/checkout/LTLMoP/src/lib/simGUI.py", line 147, in controllerListen
    [x,y] = map(int, (self.mapScale*x, self.mapScale*y))
AttributeError: 'SimGUI_Frame' object has no attribute 'mapScale'```
ConstantineLignos commented 12 years ago

I'm thinking this is happening in some weird cases where there are zombie processes leftover. If that's the case, it shouldn't fail in this way though; I'm worried something is being caught that shouldn't be.