Thutmose / Pokecube

Primary Development has moved to: https://github.com/Pokecube-Development
https://github.com/Pokecube-Development
19 stars 7 forks source link

Startup Thread Dump - pokecube or Sponge? #240

Closed smmmadden closed 6 years ago

smmmadden commented 6 years ago

Server loads up and game is working, but there is an immediate PhaseState Exception thrown by Sponge once it makes it paste Dynmap. Not sure when it started as there were sponge and pokecube updates being applied, but the startup logs write out hundreds more lines searching for xml files not in the cache. that wasn't present when I first started using this mod. I'm wondering also if Sponge has changed in preparation to 1.13 and it's causing the errors?

https://pastebin.com/WGwG9NWp

Thutmose commented 6 years ago

the XMLs in cache thing should happen once whenever pokecube mobs or core is updated, then not again till they update.

The PhaseState stuff is all sponge though

smmmadden commented 6 years ago

okay, the xml loading is after every server restart. I'll report the other with Sponge team.

smmmadden commented 6 years ago

given the errors using Sponge, is this not recommended to use? Seems I'm seeing a lot of errors with startup alone and each are with the pokecube classes which probably caused the PhaseState issues. Here are just the ERROR lines. [23:09:47] [Server thread/INFO] [STDERR]: [thut.lib.CompatParser:findClasses:142]: class pokecube.compat.reccomplex.ReComplexCompat Will not be loaded for compat. java.lang.NoClassDefFoundError: ivorius/reccomplex/events/StructureGenerationEventLite [23:09:47] [Server thread/INFO] [STDERR]: [thut.lib.CompatParser:findClasses:142]: class pokecube.compat.atomicstryker.RuinsCompat Will not be loaded for compat. java.lang.NoClassDefFoundError: atomicstryker/ruins/common/EventRuinTemplateSpawn [23:09:47] [Server thread/INFO] [STDERR]: [thut.lib.CompatParser:findClasses:142]: class pokecube.compat.advancedrocketry.AdvancedRocketryCompat Will not be loaded for compat. java.lang.NoClassDefFoundError: zmaster587/advancedRocketry/api/event/AtmosphereEvent$AtmosphereTickEvent [23:09:47] [Server thread/INFO] [STDERR]: [thut.lib.CompatParser:findClasses:142]: class pokecube.compat.tecompat.EssentialsCompat Will not be loaded for compat. java.lang.NoClassDefFoundError: thut/essentials/events/DenyItemUseEvent

Dec 26, 2017 11:10:21 PM pokecube.core.interfaces.PokecubeMod log INFO: Registered 648 Database Moves [23:10:22] [Server thread/INFO] [STDERR]: [pokecube.core.PokecubeCore:registerPokemonByClass:687]: Double Registration for Arceus [23:10:23] [Server thread/INFO] [STDERR]: [pokecube.core.PokecubeCore:registerPokemonByClass:687]: Double Registration for Genesect

Dec 26, 2017 11:10:23 PM pokecube.core.interfaces.PokecubeMod log INFO: Registered 689

This section is really concerning. 23:10:27] [Server thread/INFO] [STDERR]: [pokecube.core.PokecubeItems:getStack:446]: medichammega Not found in list of items.

Dec 26, 2017 11:10:27 PM pokecube.core.interfaces.PokecubeMod log INFO: 1xitem.megastone@0 {tag={pokemon:"alphaorb"}, id=pokecube:megastone} Dec 26, 2017 11:10:27 PM pokecube.core.interfaces.PokecubeMod log INFO: 1xitem.megastone@0 {tag={pokemon:"omegaorb"}, id=pokecube:megastone} [23:10:27] [Server thread/INFO] [STDERR]: [pokecube.core.PokecubeItems:getStack:446]: abomasnowmega Not found in list of items. [23:10:27] [Server thread/INFO] [STDERR]: [pokecube.core.PokecubeItems:getStack:446]: audinomega Not found in list of items. [23:10:27] [Server thread/INFO] [STDOUT]: [pokecube.core.database.PokemobBodies:initBodies:85]: Onix pokecube.core.database.PokemobBodies$PokemobBody@7f8c1b89 [23:10:27] [Server thread/INFO] [STDOUT]: [pokecube.core.database.Database:loadSpawns:566]: Overwriting spawns for Bulbasaur [23:10:27] [Server thread/INFO] [STDOUT]: [pokecube.core.database.Database:loadSpawns:566]: Overwriting spawns for Squirtle [23:10:27] [Server thread/INFO] [STDOUT]: [pokecube.core.database.Database:loadSpawns:566]: Overwriting spawns for Caterpie [23:10:27] [Server thread/INFO] [STDOUT]: [pokecube.core.database.Database:loadSpawns:570]: Editing spawns for Caterpie

