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.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    No Changes Have Been Made to This Item
    Show feedback again

    Back to the top


    Powered by Savane 3.1-cleanup