Hi!
Evrything seems to go fine, until i try to replay a recorded file.
There are 2 situations:
- I save a replay, and replay it without quiting wormux : an exception is 
catched when clicking on the ok button of the replay menu, no error msg is 
displayed ( except "Error:" )
Here is the backtrace:
Adding file record.dat
Adding file record2.dat
Adding file record3.dat
Everything went OK
Everything went OK
Game mode: turn=60s move_player=2 max_char=2 init_energy=50
Allocated 11880b for actions found at 84
Game mode: turn=60s move_player=2 max_char=2 init_energy=50
[Thread -1219355728 (zombie) exited]
[Switching to Thread -1217640768 (LWP 12016)]

Breakpoint 1, Game::Replay (this=0x81964b8, [EMAIL PROTECTED]) at 
game/game.cpp:172
172         std::string txt = Format(_("Error:\n%s"), err_msg.c_str());
Current language:  auto; currently c++
(gdb) up
#1  0x080afc2a in ReplayMenu::__sig_ok (this=0xbf8fa1b4) at 
menu/replay_menu.cpp:293
293         
Game::GetInstance()->Replay(Config::GetInstance()->GetPersonalDir() + 
selected);
(gdb) print Config::GetInstance()->GetPersonalDir()
$1 = {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = 
{<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
    _M_p = 0x816485c "/home/lds/.wormux/"}}
(gdb) print selected
$2 = 0x8f7cb5c "record3.dat"
(gdb) bt
#0  Game::Replay (this=0x81964b8, [EMAIL PROTECTED]) at game/game.cpp:172
#1  0x080afc2a in ReplayMenu::__sig_ok (this=0xbf8fa1b4) at 
menu/replay_menu.cpp:293
#2  0x080967d3 in Menu::sig_ok (this=0xbf8fa1b4) at menu/menu.cpp:60
#3  0x0809766a in Menu::BasicOnClic (this=0xbf8fa1b4, 
[EMAIL PROTECTED]) at menu/menu.cpp:76
#4  0x080977f1 in Menu::Run (this=0xbf8fa1b4) at menu/menu.cpp:126
#5  0x08058154 in AppWormux::main (this=0x81645b8, argc=1, argv=0xbf8fa764) at 
main.cpp:106
#6  0x080583ec in main (argc=1, argv=0xbf8fa764) at main.cpp:243
(gdb)

- Second case, i relaunch wormux before replaying a game : an other crash 
happens after executing the random number actions. The second backtrace:
Adding random value to randomsync
Adding random value to randomsync

team/team.cpp:204: Missed assertion "0 < NbAliveCharacter()".

Program received signal SIGABRT, Aborted.
[Switching to Thread -1217833280 (LWP 12255)]
0xffffe410 in __kernel_vsyscall ()
Current language:  auto; currently c
(gdb) bt
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb7a12346 in kill () from /lib/tls/libc.so.6
#2  0x08082e42 in WakeUpDebugger () at tool/error.cpp:41
#3  0x08082eda in MissedAssertion (filename=0x81329d2 "team/team.cpp", 
line=204, message=0x81329bb "0 < NbAliveCharacter()") at tool/error.cpp:53
#4  0x081007e8 in Team::NextCharacter (this=0x8587db0) at team/team.cpp:204
#5  0x080511d8 in Action_ChangeCharacter (a=0x87e2770) at 
include/action_handler.cpp:102
#6  0x080523b3 in ActionHandler::Exec (this=0x8167fc8, a=0x87e2770) at 
include/action_handler.cpp:356
#7  0x08052440 in ActionHandler::ExecActions (this=0x8167fc8) at 
include/action_handler.cpp:324
#8  0x080613b3 in GameLoop::InitGameData_RePlay (this=0x87dc860) at 
game/game_loop.cpp:162
#9  0x08061af0 in GameLoop::InitData (this=0x87dc860) at 
game/game_loop.cpp:196
#10 0x08064fc2 in GameLoop::Init (this=0x87dc860) at game/game_loop.cpp:228
#11 0x0805fbe3 in Game::Replay (this=0x8196618, [EMAIL PROTECTED]) at 
game/game.cpp:143
#12 0x080afc2a in ReplayMenu::__sig_ok (this=0xbfcc9c84) at 
menu/replay_menu.cpp:293
#13 0x080967d3 in Menu::sig_ok (this=0xbfcc9c84) at menu/menu.cpp:60
#14 0x0809766a in Menu::BasicOnClic (this=0xbfcc9c84, 
[EMAIL PROTECTED]) at menu/menu.cpp:76
#15 0x080977f1 in Menu::Run (this=0xbfcc9c84) at menu/menu.cpp:126
#16 0x08058154 in AppWormux::main (this=0x81645b8, argc=1, argv=0xbfcca234) at 
main.cpp:106
#17 0x080583ec in main (argc=1, argv=0xbfcca234) at main.cpp:243
(gdb) frame 4
#4  0x081007e8 in Team::NextCharacter (this=0x8587db0) at team/team.cpp:204
204       assert (0 < NbAliveCharacter());
Current language:  auto; currently c++
(gdb) print characters.size()
$6 = 0
(gdb) frame 6
#6  0x080523b3 in ActionHandler::Exec (this=0x8167fc8, a=0x87e2770) at 
include/action_handler.cpp:356
356       (*it->second) (a);
(gdb) print a->m_type
$7 = ACTION_CHANGE_CHARACTER
(gdb)

I'm not sure character selection with the mouse works over network, it may be 
the reason of your current playing character bug..

A+
Lodesi

Le Samedi 1 Juillet 2006 01:28, Kurosu a écrit :
> Kurosu wrote:
> > I hope to spark some interest this time around. ;)
>
> Here is an updated version against r899. It now asks for the filename and a
> comment at results screen. The .dat must be left, as it is used for file
> filtering by the replay brower, the other addition. This is one is directly
> available at the title screen, and should be, I hope, self-explanatory.
>
> As for the replays, whenever you use ninja rope, teleportation or the like,
> expect problems. This is mostly because replay is based on network, and
> those actions aren't yet perfectly supported. I also noticed great risks of
> unsynchronisation on bonus box interaction and some other events. The
> selection may jump from one character without much notice also.
>
> Best regards,
> Kurosu





___________________________________________________________________________
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son 
interface révolutionnaire.
http://fr.mail.yahoo.com


_______________________________________________
Wormux-dev mailing list
Wormux-dev@gna.org
https://mail.gna.org/listinfo/wormux-dev

Répondre à