Hi-

I'm experiencing crashes in my Win32 Python 2.7 application which appear to be linked to pyzmq. At the moment, I can't even kill the "python.exe *32" process in the Windows Task Manager. At the moment I'm running the script using Ipython by calling

C:\Python27\pythonw.exe "/python27/scripts/ipython-qtconsole-script.pyw" -pylab

but I also experience similar behavior when running within Eclipse. I've included an error message at the end which appears in the Windows 'cmd' window, but the message is not reflected in the pylab window.

My attached device is transmitting <160><1><2><3><4><80> and is received correctly when I run the sample pyserial script 'wxTerminal.py'. In my application, however, the message appears to get characters out of order or drop bytes.

If there's a better place to post or if you'd like more info, let me know.

Thanks,
Ethan

------------------Serial Port Listening Thread----------------------------------------
def MotorRxThread(self):
"""Thread that handles the incoming traffic. Does buffer input and generates an SerialRxEvent"""
    while self.alive.isSet():               #loop while alive event is true
      text = self.serMotor.read(1)          #read one, with timeout
      if text:                            #check if not timeout
        n = self.serMotor.inWaiting()     #look if there is more to read
        if n:
          text = text + self.serMotor.read(n) #get it
        #log to terminal
        printstring = "MotorRxThread: "
        for b in text:
          printstring += str(ord(b)) + " "
        print printstring
        #pdb.set_trace()
        if self.motorRx0.proc_string(text):
print "Message: cmd: " + str(self.motorRx0.cmd) + " data: " + str(self.motorRx0.data)
          event = SerialRxSpeedEvent(self.GetId(), text)
          self.GetEventHandler().AddPendingEvent(event)
-----------------\Serial Port Listening Thread----------------------------------------

----------------Thread Start&Stop------------------------------------------------------
  def StartMotorThread(self):
    """Start the receiver thread"""
    self.motorThread = threading.Thread(target=self.MotorRxThread)
    self.motorThread.setDaemon(1)
    self.alive.set()
    self.motorThread.start()

  def StopMotorThread(self):
    """Stop the receiver thread, wait until it's finished."""
    if self.motorThread is not None:
        self.alive.clear()          #clear alive event for thread
        self.motorThread.join()          #wait until thread has finished
        self.motorThread = None
        self.serMotor.close()  #close the serial port connection
----------------\Thread Start&Stop------------------------------------------------------