Dec 26, 2017 11:10:27 PM pokecube.core.interfaces.PokecubeMod log INFO: Removing [missingno, Medicham Mega, Wormadam Sandy, Wormadam Trash, Abomasnow Mega, Magmortar, Lillipup, Herdier, Stoutland, Pansage, Simisage, Pansear, Simisear, Panpour, Simipour, Drilbur, Excadrill, Audino Mega, Timburr, Gurdurr, Conkeldurr, Throh, Sawk, Sewaddle, Swadloon, Leavanny, Basculin, Scraggy, Scrafty, Tirtouga, Carracosta, Archen, Archeops, Trubbish, Garbodor, Minccino, Cinccino, Ducklett, Swanna, Karrablast, Escavalier, Frillish, Jellicent, Elgyem, Beheeyem, Cryogonal, Shelmet, Accelgor, Mienfoo, Mienshao, Druddigon, Golett, Golurk, Bouffalant, Rufflet, Braviary, Vullaby, Mandibuzz, Heatmor, Cobalion, Terrakion, Virizion, Tornadus Incarnate, Tornadus, Tornadus Therian, Thundurus, Thundurus Incarnate, Thundurus Therian, Landorus, Landorus Incarnate, Landorus Therian, Kyurem Black, Kyurem White, Litleo, Pyroar, Flabebe, Floette, Florges, Skiddo, Gogoat, Furfrou, Spritzee, Aromatisse, Swirlix, Slurpuff, Binacle, Barbaracle, Clauncher, Clawitzer, Helioptile, Heliolisk, Hawlucha, Volcanion, Crabrawler, Crabominable, Oricorio, Cutiefly, Ribombee, Mareanie, Toxapex, Morelull, Shiinotic, Salandit, Salazzle, Stufful, Bewear, Bounsweet, Steenee, Tsareena, Oranguru, Passimian, Wimpod, Golisopod, Turtonator, Togedemaru, Bruxish, Drampa, Jangmo-o, Hakamo-o, Kommo-o, Buzzwole, Pheromosa, Xurkitree, Celesteela, Guzzlord, Necrozma, Magearna, Poipole, Naganadel, Stakataka, Blacephalon, Zeraora] [23:10:27] [Server thread/INFO] [STDERR]: [pokecube.core.database.Database:postInit:700]: Removed 118 Missing Pokemon [23:10:27] [Server thread/INFO] [STDOUT]: [pokecube.core.database.Database:postInit:796]: 0 Pokemon Formes Removed

Dec 26, 2017 11:10:27 PM pokecube.core.interfaces.PokecubeMod log INFO: Registered 12 Legendary Conditions.

[23:10:30] [Server thread/INFO]: Loaded 2577 advancements [23:10:30] [Server thread/FATAL] [FML]: The mod pokecube attempted to force load a chunk with an invalid ticket. This is not permitted. [23:10:31] [Server thread/FATAL] [FML]: The mod pokecube attempted to force load a chunk with an invalid ticket. This is not permitted. [23:10:31] [Server thread/WARN] [Sponge]: No entity type is registered for class net.minecraftforge.common.util.FakePlayer [23:10:31] [Server thread/INFO]: Preparing start region for level 0 (world) [23:10:32] [Server thread/INFO]: Preparing spawn area: 76% [23:10:32] [Server thread/INFO] [Sponge]: Loading world [world] (overworld) [23:10:32] [Server thread/WARN] [Sponge]: World [.\world\DIM-1] (DIM-1) is set to not load on startup. To load it later, enable [load-on-startup] in config or use a plugin [23:10:32] [Server thread/WARN] [Sponge]: World [.\world\DIM1] (DIM1) is set to not load on startup. To load it later, enable [load-on-startup] in config or use a plugin [23:10:32] [Server thread/INFO]: Preparing start region for level 0 (world)

Case sensitivity issues?

All the above then ends up with the PhaseState exception which makes sense with the errors and fatal exceptions being thrown. If they get addressed, I suspect the PhaseState will go away.

