Jnrolfe / pychess

Automatically exported from code.google.com/p/pychess
GNU General Public License v3.0
0 stars 0 forks source link

FICS freeze #887

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
I got this FICS freeze, so apparently these freezes aren't fixed with the 
finger grained glock usage, they're just harder to reproduce now. It involves 
two different FICS connection threads trying to do gobject property setter 
notifications and is probably related to issue 875, issue 873, and issue 869 
which are probably not fixed.

Thread: FICSConnection.run:289 (139843854735104)
  File "/usr/lib64/python2.7/threading.py", line 784, in __bootstrap
    self.__bootstrap_inner()
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/FICSConnection.py", line 295, in run
    self.client.parse()
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/VerboseTelnet.py", line 213, in parse
    answer = self.test_prediction(p, line)
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/VerboseTelnet.py", line 222, in test_prediction
    answer = prediction.handle(line.line)
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/VerboseTelnet.py", line 49, in handle
    self.callback(match)
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/managers/SeekManager.py", line 94, in on_seek_add
    player.titles |= parse_title_hex(seek['ti'])
  File "/usr/lib64/python2.7/site-packages/gobject/propertyhelper.py", line 172, in __set__
    instance.set_property(self.name, value)
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/ICLounge.py", line 905, in titles_changed
    with glock.glock:
  File "/home/gatto/code/hg/pychess/lib/pychess/System/glock.py", line 96, in __enter__
    acquire()
  File "/home/gatto/code/hg/pychess/lib/pychess/System/glock.py", line 31, in acquire
    _rlock.acquire()
  File "/usr/lib64/python2.7/threading.py", line 173, in acquire
    rc = self.__block.acquire(blocking)

has glock
Thread: FICSConnection.run:289 (139844059514624)
  File "/usr/lib64/python2.7/threading.py", line 784, in __bootstrap
    self.__bootstrap_inner()
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/FICSConnection.py", line 295, in run
    self.client.parse()
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/VerboseTelnet.py", line 213, in parse
    answer = self.test_prediction(p, line)
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/VerboseTelnet.py", line 226, in test_prediction
    answer = prediction.handle(line.line)
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/VerboseTelnet.py", line 114, in handle
    self.callback(self.matchlist)
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/managers/HelperManager.py", line 227, in on_player_available
    player.status = IC_STATUS_AVAILABLE
  File "/usr/lib64/python2.7/site-packages/gobject/propertyhelper.py", line 172, in __set__
    instance.set_property(self.name, value)
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/ICLounge.py", line 877, in status_changed
    with glock.glock:
  File "/home/gatto/code/hg/pychess/lib/pychess/System/glock.py", line 96, in __enter__
    acquire()
  File "/home/gatto/code/hg/pychess/lib/pychess/System/glock.py", line 36, in acquire
    threads_enter()

Original issue reported on code.google.com by mattgatto on 14 Jun 2014 at 7:35

Attachments:

GoogleCodeExporter commented 8 years ago
Thread: TimeModel.__zerolistener:55 (139842902013696)
  File "/usr/lib64/python2.7/threading.py", line 784, in __bootstrap
    self.__bootstrap_inner()
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 764, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/home/gatto/code/hg/pychess/lib/pychess/System/repeat.py", line 29, in run
    time.sleep(time.time()-last + sleeptime)

Thread: SubProcess.linePublisher (139843117664000)
  File "/usr/lib64/python2.7/threading.py", line 784, in __bootstrap
    self.__bootstrap_inner()
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/home/gatto/code/hg/pychess/lib/pychess/System/GtkWorker.py", line 29, in run
    v = self.queue.get()
  File "/usr/lib64/python2.7/Queue.py", line 168, in get
    self.not_empty.wait()
  File "/usr/lib64/python2.7/threading.py", line 339, in wait
    waiter.acquire()

has glock
Thread: FICSConnection.run:289 (139844059514624)
  File "/usr/lib64/python2.7/threading.py", line 784, in __bootstrap
    self.__bootstrap_inner()
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/FICSConnection.py", line 295, in run
    self.client.parse()
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/VerboseTelnet.py", line 213, in parse
    answer = self.test_prediction(p, line)
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/VerboseTelnet.py", line 226, in test_prediction
    answer = prediction.handle(line.line)
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/VerboseTelnet.py", line 114, in handle
    self.callback(self.matchlist)
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/managers/HelperManager.py", line 227, in on_player_available
    player.status = IC_STATUS_AVAILABLE
  File "/usr/lib64/python2.7/site-packages/gobject/propertyhelper.py", line 172, in __set__
    instance.set_property(self.name, value)
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/ICLounge.py", line 877, in status_changed
    with glock.glock:
  File "/home/gatto/code/hg/pychess/lib/pychess/System/glock.py", line 96, in __enter__
    acquire()
  File "/home/gatto/code/hg/pychess/lib/pychess/System/glock.py", line 36, in acquire
    threads_enter()

Thread: FICSConnection:keep_alive:275 (139843827435264)
  File "/usr/lib64/python2.7/threading.py", line 784, in __bootstrap
    self.__bootstrap_inner()
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 764, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/FICSConnection.py", line 281, in keep_alive
    time.sleep(30)

Thread: MainThread (139844282775360)
  File "/home/gatto/code/hg/pychess/pychess", line 138, in <module>
    chess_file, ics_host, ics_port)
  File "/home/gatto/code/hg/pychess/lib/pychess/Main.py", line 492, in run
    gtk.main()