-------------------Error message --------------------------------------------------------
ValueError: '<IDS|MSG>' is not in list
([], ['<IDS|MSG>', '', '', '{"date":"2011-10-15T10:24:27.231000","username":"kernel","session":"82906c8a-1235-44d0-b65d- 0882955305c1","msg_id":"7cfcd155-bc05-4f47-9c39-094252223dab","msg_type":"stream"}', '{"date":"2011-10-15T10:24:27.23100
0","username":"kernel","session":"82906c8a-1235-44d0-b65d-0882955305c1","msg_id":"f4b88228-b353-4cfb-9bbe-ae524ee1ac38",
"msg_type":"stream"}', '{"date":"2011-10-15T10:24:00.774000","username":"username","session":"9f393860-c2ab-44e9-820d-8f 08ae35044e","msg_id":"13a46e93-8da2-487b-ab12-6cae47b1ac34","msg_type":"execute_request"}', '{"date":"2011-10-15T10:24:0
0.774000","username":"username","session":"9f393860-c2ab-44e9-820d-8f08ae35044e","msg_id":"13a46e93-8da2-487b-ab12-6cae4
7b1ac34","msg_type":"execute_request"}', '{"data":"\\nMotorRxThread: 0 MotorRxThread: 4 ","name":"stdout"}']) ERROR:root:Exception in I/O handler for fd <zmq.core.socket.Socket object at 0x03ADFCC0>
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\pyzmq-2.1.9-py2.7-win32.egg\zmq\eventloop\ioloop.py", line 291, in start
    self._handlers[fd](fd, events)
File "C:\Python27\lib\site-packages\pyzmq-2.1.9-py2.7-win32.egg\zmq\eventloop\stack_context.py", line 133, in wrapped
    callback(*args, **kwargs)
File "C:\Python27\lib\site-packages\IPython\zmq\kernelmanager.py", line 448, in _handle_events
    self._handle_recv()
File "C:\Python27\lib\site-packages\IPython\zmq\kernelmanager.py", line 458, in _handle_recv
    ident,msg = self.session.recv(self.socket)
File "C:\Python27\lib\site-packages\IPython\zmq\session.py", line 585, in recv
    raise e
ValueError: No JSON object could be decoded
ERROR:root:Exception in I/O handler for fd <zmq.core.socket.Socket object at 0x03ADFCC0>
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\pyzmq-2.1.9-py2.7-win32.egg\zmq\eventloop\ioloop.py", line 291, in start
    self._handlers[fd](fd, events)
File "C:\Python27\lib\site-packages\pyzmq-2.1.9-py2.7-win32.egg\zmq\eventloop\stack_context.py", line 133, in wrapped
    callback(*args, **kwargs)
File "C:\Python27\lib\site-packages\IPython\zmq\kernelmanager.py", line 448, in _handle_events
    self._handle_recv()
File "C:\Python27\lib\site-packages\IPython\zmq\kernelmanager.py", line 458, in _handle_recv
    ident,msg = self.session.recv(self.socket)
File "C:\Python27\lib\site-packages\IPython\zmq\session.py", line 579, in recv
    idents, msg_list = self.feed_identities(msg_list, copy)
File "C:\Python27\lib\site-packages\IPython\zmq\session.py", line 609, in feed_identities
    idx = msg_list.index(DELIM)
ValueError: '<IDS|MSG>' is not in list
---------------------------------------------------------------------------
ZMQError                                  Traceback (most recent call last)
C:\Users\Ethan\<string> in <module>()

C:\Python27\lib\site-packages\IPython\zmq\ipkernel.pyc in main()
    671     """Run an IPKernel as an application"""
    672     app = IPKernelApp.instance()
--> 673     app.initialize()
    674     app.start()
    675

C:\Python27\lib\site-packages\IPython\zmq\ipkernel.pyc in initialize(self=<IPython.zmq.ipkernel.IPKernelApp object>, arg
v=None)
    604     )
    605     def initialize(self, argv=None):
--> 606         super(IPKernelApp, self).initialize(argv)
    607         self.init_shell()
    608         self.init_extensions()

C:\Python27\lib\site-packages\IPython\zmq\kernelapp.pyc in initialize(self=<IPython.zmq.ipkernel.IPKernelApp object>, ar
gv=None)
    213         self.init_session()
    214         self.init_poller()
--> 215         self.init_sockets()
    216         self.init_io()
    217         self.init_kernel()

C:\Python27\lib\site-packages\IPython\zmq\kernelapp.pyc in init_sockets(self=<IPython.zmq.ipkernel.IPKernelApp object>)
    148
    149         self.shell_socket = context.socket(zmq.XREP)
--> 150 self.shell_port = self._bind_socket(self.shell_socket, self.shell_port) 151 self.log.debug("shell XREP Channel on port: %i"%self.shell_port)
    152

C:\Python27\lib\site-packages\IPython\zmq\kernelapp.pyc in _bind_socket(self=<IPython.zmq.ipkernel.IPKernelApp object>,
s=<zmq.core.socket.Socket object>, port=50104)
    137             port = s.bind_to_random_port(iface)
    138         else:
--> 139             s.bind(iface + ':%i'%port)
    140         return port
    141

C:\Python27\lib\site-packages\pyzmq-2.1.9-py2.7-win32.egg\zmq\core\socket.pyd in zmq.core.socket.Socket.bind (zmq\core\s
ocket.c:4527)()

ZMQError: Address in use
---------\ERROR MESSAGE--------------------------------------------------

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to