wiremod / advduplicator

Garry's Mod add-on that allows a player to save and load contraptions
http://www.wiremod.com
Apache License 2.0
67 stars 43 forks source link

GM13's "Crazy Physics" removal causes per-tick console spam #30

Closed Bubbus closed 11 years ago

Bubbus commented 11 years ago

Hi there, here's a little issue with the ghosting. If the ghosts get removed by GMod's inbuilt position protection, errors fill up the console on a per-tick basis. Had to delete a 33MB console log from my server because of this :)

Thanks for the work on advdupe. As always, it's massively useful.

Crazy physics on [81][gmod_ghost] [Ang:10.276700,135.972992,5.864498] [Pos:41177.429688,-10648.027344,-27402.035156] - removing
Crazy physics on [81][gmod_ghost] [Ang:0.146937,46.849876,359.427307] [Pos:26853.310547,-15750.456055,-36675.941406] - removing

[ERROR] ...plicator/lua/weapons/gmod_tool/stools/adv_duplicator.lua:498: attempt to index field 'GhostEntities' (a nil value)
1. AddToGhost - ...plicator/lua/weapons/gmod_tool/stools/adv_duplicator.lua:498
2. Think - ...plicator/lua/weapons/gmod_tool/stools/adv_duplicator.lua:284
3. unknown - gamemodes/sandbox/entities/weapons/gmod_tool/shared.lua:192
Nebual commented 11 years ago

I figured these things had no physics at all and that this was 100% a bug of the crazy physics detector, but apparently the head ghost (entity directly under the cursor) has actual physics and everything else is parented to it. Somehow the head ghost was called crazy, and judging by the error line being 498 it was while the ghost was building. I think I can fix Advdupe not failing gracefully when this occurs, its supposed to remove all the ghosts.

I've never seen this error come up with advdupe, I'd imagine its probably very unpredictable. Do you know how to reproduce it at all? Might the head entity have been a ragdoll or something?

Bubbus commented 11 years ago

I'm afraid I don't know much about how the error occured. I've since deleted the log and the guy never spawned his dupe. I'm guessing he was somehow aiming outside the map at one point, triggering the removal?

All I know is that he said 'brb' and kept that dupe open for half an hour. Server log full of errors, but he couldn't have known about it :)

Thanks again, I appreciate your time.

Nebual commented 11 years ago

This is likely as fixed as possible from Wire's end, and that commit should stop error spam, so I'll close this. If you get any more information feel free to reply.