bugpokersource - Bugs: bug #14496, extra player in the game

Show feedback again

You are not allowed to post comments on this tracker with your current authentification level.

bug #14496: extra player in the game

Submitted by:  Loic Dachary <loic>
Submitted on:  Sat 10 Oct 2009 05:47:38 PM UTC  
Category: poker-networkSeverity: 3 - Normal
Priority: 1 - LaterStatus: Need Info
Privacy: PublicAssigned to: None
Open/Closed: Open

Sat 10 Oct 2009 05:48:19 PM UTC, comment #1:

needs an associated test

Loic Dachary <loic>
Project Administrator
Sat 10 Oct 2009 05:47:38 PM UTC, original submission:

From Levente Tamas:

we came across a situation that you should create a test suite for because it seems it is still a bug in the upstream pokerserver. you need 7 players to reproduce, and explain mode set to on on all of them (it is a bug related to the explain mode).
Table initial state: seats [ 1, 0, 2, 0, 0, 0, 3, 0, 4, 0] ( 1 dealer 2 3 blinds)
round starts, 2 player joins : seats [ 1, 0, 2, 0, 0, 5, 3, 0, 4, 6] (game goes, round ends)
6 can go into game with late blind 5 stays out because now he is in sb position
play some rounds, we did: 6-fold, 1-call, 2-call, 3-call, 4-check -- 3-check, 4-check, 1-raise, 2-fold, 3-call, 4-fold -- 3-check, 1-check -- 3-check now here login to seat#1 seats [1, 7, 2, 0, 0, 5, 3, 0, 4, 6] and boom server crash.
Reason: when the 7 joins it gets a hand replay, and as in explain mode the sendpacket will actually call explain.packet, that will invoke a beginround, that will do a buildplayerlist and will put number 5 in game, and from there on the replay will freeze, as the blinds are not payed by the ones who really had payed them. We got around this but saving the explain mode before starting the past replay packets and restoring it afterwards.

--- a/poker-network/pokernetwork/pokeravatar.py
+++ b/poker-network/pokernetwork/pokeravatar.py
@@ -1027,8 +1027,11 @@ class PokerAvatar:
# packet containing cards custom cards into placeholders
# in this case.
+ save_explain = self.explain
+ self.explain = None
for past_packet in table.history2packets(game.historyGet(), game.id, table.createCache()):
self.sendPacketVerbose(table.private2public(past_packet, self.getSerial()))
+ self.explain = save_explain
self.sendPacketVerbose(PacketPokerStreamMode(game_id = game.id))

def addPlayer(self, table, seat):

Loic Dachary <loic>
Project Administrator


No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -unavailable- added by loic (Submitted the item)

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.


    Error: not logged in



    No Changes Have Been Made to This Item
    Show feedback again

    Back to the top

    Powered by Savane 3.1-cleanup