Difference between revisions of "Running Bug List"

From Bitfighter
(General Bugs)
(General Bugs)
Line 18: Line 18:
 
# Two clients connecting to a server, all on the same machine, some how share a gameconnection.  This is evident when one client does /idle, but immediately respawns without the user typing a key
 
# Two clients connecting to a server, all on the same machine, some how share a gameconnection.  This is evident when one client does /idle, but immediately respawns without the user typing a key
 
# Memory leak in setting up our scripting environments.  A temporary workaround was put in by sam686 in [https://code.google.com/p/bitfighter/source/detail?r=4d6f2a48d2543b95939382c8619686a9ac5e7529 4d6f2a48d254].  To duplicate, revert sam686's change, go into a level and do /addbots 50, then /kickbots, repeatedly.  To see a nice graphic of where the memory is being created:  http://sam6.25u.com/upload/3snapshot13.png
 
# Memory leak in setting up our scripting environments.  A temporary workaround was put in by sam686 in [https://code.google.com/p/bitfighter/source/detail?r=4d6f2a48d2543b95939382c8619686a9ac5e7529 4d6f2a48d254].  To duplicate, revert sam686's change, go into a level and do /addbots 50, then /kickbots, repeatedly.  To see a nice graphic of where the memory is being created:  http://sam6.25u.com/upload/3snapshot13.png
# Memory leak with menuitems in scripts again:  http://pastie.org/pastes/8064689/text  
+
# Memory leak with menuitems in scripts again:  http://pastie.org/pastes/8064689/text MenuItems *are* wrapped in a shared_ptr but aren't being cleaned up???
 
# luaW_gc is only called when we exit the game - should this be called sooner, like when we change levels?
 
# luaW_gc is only called when we exit the game - should this be called sooner, like when we change levels?
 +
# LuaW memory leak:  add game object, like with TextItem.new(), then don't call call levelgen:addToGame() on it...  leak!
  
 
====Things to test after next lua rewrite====
 
====Things to test after next lua rewrite====
 
# Levelgen: Having addItem() in main() may randomly fail on repeated ctrl+R in editor or repeated level restart, showing message "***LEVELGEN ERROR*** Error encountered while attempting to run script's main() function: ***.levelgen:44: attempt to call missing or unknown method 'addItem' (a nil value).  Aborting script."
 
# Levelgen: Having addItem() in main() may randomly fail on repeated ctrl+R in editor or repeated level restart, showing message "***LEVELGEN ERROR*** Error encountered while attempting to run script's main() function: ***.levelgen:44: attempt to call missing or unknown method 'addItem' (a nil value).  Aborting script."
 
#:<code>-- for bug #33 from sam686<br>function main()<br>&nbsp; for x = 0, 20 do<br>&nbsp; &nbsp; for y = 0, 20 do<br>&nbsp; &nbsp; &nbsp; item2 = ResourceItem.new()<br>&nbsp; &nbsp; &nbsp;  item2:setGeom(x * 100, y * 100)<br>&nbsp; &nbsp; &nbsp; levelgen:addItem(item2)<br>&nbsp; &nbsp; &nbsp; textitem = TextItem.new()<br>&nbsp; &nbsp; &nbsp; textitem:setText(x .. "," .. y)<br>&nbsp; &nbsp; &nbsp; textitem:setGeom(x * 100, y * 100, x * 100 + 100, y * 100)<br>&nbsp; &nbsp; &nbsp; levelgen:addItem(textitem)<br>&nbsp; &nbsp; end<br>&nbsp; end<br>end</code>
 
#:<code>-- for bug #33 from sam686<br>function main()<br>&nbsp; for x = 0, 20 do<br>&nbsp; &nbsp; for y = 0, 20 do<br>&nbsp; &nbsp; &nbsp; item2 = ResourceItem.new()<br>&nbsp; &nbsp; &nbsp;  item2:setGeom(x * 100, y * 100)<br>&nbsp; &nbsp; &nbsp; levelgen:addItem(item2)<br>&nbsp; &nbsp; &nbsp; textitem = TextItem.new()<br>&nbsp; &nbsp; &nbsp; textitem:setText(x .. "," .. y)<br>&nbsp; &nbsp; &nbsp; textitem:setGeom(x * 100, y * 100, x * 100 + 100, y * 100)<br>&nbsp; &nbsp; &nbsp; levelgen:addItem(textitem)<br>&nbsp; &nbsp; end<br>&nbsp; end<br>end</code>

Revision as of 19:38, 22 June 2013

This is list of our current high-priority bugs for Bitfighter.

Not all issues belong on this list -- only those that are a high priority for the next release. Other cases should be added to the Google Code bug tracker.

General Bugs

  1. Figure out how to get ids working properly with walls/polywalls
  2. Disable fast regen when standing still trying to build something with engineer
  3. Lua API doc fixes:
  4. Improve screen for loading levels in editor -- perhaps general keyword search, or options for picking by author/title/file, or perhaps navigating a folder tree
  5. in onShipLeftZone/etc. events with 'ship' object, either the ship or the ship:getPlayerInfo() doesn't return the same userdata object each time anymore
  6. Start game with joystick plugged in; remove joystick; go to Options>Input... crash! Can't even get a stack trace in Windows!
  7. Two clients connecting to a server, all on the same machine, some how share a gameconnection. This is evident when one client does /idle, but immediately respawns without the user typing a key
  8. Memory leak in setting up our scripting environments. A temporary workaround was put in by sam686 in 4d6f2a48d254. To duplicate, revert sam686's change, go into a level and do /addbots 50, then /kickbots, repeatedly. To see a nice graphic of where the memory is being created: http://sam6.25u.com/upload/3snapshot13.png
  9. Memory leak with menuitems in scripts again: http://pastie.org/pastes/8064689/text MenuItems *are* wrapped in a shared_ptr but aren't being cleaned up???
  10. luaW_gc is only called when we exit the game - should this be called sooner, like when we change levels?
  11. LuaW memory leak: add game object, like with TextItem.new(), then don't call call levelgen:addToGame() on it... leak!

Things to test after next lua rewrite

  1. Levelgen: Having addItem() in main() may randomly fail on repeated ctrl+R in editor or repeated level restart, showing message "***LEVELGEN ERROR*** Error encountered while attempting to run script's main() function: ***.levelgen:44: attempt to call missing or unknown method 'addItem' (a nil value). Aborting script."
    -- for bug #33 from sam686
    function main()
      for x = 0, 20 do
        for y = 0, 20 do
          item2 = ResourceItem.new()
          item2:setGeom(x * 100, y * 100)
          levelgen:addItem(item2)
          textitem = TextItem.new()
          textitem:setText(x .. "," .. y)
          textitem:setGeom(x * 100, y * 100, x * 100 + 100, y * 100)
          levelgen:addItem(textitem)
        end
      end
    end