.
Hi Linus, just to update, reporting current state...
Today's GitHub download of the marsu_game seems to
launch okay, no more problems with up-front out-of-tree security-violations.
It launches okay with both my current minetestdevs ppa repo version of minetest (0.4.14-dev), and the minetestserver version (0.4.13) from ubuntu xenial main repo (packaged as ''minetest-server'').
Yes, I've tried various versions (locally-built and repo-packaged), and yes, I removed the /skins directory from /mods.
But... they all still crash when the aliens are enabled.
Yes, your suggestion :
linushsao wrote:3. comment this line in marssurvive mod's init.lua -->"dofile(minetest.get_modpath("marssurvive") .. "/aliens.lua")"make it useless.(add "--" in front of "dofile" to disable alien's generating)
does indeed prevent the alien-triggered crash ... but it removes an important part of game-play : hostile mobs!
Therefore, with aliens enabled (not commented-out in init.lua), we need to investigate why it causes a crash.
Every crash has finished much like this :
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
- Code: Select all
2016-12-02 20:31:29: ACTION[ServerThread]: Deprecated usage of get_node_group, use get_item_group instead
2016-12-02 20:31:29: ACTION[ServerThread]: stack traceback:
2016-12-02 20:31:29: ACTION[ServerThread]: [C]: in function 'log'
2016-12-02 20:31:29: ACTION[ServerThread]: /usr/share/games/minetest/builtin/game/misc.lua:135: in function 'get_node_group'
2016-12-02 20:31:29: ACTION[ServerThread]: ...e/.minetest/games/marsu_game/mods/marssurvive/aliens.lua:328: in function <...e/.minetest/games/marsu_game/mods/marssurvive/aliens.lua:134>
minetestserver: /build/minetest-6sh_iU/minetest-0.4.13+repack/src/util/serialize.h:265: void writeF1000(irr::u8*, irr::f32): Assertion `i >= ((float)(s32)((-0x7FFFFFFF - 1) / 1000.0f)) && i <= ((float)(s32)((0x7FFFFFFF) / 1000.0f))' failed.
Aborted (core dumped)
I do not know whether it is causal or not ...
whether it is the use of a deprecated function causing the crash.
Or might that deprecated use actually be benign..?
Instead might the crash might be caused by the ''
if .. (node, "lava")>0 then'' part of the line..?
I must emphasise that I do not know the programming-language Lua ... but I am comfortable in command-line Bash in a Konsole terminal.
I grepped to see whether ''minetest.get_node_group'' was a common function used elsewhere or not.
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
- Code: Select all
grep --colour -r -niE '(minetest.get_node_group)' ~/.minetest/games/marsu_game/
which returned only a single use, and that single occurrence is within aliens.lua.
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
- Code: Select all
/home/username/.minetest/games/marsu_game/mods/marssurvive/aliens.lua:328: if minetest.get_node_group(node, "lava")>0 then
/home/username/.minetest/games/marsu_game/tmp/marssurvive-new+merge/aliens.lua:328: if minetest.get_node_group(node, "lava")>0 then
/home/username/.minetest/games/marsu_game/tmp/marssurvive/aliens.lua:316: if minetest.get_node_group(node, "lava")>0 then
I have followed the suggested
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
- Code: Select all
ACTION[ServerThread]: Deprecated usage of get_node_group, use get_item_group instead
and
tried changing it to ''minetest.get_item_group'' on line 328 of aliens.lua.
EDIT : I finally encountered freshly-spawned aliens ... and yes, it crashed immediately again :
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
- Code: Select all
2016-12-02 23:03:38: INFO[Emerge-0]: initialEmerge: area: (48,48,176)(207,207,335)=160x160x160=4096000 (16MB)
2016-12-02 23:03:41: INFO[Server]: ServerMap: Written: 0 sector metadata files, 1003 block files, 2261 blocks in memory.
2016-12-02 23:03:41: INFO[Server]: ServerMap: Blocks modified by:
2016-12-02 23:03:41: INFO[Server]: deactivateFarObjects: Static data moved in: 1
2016-12-02 23:03:41: INFO[Server]: deactivateFarObjects: Static data moved in, deactivateFarObjects: Static data moved out: 1
2016-12-02 23:03:41: INFO[Server]: deactivateFarObjects: Static data moved out: 1
2016-12-02 23:03:41: INFO[Server]: finishBlockMake: expireDayNightDiff: - - 319
2016-12-02 23:03:41: INFO[Server]: initial, reallocate, setIsUnderground, setLightingExpired, finishBlockMake: expireDayNightDiff: 169
2016-12-02 23:03:41: INFO[Server]: initial, reallocate, setIsUnderground, setLightingExpired, setGenerated, addActiveObjectRaw, finishBlockMake: expireDayNightDiff: 8
2016-12-02 23:03:41: INFO[Server]: initial, reallocate, setIsUnderground, setLightingExpired, setGenerated, finishBlockMake: expireDayNightDiff: 335
2016-12-02 23:03:41: INFO[Server]: setGenerated, finishBlockMake: expireDayNightDiff: 169
2016-12-02 23:03:41: INFO[Server]: ServerMap: Unloaded 8 blocks from memory, of which 0 were written, 2254 blocks in memory.
2016-12-02 23:03:43: INFO[Server]: Players:
2016-12-02 23:03:43: INFO[Server]: * JJ RemoteClient 2: m_blocks_sent.size()=2308, m_blocks_sending.size()=1, m_nearest_unsent_d=0, m_excess_gotblocks=0
2016-12-02 23:03:44: INFO[Server]: ServerMap: Unloaded 61 blocks from memory, of which 15 were written, 2240 blocks in memory.
2016-12-02 23:03:44: INFO[Server]: ServerMap: Blocks modified by:
2016-12-02 23:03:44: INFO[Server]: setTimestamp: - - - - - - - - - - - - - - 4
2016-12-02 23:03:44: INFO[Server]: setTimestamp, Timestamp expired (step): - 11
2016-12-02 23:03:46: INFO[Server]: ServerMap: Written: 0 sector metadata files, 3 block files, 2260 blocks in memory.
2016-12-02 23:03:46: INFO[Server]: ServerMap: Blocks modified by:
2016-12-02 23:03:46: INFO[Server]: deactivateFarObjects: Static data moved in: 1
2016-12-02 23:03:46: INFO[Server]: deactivateFarObjects: Static data moved in, deactivateFarObjects: Static data moved out: 1
2016-12-02 23:03:46: INFO[Server]: deactivateFarObjects: Static data moved out: 1
2016-12-02 23:03:47: INFO[Server]: ServerMap: Unloaded 66 blocks from memory, of which 3 were written, 2204 blocks in memory.
2016-12-02 23:03:47: INFO[Server]: ServerMap: Blocks modified by:
2016-12-02 23:03:47: INFO[Server]: setTimestamp, Timestamp expired (step): - 3
2016-12-02 23:03:50: INFO[Server]: ServerMap: Unloaded 39 blocks from memory, of which 16 were written, 2200 blocks in memory.
2016-12-02 23:03:50: INFO[Server]: ServerMap: Blocks modified by:
2016-12-02 23:03:50: INFO[Server]: setTimestamp: - - - - - - - - - - - - - - 1
2016-12-02 23:03:50: INFO[Server]: setTimestamp, Timestamp expired (step): - 15
2016-12-02 23:03:52: INFO[Server]: ServerMap: Written: 0 sector metadata files, 4 block files, 2221 blocks in memory.
2016-12-02 23:03:52: INFO[Server]: ServerMap: Blocks modified by:
2016-12-02 23:03:52: INFO[Server]: deactivateFarObjects: Static data moved in: 1
2016-12-02 23:03:52: INFO[Server]: deactivateFarObjects: Static data moved in, deactivateFarObjects: Static data moved out: 2
2016-12-02 23:03:52: INFO[Server]: deactivateFarObjects: Static data moved out: 1
2016-12-02 23:03:53: INFO[Server]: ServerMap: Unloaded 588 blocks from memory, of which 6 were written, 1649 blocks in memory.
2016-12-02 23:03:53: INFO[Server]: ServerMap: Blocks modified by:
2016-12-02 23:03:53: INFO[Server]: setTimestamp, Timestamp expired (step): - 6
2016-12-02 23:03:56: INFO[Server]: ServerMap: Unloaded 89 blocks from memory, of which 7 were written, 1592 blocks in memory.
2016-12-02 23:03:56: INFO[Server]: ServerMap: Blocks modified by:
2016-12-02 23:03:56: INFO[Server]: setTimestamp, Timestamp expired (step): - 7
2016-12-02 23:03:57: INFO[Server]: ServerMap: Written: 0 sector metadata files, 4 block files, 1609 blocks in memory.
2016-12-02 23:03:57: INFO[Server]: ServerMap: Blocks modified by:
2016-12-02 23:03:57: INFO[Server]: deactivateFarObjects: Static data moved in: 1
2016-12-02 23:03:57: INFO[Server]: deactivateFarObjects: Static data moved in, deactivateFarObjects: Static data moved out: 2
2016-12-02 23:03:57: INFO[Server]: deactivateFarObjects: Static data moved out: 1
2016-12-02 23:03:59: INFO[Server]: ServerMap: Unloaded 91 blocks from memory, of which 0 were written, 1546 blocks in memory.
2016-12-02 23:04:02: INFO[Server]: ServerMap: Unloaded 108 blocks from memory, of which 2 were written, 1476 blocks in memory.
2016-12-02 23:04:02: INFO[Server]: ServerMap: Blocks modified by:
2016-12-02 23:04:02: INFO[Server]: setTimestamp: - - - - - - - - - - - - - - 2
2016-12-02 23:04:02: INFO[Server]: ServerMap: Written: 0 sector metadata files, 4 block files, 1485 blocks in memory.
2016-12-02 23:04:02: INFO[Server]: ServerMap: Blocks modified by:
2016-12-02 23:04:02: INFO[Server]: addActiveObjectRaw: - - - - - - - - - - - 1
2016-12-02 23:04:02: INFO[Server]: deactivateFarObjects: Static data moved in: 1
2016-12-02 23:04:02: INFO[Server]: deactivateFarObjects: Static data moved in, deactivateFarObjects: Static data moved out: 1
2016-12-02 23:04:02: INFO[Server]: deactivateFarObjects: Static data moved out: 1
minetest: /build/minetest-_yiwQ6/minetest-201612020801/src/util/serialize.h:278: void writeF1000(irr::u8*, irr::f32): Assertion `i >= F1000_MIN && i <= F1000_MAX' failed.
Aborted (core dumped)
Having edited the deprecated function in aliens.lua, the log does not now mention line 328.
Are there any Lua experts who can confirm whether the code related to ''line 328'' was truly the culprit..?
Or could the
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
- Code: Select all
minetestserver: /build/minetest-6sh_iU/minetest-0.4.13+repack/src/util/serialize.h:265: void writeF1000(irr::u8*, irr::f32): Assertion `i >= ((float)(s32)((-0x7FFFFFFF - 1) / 1000.0f)) && i <= ((float)(s32)((0x7FFFFFFF) / 1000.0f))' failed.
crash-message be caused by something which is not reaching the logs, something happening AFTER the logged line 328..?
Correlation not causality ... was the alien.lua line 328 a red-herring..?
Just thinking out loud...
Clearly the aliens trigger it, but where does :
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
- Code: Select all
minetest: /build/minetest-_yiwQ6/minetest-201612020801/src/util/serialize.h:278: void writeF1000(irr::u8*, irr::f32): Assertion `i >= F1000_MIN && i <= F1000_MAX' failed.
actually point the finger...?
Is ''serialize.h'' pointing to a bug in the Minetest application, or something in the Operating System...? Hopefully a developer can solve this.
I'm completely out of my depth, but I will continue to report my experiences.
I hope it helps someone somewhere somehow. :)
.