smmmadden commented 6 years ago

Tried with the following mod versions as well and running on Windows 10 Professional x64 with 4GB RAM allocated under Java 1.8.0_152 x64. If there is a setup you know that works with no warnings or errors during startup, do let me know. Pokecube Core: 6.31.4 Pokecube Revival: 6.13.18 Pokecube Mobs: 4.2.5 Minecraft: 1.12.2 SpongeAPI: 7.0.0-SNAPSHOT-963ff06 SpongeForge: 1.12.2-2555-7.0.0-BETA-2783 Minecraft Forge: 14.23.1.2582 Thut Core: 5.13.0.c Thut Bling: 2.0.2 Thut Wearables 3.1.4 OptiFine 1.12.2_HD_U_C7 LuckPerms-Sponge 4.0.62 JourneyMap 1.12.2-5.5.2 Hwyla 1.8.23-B38_1.12 FastLeafDecay: 14 Dynmap-2.6-beta-1-forge-1.12 ShulkerBox: 1.3.0 TotalEconomy: 1.7.1 WorldEdit-Forge-MC1.12-6.1.8-dist Nucleus-1.2.0-PR5-S7.0-MC1.12.2

Thutmose commented 6 years ago

These errors can be ignored, as are related to loading compatiblity for mods you don't have.

[23:09:47] [Server thread/INFO] [STDERR]: [thut.lib.CompatParser:findClasses:142]: class pokecube.compat.reccomplex.ReComplexCompat Will not be loaded for compat. java.lang.NoClassDefFoundError: ivorius/reccomplex/events/StructureGenerationEventLite
[23:09:47] [Server thread/INFO] [STDERR]: [thut.lib.CompatParser:findClasses:142]: class pokecube.compat.atomicstryker.RuinsCompat Will not be loaded for compat. java.lang.NoClassDefFoundError: atomicstryker/ruins/common/EventRuinTemplateSpawn
[23:09:47] [Server thread/INFO] [STDERR]: [thut.lib.CompatParser:findClasses:142]: class pokecube.compat.advancedrocketry.AdvancedRocketryCompat Will not be loaded for compat. java.lang.NoClassDefFoundError: zmaster587/advancedRocketry/api/event/AtmosphereEvent$AtmosphereTickEvent
[23:09:47] [Server thread/INFO] [STDERR]: [thut.lib.CompatParser:findClasses:142]: class pokecube.compat.tecompat.EssentialsCompat Will not be loaded for compat. java.lang.NoClassDefFoundError: thut/essentials/events/DenyItemUseEvent

These here can also be ignored, I left the double registration message in as a reminder to get around to cleaning up that section at some point, it doesn't actually have any effect ingame. The database moves thing is just an info.

Dec 26, 2017 11:10:21 PM pokecube.core.interfaces.PokecubeMod log
INFO: Registered 648 Database Moves
[23:10:22] [Server thread/INFO] [STDERR]: [pokecube.core.PokecubeCore:registerPokemonByClass:687]: Double Registration for Arceus
[23:10:23] [Server thread/INFO] [STDERR]: [pokecube.core.PokecubeCore:registerPokemonByClass:687]: Double Registration for Genesect

These mean some moves are animated wrongly, I will get around to checking it later when I have time

[23:10:27] [Server thread/INFO] [STDERR]: [pokecube.core.moves.animations.presets.ParticleFlow:init:141]: flow:pmisc:d0.4:w0.6:l5:f3.1.3
[23:10:28] [Server thread/INFO] [STDERR]: [pokecube.core.moves.animations.presets.ParticleFlow:init:141]: flow:pmisc:d0.5:w0.1:l3:f(0.5-rand())(2),(0.5-rand())(2),(0.5-rand())*(2)

This one is a result of some internal changes, and can also be ignored, I will get around to dealing with it, it is related to the naturally occuring pokecenters, but has no effect on the game when it occurs.

[23:10:30] [Server thread/FATAL] [FML]: The mod pokecube attempted to force load a chunk with an invalid ticket. This is not permitted.
[23:10:31] [Server thread/FATAL] [FML]: The mod pokecube attempted to force load a chunk with an invalid ticket. This is not permitted.

These ones are added by sponge, forge and vanilla have no case checking on command names, so I registered for various case combinations:

