bugFreeciv - Bugs: bug #20854, A very odd bug with single_move

 
 
Show feedback again

bug #20854: A very odd bug with single_move

Submitted by:  Micke <mss_8734>
Submitted on:  Tue 28 May 2013 10:11:47 PM UTC  
 
Category: NoneSeverity: 3 - Normal
Priority: 5 - NormalStatus: None
Assigned to: NoneOpen/Closed: Open
Release: 2.6Operating System: None
Planned Release: 

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Wed 29 May 2013 09:48:50 PM UTC, comment #1:

In addition to units being immobile with the classic ruleset, having other values than 3/1 in the other ones crashes the game. I'm still working with trunk revision 22904, but now with patch #3900. I applied attachment 1 on top of that one and attachment 2 on the respective rulesets.

Log excerpts:
/* First test, experimental ruleset. No problems at all. */
3: in handle_begin_turn() [packhand.c::1183]: Begin turn, game.info.single_move = 3, game.info.igter_move = 1.
3: in handle_end_turn() [packhand.c::1199]: End turn, game.info.single_move = 3, game.info.igter_move = 1.
3: in handle_begin_turn() [packhand.c::1183]: Begin turn, game.info.single_move = 3, game.info.igter_move = 1.
3: in handle_end_turn() [packhand.c::1199]: End turn, game.info.single_move = 3, game.info.igter_move = 1.
3: in handle_begin_turn() [packhand.c::1183]: Begin turn, game.info.single_move = 3, game.info.igter_move = 1.

/* Second test, experimental ruleset. All units started with 3/6 moves;

  • an explorer lost 2/6 per square moved. */

3: in handle_begin_turn() [packhand.c::1183]: Begin turn, game.info.single_move = 6, game.info.igter_move = 2.
/* Never made it to handle_end_turn(). The log goes on to to sending

  • research packets: */

3: [T000 - 2013/05/29 23:07:55] in send_packet_data() [packets.c::184]: sending packet type=PACKET_END_PHASE(125) len=4 to mikaels
4: in genhash_new_nbuckets() [genhash.c::271]: New genhash table with 29 buckets
3: in send_packet_player_research_100() [packets_gen.c::11878]: packet_player_research_100: sending info about ()
3: in send_packet_data() [packets.c::184]: sending packet type=PACKET_PLAYER_RESEARCH(55) len=5 to server
3: in send_packet_data() [packets.c::190]: sending request 57
4: in notify_about_outgoing_packet() [packhand.c::3697]: outgoing packet={type=55, size=5, request_id=57}
4: in send_packet_data() [packets.c::221]: COMPRESS: sending PACKET_PLAYER_RESEARCH alone (2645 bytes total)
4: in add_connection_data() [connection.c::269]: add 5 bytes to 0 (space =40960)
4: in write_socket_data() [connection.c::201]: trying to write 5 limit=0
4: in send_packet_data() [packets.c::228]: COMPRESS: STATS: alone=2645 compression-expand=0 compression (before/after) = 0/0
3: in send_packet_player_tech_goal_100() [packets_gen.c::12039]: packet_player_tech_goal_100: sending info about ()
3: in send_packet_data() [packets.c::184]: sending packet type=PACKET_PLAYER_TECH_GOAL(56) len=5 to server
3: in send_packet_data() [packets.c::190]: sending request 58
4: in notify_about_outgoing_packet() [packhand.c::3697]: outgoing packet={type=56, size=5, request_id=58}
4: in send_packet_data() [packets.c::221]: COMPRESS: sending PACKET_PLAYER_TECH_GOAL alone (2650 bytes total)
4: in add_connection_data() [connection.c::269]: add 5 bytes to 0 (space =40960)
4: in write_socket_data() [connection.c::201]: trying to write 5 limit=0
4: in send_packet_data() [packets.c::228]: COMPRESS: STATS: alone=2650 compression-expand=0 compression (before/after) = 0/0
4: in read_socket_data() [connection.c::139]: try reading 579603 bytes
4: in agents_disconnect() [agents.c::392]: agents_disconnect()
4: in game_remove_unit() [game.c::188]: game_remove_unit() at (65,19) unit 109, Italian Explorer home 0
4: in game_remove_unit() [game.c::188]: game_remove_unit() at (68,16) unit 108, Italian Workers home 0
4: in game_remove_unit() [game.c::188]: game_remove_unit() at (66,16) unit 107, Italian Workers home 0
4: in game_remove_unit() [game.c::188]: game_remove_unit() at (68,16) unit 106, Italian Settlers home 0
4: in game_remove_unit() [game.c::188]: game_remove_unit() at (66,18) unit 101, Italian Settlers home 0
4: in team_remove_player() [team.c::505]: Removing player 0/Alcide De Gasperi from team Team 0 (1)
4: in team_remove_player() [team.c::505]: Removing player 1/Kurush II from team Team 1 (1)
4: in team_remove_player() [team.c::505]: Removing player 2/Munmu from team Team 2 (1)
4: in team_remove_player() [team.c::505]: Removing player 3/Charlemagne from team Team 3 (1)
4: in team_remove_player() [team.c::505]: Removing player 4/Maria Theresia from team Team 4 (1)
4: in print_performance() [cm.c::2253]: CM-greedy: overall=0.000000s queries=0 -nanms / query, 0 applies
4: in print_performance() [cm.c::2253]: CM-opt: overall=0.000000s queries=0 -nanms / query, 0 applies
4: in set_client_page() [update_queue.c::484]: Requested page: PAGE_MAIN.
1: in client_conn_close_callback() [clinet.c::144]: Lost connection to server: read error.
2: (null)Backtrace:
2: (null) 0: ./client/freeciv-gtk2() [0x5f436d]
2: (null) 1: ./client/freeciv-gtk2(vdo_log+0x9b) [0x5f8b5b]
2: (null) 2: ./client/freeciv-gtk2(do_log+0x7d) [0x5f8c2d]
2: (null) 3: ./client/freeciv-gtk2() [0x49cb68]
2: (null) 4: ./client/freeciv-gtk2(input_from_server+0xd5) [0x49d2b5]
2: (null) 5: ./client/freeciv-gtk2() [0x448ce0]
2: (null) 6: /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x1dd) [0x7f1cb117abcd]
2: (null) 7: /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x433a8) [0x7f1cb117b3a8]
2: (null) 8: /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_loop_run+0x172) [0x7f1cb117b9f2]
2: (null) 9: /usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xa7) [0x7f1cb35f0af7]
2: (null) 10: ./client/freeciv-gtk2(ui_main+0x544) [0x44bb74]
2: (null) 11: ./client/freeciv-gtk2(client_main+0x319) [0x496f59]
2: (null) 12: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xff) [0x7f1cb0ba0eff]
2: (null) 13: ./client/freeciv-gtk2() [0x448919]

