Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Bug - Visu-Plugin/Asyncore.py - Unhandled exception: list.remove(x)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    - √ - Bug - Visu-Plugin/Asyncore.py - Unhandled exception: list.remove(x)

    Hi!

    Seit an der asynchat Geschichte rumgeschraubt würde habe ich "massive" Probleme mit sh.py. Massiv, weil im Anschluss an die Exception die Threads hochlaufen und dann bei 30 die Karre aus geht. Vorher hatte ich NIE (nicht-hausgemachte *g*) Probleme.

    Log:
    Code:
    2013-08-19 08:21:55 SmartHome.py INFO     KG_Flur.Bewegung = True via KNX 1.1.104
    2013-08-19 08:21:55 SmartHome.py INFO     KG_Flur.Deckenleuchte.Automatikschalter = True via KNX 1.1.104
    2013-08-19 08:21:55 SmartHome.py INFO     knx: 1.1.170 set 6/2/5 to 24.0
    2013-08-19 08:21:55 SmartHome.py INFO     Schlafzimmer.Temperatur = 24.0 via KNX 1.1.170
    2013-08-19 08:21:56 SmartHome.py INFO     knx: 1.1.209 set 5/0/140 to True
    2013-08-19 08:21:56 SmartHome.py INFO     Garage.Bewegung = True via KNX 1.1.209
    2013-08-19 08:21:58 SmartHome.py CRITICAL Unhandled exception: list.remove(x): x not in list
    <type 'exceptions.ValueError'>
      File "/usr/local/smarthome/bin/smarthome.py", line 493, in <module>
        sh = SmartHome()
      File "/usr/local/smarthome/bin/smarthome.py", line 244, in __init__
        asyncore.loop(timeout=1, count=1, map=self.socket_map)
      File "/usr/lib/python2.7/asyncore.py", line 220, in loop
        poll_fun(timeout, map)
      File "/usr/lib/python2.7/asyncore.py", line 156, in poll
        read(obj)
      File "/usr/lib/python2.7/asyncore.py", line 87, in read
        obj.handle_error()
      File "/usr/lib/python2.7/asyncore.py", line 503, in handle_error
        self.handle_close()
      File "/usr/local/smarthome/plugins/visu/__init__.py", line 240, in handle_close
        self._dp.remove_client(self)
      File "/usr/local/smarthome/plugins/visu/__init__.py", line 176, in remove_client
        self.clients.remove(client)
    
    2013-08-19 08:22:30 sma.update   INFO     Wechselrichter.Einspeiseleistung = 493 via SMA 00:80:25:21:7F:58
    2013-08-19 08:23:05 Scheduler    INFO     Adding worker thread. Total: 6
    2013-08-19 08:23:05 Scheduler    INFO     Current Threads: SmartHome.py, Scheduler, idle, 1w-io, series, series, series, sma.update, series
    2013-08-19 08:24:06 Scheduler    INFO     Adding worker thread. Total: 7
    2013-08-19 08:24:06 Scheduler    INFO     Current Threads: SmartHome.py, Scheduler, series, 1w-io, idle, series, series, series, sma.update, series
    2013-08-19 08:25:07 Scheduler    INFO     Adding worker thread. Total: 8
    2013-08-19 08:25:07 Scheduler    INFO     Current Threads: SmartHome.py, Scheduler, series, 1w-io, series, series, series, System, series, sma.update, series
    [...]
    2013-08-19 08:46:28 Scheduler    INFO     Adding worker thread. Total: 29
    2013-08-19 08:46:28 Scheduler    INFO     Current Threads: Scheduler, series, sma.update, series, idle, series, System, series, series, series, series, 1w-sen, System, series, series, series, 1w-sen, System, series, series, SmartHome.py, series, 1w-io, 1w-sen, series, series, series, System, System, 1w-sen, 1w-sen, series
    2013-08-19 08:47:29 Scheduler    INFO     Adding worker thread. Total: 30
    2013-08-19 08:47:29 Scheduler    INFO     Current Threads: Scheduler, series, sma.update, series, series, series, System, series, series, series, series, 1w-sen, System, series, series, series, 1w-sen, System, series, series, SmartHome.py, series, 1w-io, 1w-sen, series, series, idle, series, System, System, 1w-sen, 1w-sen, series
    2013-08-19 08:48:30 Scheduler    ERROR    Needing more worker threads than the specified maximum of 30!
    Klar, try-catch könnte helfen - aber evtl. ist es interessant den Fehler zu finden. Ich tippe darauf, dass sich ein Client wegen unstabiler WLAN-Verbindung nicht artig verabschiedet bzw. vielleicht schon beim Verbindungsaufbau derart stecken bleibt, dass der Eintrag nicht mehr entfernt werden kann.

    Grüße
    Robert

    #2
    Hi Robert,

    danke für den Bug-Report. Ist in develop und stable gefixed.
    Ich denke es gab/gibt hier zwei parallele Anfragen die Verbindung zu terminieren. Ich denke nicht das es ein Problem bei dem Verbindungsaufbau ist, da Du sonst unmittelbar davor einen Eintrag 'WebSocket: incoming connection ...' hättest.

    Bis bald

    Marcus

    Kommentar


      #3
      Hi Marcus,

      leider hatte ich wieder eine Exception:

      Code:
      2013-08-20 23:11:48 SmartHome.py INFO     WebSocket: incoming connection from 192.168.178.28:36060
      2013-08-20 23:11:48 SmartHome.py INFO     WebSocket: incoming connection from 192.168.178.28:36061
      2013-08-20 23:11:53 SmartHome.py CRITICAL Unhandled exception: WebSocketHandler instance has no attribute 'json_send'
      <type 'exceptions.AttributeError'>
        File "/usr/local/smarthome/bin/smarthome.py", line 494, in <module>
          sh = SmartHome()
        File "/usr/local/smarthome/bin/smarthome.py", line 244, in __init__
          asyncore.loop(timeout=1, count=1, map=self.socket_map)
        File "/usr/lib/python2.7/asyncore.py", line 220, in loop
          poll_fun(timeout, map)
        File "/usr/lib/python2.7/asyncore.py", line 156, in poll
          read(obj)
        File "/usr/lib/python2.7/asyncore.py", line 87, in read
          obj.handle_error()
        File "/usr/lib/python2.7/asyncore.py", line 503, in handle_error
          self.handle_close()
        File "/usr/local/smarthome/plugins/visu/__init__.py", line 242, in handle_close
          del(self.json_send, self.parse_data)
      Liegt sicherlich an kaputten Verbindungsaufnahmen aufgrund einer schlechten WLAN-Verbindung. sh.py wurde nicht mitgerissen, wohl aber das Visu-Plugin.

      Grüße
      Robert

      Kommentar


        #4
        Hallo Robert,

        danke ist gefixed.

        Bis bald

        Marcus

        Kommentar

        Lädt...
        X