[23:10:33] [Server thread/WARN] [Sponge]: Plugin 'pokecube_adventures' is attempting to register command 'pokeAdv' with an uppercase character - adjusting to 'pokeadv'
[23:10:33] [Server thread/WARN] [Sponge]: Plugin 'pokecube_adventures' is attempting to register command 'pokeAdv' with an uppercase character - adjusting to 'pokeadv'
Thutmose commented 6 years ago

This section here is some debug output to help me remember to add mega stones when needed, as well as to let me know whether mobs are added properly

23:10:27] [Server thread/INFO] [STDERR]: [pokecube.core.PokecubeItems:getStack:446]: medichammega Not found in list of items.
Dec 26, 2017 11:10:27 PM pokecube.core.interfaces.PokecubeMod log
INFO: 1xitem.megastone@0 {tag={pokemon:"alphaorb"}, id=pokecube:megastone}
Dec 26, 2017 11:10:27 PM pokecube.core.interfaces.PokecubeMod log
INFO: 1xitem.megastone@0 {tag={pokemon:"omegaorb"}, id=pokecube:megastone}
[23:10:27] [Server thread/INFO] [STDERR]: [pokecube.core.PokecubeItems:getStack:446]: abomasnowmega Not found in list of items.
[23:10:27] [Server thread/INFO] [STDERR]: [pokecube.core.PokecubeItems:getStack:446]: audinomega Not found in list of items.
[23:10:27] [Server thread/INFO] [STDOUT]: [pokecube.core.database.PokemobBodies:initBodies:85]: Onix pokecube.core.database.PokemobBodies$PokemobBody@7f8c1b89
[23:10:27] [Server thread/INFO] [STDOUT]: [pokecube.core.database.Database:loadSpawns:566]: Overwriting spawns for Bulbasaur
[23:10:27] [Server thread/INFO] [STDOUT]: [pokecube.core.database.Database:loadSpawns:566]: Overwriting spawns for Squirtle
[23:10:27] [Server thread/INFO] [STDOUT]: [pokecube.core.database.Database:loadSpawns:566]: Overwriting spawns for Caterpie
[23:10:27] [Server thread/INFO] [STDOUT]: [pokecube.core.database.Database:loadSpawns:570]: Editing spawns for Caterpie
[23:10:27] [Server thread/INFO] [STDOUT]: [pokecube.core.database.Database:loadDrops:608]: {}
Dec 26, 2017 11:10:27 PM pokecube.core.interfaces.PokecubeMod log
INFO: Removing [missingno, Medicham Mega, Wormadam Sandy, Wormadam Trash, Abomasnow Mega, Magmortar, Lillipup, Herdier, Stoutland, Pansage, Simisage, Pansear, Simisear, Panpour, Simipour, Drilbur, Excadrill, Audino Mega, Timburr, Gurdurr, Conkeldurr, Throh, Sawk, Sewaddle, Swadloon, Leavanny, Basculin, Scraggy, Scrafty, Tirtouga, Carracosta, Archen, Archeops, Trubbish, Garbodor, Minccino, Cinccino, Ducklett, Swanna, Karrablast, Escavalier, Frillish, Jellicent, Elgyem, Beheeyem, Cryogonal, Shelmet, Accelgor, Mienfoo, Mienshao, Druddigon, Golett, Golurk, Bouffalant, Rufflet, Braviary, Vullaby, Mandibuzz, Heatmor, Cobalion, Terrakion, Virizion, Tornadus Incarnate, Tornadus, Tornadus Therian, Thundurus, Thundurus Incarnate, Thundurus Therian, Landorus, Landorus Incarnate, Landorus Therian, Kyurem Black, Kyurem White, Litleo, Pyroar, Flabebe, Floette, Florges, Skiddo, Gogoat, Furfrou, Spritzee, Aromatisse, Swirlix, Slurpuff, Binacle, Barbaracle, Clauncher, Clawitzer, Helioptile, Heliolisk, Hawlucha, Volcanion, Crabrawler, Crabominable, Oricorio, Cutiefly, Ribombee, Mareanie, Toxapex, Morelull, Shiinotic, Salandit, Salazzle, Stufful, Bewear, Bounsweet, Steenee, Tsareena, Oranguru, Passimian, Wimpod, Golisopod, Turtonator, Togedemaru, Bruxish, Drampa, Jangmo-o, Hakamo-o, Kommo-o, Buzzwole, Pheromosa, Xurkitree, Celesteela, Guzzlord, Necrozma, Magearna, Poipole, Naganadel, Stakataka, Blacephalon, Zeraora]
[23:10:27] [Server thread/INFO] [STDERR]: [pokecube.core.database.Database:postInit:700]: Removed 118 Missing Pokemon
[23:10:27] [Server thread/INFO] [STDOUT]: [pokecube.core.database.Database:postInit:796]: 0 Pokemon Formes Removed
smmmadden commented 6 years ago