/* Third test, classic ruleset. All units have 0 moves, no problems other

  • than that. */

3: in handle_begin_turn() [packhand.c::1183]: Begin turn, game.info.single_move = 3, game.info.igter_move = 1.
3: in handle_end_turn() [packhand.c::1199]: End turn, game.info.single_move = 3, game.info.igter_move = 1.
3: in handle_begin_turn() [packhand.c::1183]: Begin turn, game.info.single_move = 3, game.info.igter_move = 1.

/* Fourth test, classic ruleset. All units have 0 moves, no problems other

  • than that. */

3: in handle_begin_turn() [packhand.c::1183]: Begin turn, game.info.single_move = 6, game.info.igter_move = 2.
3: in handle_end_turn() [packhand.c::1199]: End turn, game.info.single_move = 6, game.info.igter_move = 2.
3: in handle_begin_turn() [packhand.c::1183]: Begin turn, game.info.single_move = 6, game.info.igter_move = 2.

I am completely stumped.

(file #18028, file #18029)

Micke <mss_8734>
Tue 28 May 2013 10:11:47 PM UTC, original submission:

Applying the attached diff to trunk revision 22904 yields some very odd behaviour with the classic ruleset: it leaves all normal starting units (I did not try any other ones) with 0 moves. Other rulesets behave just like usual.
In the Gtk2 client I can get the classic units to get their normal movement points by first loading the Multiplayer ruleset, try to start the game and fail for lack of players, then load the classic ruleset again, click on the ‘Not ready’ button, which changes it into a ‘Start’ button again, and then start the game.

Micke <mss_8734>

 

(Note: upload size limit is set to 1024 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #18028:  gim_test.diff added by mss_8734 (3kB - text/x-diff)
file #18029:  grstest.diff added by mss_8734 (875B - text/x-diff)
file #18024:  single_move_test.diff added by mss_8734 (1kB - text/x-diff)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by mss_8734 (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):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Wed 29 May 2013 09:48:50 PM UTCmss_8734Attached File-=>Added gim_test.diff, #18028
      Attached File-=>Added grstest.diff, #18029
    Tue 28 May 2013 10:11:47 PM UTCmss_8734Attached File-=>Added single_move_test.diff, #18024
    Show feedback again

    Back to the top


    Powered by Savane 3.1-cleanup