Thread: Endgame Table (139842927191808)
  File "/usr/lib64/python2.7/threading.py", line 784, in __bootstrap
    self.__bootstrap_inner()
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/home/gatto/code/hg/pychess/sidepanel/bookPanel.py", line 292, in run
    v = self.queue.get()
  File "/usr/lib64/python2.7/Queue.py", line 168, in get
    self.not_empty.wait()
  File "/usr/lib64/python2.7/threading.py", line 339, in wait
    waiter.acquire()

Thread: ICLounge.__init__:48 (139843844220672)
  File "/usr/lib64/python2.7/threading.py", line 784, in __bootstrap
    self.__bootstrap_inner()
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/home/gatto/code/hg/pychess/lib/pychess/System/GtkWorker.py", line 29, in run
    v = self.queue.get()
  File "/usr/lib64/python2.7/Queue.py", line 168, in get
    self.not_empty.wait()
  File "/usr/lib64/python2.7/threading.py", line 339, in wait
    waiter.acquire()

Thread: ICGameModel.run:539 (139843075700480)
  File "/usr/lib64/python2.7/threading.py", line 784, in __bootstrap
    self.__bootstrap_inner()
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/home/gatto/code/hg/pychess/lib/pychess/Utils/GameModel.py", line 571, in run
    self.boards[-2])
  File "/home/gatto/code/hg/pychess/lib/pychess/Players/ICPlayer.py", line 139, in makeMove
    item = self.queue.get(block=True)
  File "/usr/lib64/python2.7/Queue.py", line 168, in get
    self.not_empty.wait()
  File "/usr/lib64/python2.7/threading.py", line 339, in wait
    waiter.acquire()

Thread: SubProcess.linePublisher (139843819042560)
  File "/usr/lib64/python2.7/threading.py", line 784, in __bootstrap
    self.__bootstrap_inner()
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/home/gatto/code/hg/pychess/lib/pychess/System/GtkWorker.py", line 29, in run
    v = self.queue.get()
  File "/usr/lib64/python2.7/Queue.py", line 168, in get
    self.not_empty.wait()
  File "/usr/lib64/python2.7/threading.py", line 339, in wait
    waiter.acquire()

Thread: TimeModel.__zerolistener:55 (139843084093184)
  File "/usr/lib64/python2.7/threading.py", line 784, in __bootstrap
    self.__bootstrap_inner()
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 764, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/home/gatto/code/hg/pychess/lib/pychess/System/repeat.py", line 29, in run
    time.sleep(time.time()-last + sleeptime)

Thread: debug:thread_dumper:11 (139844013225728)
  File "/usr/lib64/python2.7/threading.py", line 784, in __bootstrap
    self.__bootstrap_inner()
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 764, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/home/gatto/code/hg/pychess/lib/pychess/System/debug.py", line 28, in thread_dumper
    dump_threads()
  File "/home/gatto/code/hg/pychess/lib/pychess/System/debug.py", line 19, in dump_threads
    stack = traceback.format_list(traceback.extract_stack(frame))

Thread: FICSConnection:keep_alive:275 (139843835827968)
  File "/usr/lib64/python2.7/threading.py", line 784, in __bootstrap
    self.__bootstrap_inner()
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 764, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/FICSConnection.py", line 281, in keep_alive
    time.sleep(30)

Thread: ChessClock.update:179 (139842910406400)
  File "/usr/lib64/python2.7/threading.py", line 784, in __bootstrap
    self.__bootstrap_inner()
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 764, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/home/gatto/code/hg/pychess/lib/pychess/System/repeat.py", line 37, in run
    else: val = func()
  File "/home/gatto/code/hg/pychess/lib/pychess/widgets/ChessClock.py", line 186, in update
    self.redraw_canvas()
  File "/home/gatto/code/hg/pychess/lib/pychess/widgets/ChessClock.py", line 154, in redraw_canvas
    glock.acquire()
  File "/home/gatto/code/hg/pychess/lib/pychess/System/glock.py", line 31, in acquire
    _rlock.acquire()
  File "/usr/lib64/python2.7/threading.py", line 173, in acquire
    rc = self.__block.acquire(blocking)

Thread: FICSConnection.run:289 (139843854735104)
  File "/usr/lib64/python2.7/threading.py", line 784, in __bootstrap
    self.__bootstrap_inner()
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/FICSConnection.py", line 295, in run
    self.client.parse()
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/VerboseTelnet.py", line 213, in parse
    answer = self.test_prediction(p, line)
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/VerboseTelnet.py", line 222, in test_prediction
    answer = prediction.handle(line.line)
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/VerboseTelnet.py", line 49, in handle
    self.callback(match)
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/managers/SeekManager.py", line 94, in on_seek_add
    player.titles |= parse_title_hex(seek['ti'])
  File "/usr/lib64/python2.7/site-packages/gobject/propertyhelper.py", line 172, in __set__
    instance.set_property(self.name, value)
  File "/home/gatto/code/hg/pychess/lib/pychess/ic/ICLounge.py", line 905, in titles_changed
    with glock.glock:
  File "/home/gatto/code/hg/pychess/lib/pychess/System/glock.py", line 96, in __enter__
    acquire()
  File "/home/gatto/code/hg/pychess/lib/pychess/System/glock.py", line 31, in acquire
    _rlock.acquire()
  File "/usr/lib64/python2.7/threading.py", line 173, in acquire
    rc = self.__block.acquire(blocking)

Original comment by mattgatto on 20 Jun 2014 at 2:56

GoogleCodeExporter commented 8 years ago

Original comment by mattgatto on 26 Jun 2014 at 12:35