Thank you for all the explanations - I truly appreciate the honesty and break down of each section.

If I may offer a few suggestions based on the replies. I'm sure you already have a handle on it, just offering some other options in case you don't. :-) Loading compatibility for non-existent mods shouldn't be done unless they are present. Loading classes that will never be used will just hurt performance and add noise in the logs. Instead, check for the existence of the mod first before adding compatibility.

Registering variables and objects should be done once for each object. Loading it more than once is of course not recommended. Perhaps creating a separate class that does all the registrations in one step would help potential duplicates?

The fatal error is probably what tripped Sponge to thread dump on the PhaseState. Most often, developers write catches for xx number of errors, warnings & fatal exceptions before crashing the server. In this case, we come close but it still survives.

The upper/mixed/lower cased variables can get out of hand really easy if there isn't a standard naming convention being adhered to. Much like using databases where they often are case sensitive, may applications using normalizing functions/methods to ensure the application is consistent. Title cased objects are the simplest to get wrong, but using all UPPER or lower makes the code tighter and less prone to having these errors.

The section where pokemobs are being removed/deleted is concerning because we've seen them actually being deleted from in-game play. "[23:10:27] [Server thread/INFO] [STDERR]: [pokecube.core.database.Database:postInit:700]: Removed 118 Missing Pokemon"

I noticed that during the startup, there is a mixture of DEBUG, SYSOUT and SYSERR messages. The SYSOUT and DEBUG I wouldn't expect during normal startup unless I enabled debugging. I would expect that normal FML Info, warning, error and fatal's lines be written, but not sysout and debug.

Finally - As I'm still a relative noob when it comes to forge, sponge and mods - how can server owners tell which version(s)/build(s) go with which mods? In the spigot/plugin world, it is very simple (latest server version matches latest client version) unless one uses ViaVersion or ViaBackwards which support interworking versions between them. The plugins are designed to work based on the server version only.

What I see with Forge is I have a Server Forge version, Server Mod version, Client Version and the client mods must match the same versions as what lives on the server. Problem is, Sponge has its versioning, Forge has its, Minecraft its and the mods too. Making for upgrades being difficult due to how code gets injected and not removed if the mod gets deleted/removed. With plugins, you remove it - it's gone and things work as they did before you added it. A bit off topic, but you did a great job explaining the rest hopefully you can set me straight here too. :-) Thanks -Steve

Thutmose commented 6 years ago

the STDOUT from pokecube usually also go into a pokecube.log file, I can look into getting them hidden from console output, there is also a debug mode that prints an awful lot more of them to the log.

Each mob is generally registered once, in a single location, from a single event handler, it seems there are some cases with the alternate form finding that are a bit overzelious in finding the forms, and attempt to re-register the original.

"[23:10:27] [Server thread/INFO] [STDERR]: [pokecube.core.database.Database:postInit:700]: Removed 118 Missing Pokemon" is not removing anything from the game, it is mentioning that they were removed from the database, due to not having been added to the game in the first place. The way pokecube registration works, is it reads databases from configs and resources (the above issue being caused by some cases where the two try to re-define a mob), then merges the databases into one database, then scans for added mobs. That message is it saying that it found 118 less mobs than it had entries in the database, you might notice that number goes down as pokecube mobs gets larger in file size.

When I made those commands, there was no standard, and I got many requests for different case conventions, so I added all of them, as commands support multiple names for the commands.

Those mod compatiblity errors could also be hidden, they are mostly there for debugging stuff from my development environment. They use a slightly different from normal system for mod compatiblity, which allows me to very easily support a very large number of mods. Pokecube Revival has specific support for 14 mods currently, I left them in for testing stuff, and have yet to make a debug disable option for those messages.

