1. Welcome to the Starbound support forums. Please check the support FAQs before posting: http://playstarbound.com/support

Bug/Issue Crash dual-wielding watering cans

Discussion in 'Starbound Support' started by EvgEniRus, Nov 17, 2017.

  1. EvgEniRus

    EvgEniRus Void-Bound Voyager

    Steps to reproduce:
    1. Obtain 2 watering cans (metallic variant, "wateringcan" item).
    2. Split the stack in two (they are stackable).
    3. Equip them in left and right hands of the same hotbar slot (by this point they are both usable simultaneously).
    4. [optional] Make sure that hotbar slot is not selected (e.g. by pressing "Z" or selecting another slot).
    5. Quick-sort your inventory. Watering cans will merge, and the same item stack will remain in both hands.
    6. As soon as that slot is selected again (immediately, if it was selected while sorting inventory), game crashes and refuses to load that character again.
    [22:52:09.794] [Error] Exception caught in client main-loop
    (LuaComponentException) Cannot call LuaWorldComponent::setScripts when LuaWorldComponent is initialized
    ./starbound(_ZN4Star13StarExceptionC2EPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x66) [0xaa85d6]
    ./starbound(_ZN4Star21LuaComponentExceptionC1ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x8b) [0x12d2ebb]
    ./starbound(_ZN4Star16LuaBaseComponent10setScriptsENS_10StringListE+0x41) [0x12d11d1]
    ./starbound(_ZN4Star10ActiveItem4initEPNS_14ToolUserEntityENS_8ToolHandE+0x11b) [0x124253b]
    ./starbound(_ZN4Star8ToolUser15initAltHandItemEv+0x44) [0x1096f64]
    ./starbound(_ZN4Star8ToolUser8setItemsESt10shared_ptrINS_4ItemEES3_+0x157) [0x1098377]
    ./starbound(_ZN4Star6Player16refreshEquipmentEv+0x1dc) [0xe7978c]
    ./starbound(_ZN4Star6Player6updateEm+0x13c) [0xe9298c]
    ./starbound() [0x113cc13]
    ./starbound(_ZN4Star9EntityMap17updateAllEntitiesERKSt8functionIFvRKSt10shared_ptrINS_6EntityEEEES1_IFbS6_S6_EE+0x1da) [0xc590fa]
    ./starbound(_ZN4Star11WorldClient6updateEv+0x3cf) [0x114409f]
    ./starbound(_ZN4Star14UniverseClient6updateEv+0x28e) [0x10abc1e]
    ./starbound(_ZN4Star17ClientApplication13updateRunningEv+0x30c) [0x98f4bc]
    ./starbound(_ZN4Star17ClientApplication6updateEv+0x70) [0x990780]
    ./starbound(_ZN4Star18runMainApplicationESt10unique_ptrINS_11ApplicationESt14default_deleteIS1_EENS_10StringListE+0x336) [0x13b7066]
    ./starbound(main+0x457) [0x979947]
    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f979c90d830]
    ./starbound() [0x9875ec]
    [22:52:09.795] [Info] UniverseClient: Client disconnecting...
    [22:52:09.814] [Info] UniverseServer: Client 'Fuel' <1> (local) disconnected for reason:
    [22:52:09.814] [Info] UniverseServer: Stopping idle world CelestialWorld:-146017747:-682625896:-181155336:2
    [22:52:09.814] [Info] Client received world stop packet, leaving: Removed
    [22:52:09.820] [Error] Application: exception thrown, shutting down: (ToolUserItemException) Not initialized in ToolUserItem::entityMode
    ./starbound(_ZN4Star13StarExceptionC2EPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x66) [0xaa85d6]
    ./starbound(_ZN4Star21ToolUserItemExceptionC1ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x52) [0x1238cf2]
    ./starbound(_ZNK4Star12ToolUserItem10entityModeEv+0x54) [0x1238b04]
    ./starbound(_ZN4Star10ActiveItem6uninitEv+0x17) [0x123c3d7]
    ./starbound(_ZN4Star8ToolUser10uninitItemERKSt10shared_ptrINS_4ItemEE+0x4d) [0x10948fd]
    ./starbound(_ZN4Star6Player6uninitEv+0x28) [0xe75338]
    ./starbound() [0x113ba3c]
    ./starbound(_ZN4Star11WorldClient10clearWorldEv+0x5a) [0x113bb2a]
    ./starbound(_ZN4Star11WorldClient21handleIncomingPacketsERKNS_4ListISt10shared_ptrINS_6PacketEESaIS4_EEE+0x34b) [0x114b70b]
    ./starbound(_ZN4Star14UniverseClient13handlePacketsERKNS_4ListISt10shared_ptrINS_6PacketEESaIS4_EEE+0x7f2) [0x10aabc2]
    ./starbound(_ZN4Star14UniverseClient10disconnectEv+0x13e) [0x10ab5de]
    ./starbound(_ZN4Star17ClientApplication11changeStateENS0_12MainAppStateE+0x608) [0x98b318]
    ./starbound(_ZN4Star17ClientApplication8setErrorERKNS_6StringERKSt9exception+0x167) [0x98dc57]
    ./starbound(_ZN4Star17ClientApplication13updateRunningEv+0x10b6) [0x990266]
    ./starbound(_ZN4Star17ClientApplication6updateEv+0x70) [0x990780]
    ./starbound(_ZN4Star18runMainApplicationESt10unique_ptrINS_11ApplicationESt14default_deleteIS1_EENS_10StringListE+0x336) [0x13b7066]
    ./starbound(main+0x457) [0x979947]
    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f979c90d830]
    ./starbound() [0x9875ec]
    [22:52:09.820] [Info] Application: shutdown...

    Notes:
    • Wooden watering can does not have this problem, at least because it is not stackable.
    • Manually merging stacks instead of sorting inventory does not trigger the bug, because hotbar slot is cleared when this is done.
    • At least some (maybe all) other stackable single-handed items (e.g. bandages) do not crash the game in the same scenario.
    • Editing save to eliminate that dual-wielding state (e.g. by editing hotbar slot contents) seems to allow loading that save file again, without any side-effects as far as I can tell.
    • Crash is reproducible in latest version (1.3.3), without any mods.
    • I am running Linux version of the game, in case it turns out to be relevant.
    Suggested changes:
    • Validate hotbar slots after sorting inventory.
    • Make "wateringcan" item non-stackable.
     

Share This Page