That particular fatal error shouldn't do anything sponge related at all, forge tends to label things it considers "bad" as "FATAL", or "BIGWARNING", even if they won't actually do anything ingame. most cases those things do cause unexpected issues in the mods they are related to, I do plan to get around to dealing with that error eventually, but forge deals with handling it itself (it just prints a big warning effectively saying "I DO NOT LIKE THIS TICKET, SO I WILL IGNORE IT!", unless sponge specifically parses log output for FMLLog.severe, this error has no effect ingame, so it is low on my priority list.

For Forge Mods, usually you should use the latest beta or release version of the mod, for the latest version of forge that it works for. Normally this means the latest version of forge, though I hear there are some issues with forge versions 2576+, so I am waiting a while for them to be dealt with before updating. Generally you update to latest forge, and if things crash, revert forge versions till they do not.

For which minecraft version, whichever version of minecraft has the latest "recommended build" of forge is the one that gets all of the support, so in this case it is currently 1.12.2, forge has a tendency to ignore earlier versions for important fixes. The actual "Recommended build" designation is mostly meaningless, as forge tends to then go and add new features that mods depend on right after issuing one.

smmmadden commented 6 years ago

this world is so much different. Given everything stated, I'm feeling more confident in how this is all working and that Sponge/Forge are just spouting off and doesn't treat error handling like I'm used to. lol Generally, a FATAL is just that. It should die a miserable death but it didn't. I think you've confirmed the most important element here in that the builds to take are less important than what I'm used to in the Spigot world and could/can cause more grief than desired (in my case here).

I did what you suggested and thanks for mentioning that version and the issues behind it. I've rolled back my test Pokemon server to the following and there is no longer a PhaseState exception on startup and my client isn't crashing when trying to connect to my world (seconds after joining). So I'm going to stick with these versions unless you know recommend otherwise. Minecraft: 1.12.2 SpongeAPI: 7.0.0-SNAPSHOT-0ede943 SpongeForge: 1.12.2-2529-7.0.0-BETA-2755 Minecraft Forge: 14.23.1.2555 I'm using a Windows 10 Pro Server, so I used the forge-1.12.2-14.23.1.2555-installer-win.exe for the server-side update and using the universal.jar when starting the server. The mods folder on the server and client both have: spongeforge-1.12.2-2529-7.0.0-BETA-2755.jar in them.

So the main issue here for the PhaseState is resolved as a "SpongeForge" issue. If you want me to split out the other issues into separate tickets for you to put it in the backlog, let me know. Thanks again for the details above and of course the time to read and respond to my questions. :-) -Steve

Thutmose commented 6 years ago

I am glad that issue is fixed, you probably should split the other issues to seperate issues, then I will get to closing them individually as I get to them, the one about mod compatiblity stuff should be in this issue tracker: https://github.com/Thutmose/Thut/issues as that is actually in thutcore.

one thing to note on the sponge version, iirc the 2529 in the name refers to the forge version it was built for, so it has a significant chance of breaking the further you get from that version.

The clients shouldn't need sponge, not for server stuff, but it might help for their single player.

smmmadden commented 6 years ago

Understood - thanks. I just created the issues for you. If there is anything else you need, feel free to reach out. -Steve

Thutmose commented 6 years ago

I am going through the default stuff printed to log, and hiding as much of it behind debug mode as possible, most things that are normal operation will be made to only log if debug is set true in config.

Some of the shorter info things will remain, like the INFO: Loaded 713 Pokemon and 894 Formes, etc

smmmadden commented 6 years ago

that would be perfect, thanks. I personally review startup logs for many server owners and one thing I'm a critic on is 0 startup errors. I tell them to report those first before reporting other issues and get to a point where there are no startup errors or warnings (where possible) and then take the effort in reporting problems.

So the quieter a log is, the better stability it has overall has been my experience. Then when reporting an issue it has a higher degree of likelyhood to be a valid issue when an exception or error is thrown to the logs. Just makes life easier to find the root cause of it. :-) Then turning on debug logging would then help isolate where it is in the code that might be having issues.

Thutmose commented 6 years ago

The log cleanup also gave me time to go and add in a bunch more debug logging that will be useful for various things later.

After changes, from initial startup

debug log length: 145561 chars and 3498 lines non debug log length: 802 chars and 12 lines

smmmadden commented 6 years ago

That's a vast improvement and no doubt speed up startup times as well. Excellent work! :-)

Thutmose commented 6 years ago

I believe the latest versions of sponge should fix several of the sponge related errors, so I am closing this issue, feel free to re-make issues for any more related problems you encounter.