PDA

View Full Version : Error when leaving a campaign



JMessmer
October 23rd, 2020, 11:40
After a player is leaving a campaign and returning to the Launcher I receive the following errors as a player:



[10/23/2020 12:03:25 PM] Tabletop scene exiting.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[23.10.2020 12:03:25] [<color="red">ERROR</color>] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[10/23/2020 12:03:25 PM] Launcher scene starting.


It only happens when going to the launcher as a player. It does not happen when just closing FG as the player.

Again I am using the Dark Eye 4.1E ruleset. It did not happen with 5E.
However, I have found some posts here mentioning this problem with 5E around January this year. I just never found a solution to the problem.

Moon Wizard
October 23rd, 2020, 18:35
I'd need the exact steps to reproduce here; and then I can clean that up.

Regards,
JPG

JMessmer
October 23rd, 2020, 19:17
The exact steps are:
1. open FGU and load a campaign with the Dark Eye Ruleset
2. open a 2nd instance of FGU and join the game
3. select a character
4. leave the the game by clicking on "return to launcher" in the radial menu as the character player
5. the character player received the error messages

And now I assume that you need a campaign and the ruleset? So this error is not related to the ruleset or the campaign?

Moon Wizard
October 23rd, 2020, 20:16
I definitely need the ruleset, in order to recreate here. Where did you download it?
Also, does this happen with a brand new campaign, or only in your campaign? If only your campaign, I need that too.

In general, exact steps are best in a brand new campaign when possible, as it defines what I need to recreate, as well as simplifying how to recreate.

Thanks,
JPG

JMessmer
November 9th, 2020, 11:23
Hello Jpg,
could you give me a hint where to look for this error? I still haven't found the reason for it.
What I figured out so far:
- it happens on all campaigns of the Dark Eye ruleset
- it only happens on the player side - GM side is fine

console log showing the function calls immediately before the error:

[11/9/2020 12:20:50 PM] Valpo Amado | scripts/manager_options.lua, unregisterCallback
[11/9/2020 12:20:50 PM] Valpo Amado | scripts/manager_options.lua, unregisterCallback, Ende
[11/9/2020 12:20:50 PM] Valpo Amado | desktop/scripts/desktop_classes_desktopdecal.lua, onClose, Ende
[11/9/2020 12:20:50 PM] Valpo Amado | desktop/scripts/characterlist.lua, onClose
[11/9/2020 12:20:50 PM] Valpo Amado | desktop/scripts/characterlist.lua, onClose, Ende
[11/9/2020 12:20:50 PM] Valpo Amado | desktop/scripts/modifierstack_desktop_classes.lua, onClose
[11/9/2020 12:20:50 PM] Valpo Amado | desktop/scripts/modifierstack.lua, registerControl
[11/9/2020 12:20:50 PM] Valpo Amado | desktop/scripts/modifierstack.lua, registerControl, Ende
[11/9/2020 12:20:50 PM] Valpo Amado | desktop/scripts/modifierstack_desktop_classes.lua, onClose, Ende
[11/9/2020 12:20:51 PM] Tabletop scene exiting.
[09.11.2020 12:20:51] [ERROR] Object (DATABASENODE) deleted without cleaning up attached Lua object.
[...and plenty of more deleted DB node messages...]

Trenloe
November 9th, 2020, 12:28
Moon Wizard asked "I definitely need the ruleset, in order to recreate here. Where did you download it?"

Without access to the code anything would be completely guesswork.

Does this occur if the player exits the game while the session is still running, or does it occur when there is a forced exit because the GM closed the session.

JMessmer
November 9th, 2020, 15:41
The ruleset has been built by a group of 4 people including me. The current version cannot be downloaded publicly yet because it is not working properly for FGU yet. I would like to fully upgrade it.

Regarding the open questions:
- all modules and extension have been deactivated - the error still occurs
- a brand new empty campaign has been created - the error still occurs
- the error occurs with a forced exit and with a voluntary one by the player exiting
so to summarize - it must be the ruleset

Trenloe
November 9th, 2020, 16:00
Here's what usually causes those issues.

The clue is in the error: Object (DATABASENODE) deleted without cleaning up attached Lua object.

"attached LUA object" is usually one or more LUA functions that have been assigned to a database node event or handler. These are usually added using the relevant databasenode API call (e.g. onUpdate (https://fantasygroundsunity.atlassian.net/wiki/spaces/FGU/pages/4063650/databasenode#onUpdate)) or via DB.addHandler (https://fantasygroundsunity.atlassian.net/wiki/spaces/FGU/pages/4063529/DB#addHandler) calls.

It's good practice to remove these handlers when the code scope is being closed - usually as part of the relevant onClose() function. FGC didn't indicate such errors, but FGU does now report these as unclosed handlers can cause issues under certain circumstances. In most cases this is more of a warning than an issue, especially when the client is exiting. But there may be cases during normal processing when these handlers should be cleared when the scope is being closed/deleted, and so FGU reports cases like these.

Do a search within the CoreRPG files for function onClose() to see some examples of removing handlers that were setup as part of the script scope (usually, but not always, in the scope onInit function). Your team will need to trace through the various scripts for handlers/events being set that aren't cleared when the related script scope is being removed.

Further info on events and handlers here: https://fantasygroundsunity.atlassian.net/wiki/spaces/FGU/pages/4128914/Ruleset+-+Scripting#Using-Events

EDIT: Or provide Moon Wizard the code to track doing in FGU as mentioned below. :)

Moon Wizard
November 9th, 2020, 16:29
Those error messages are in there specifically to capture situations where the FGU code is not performing the expected cleanup in the code. The reason why I ask for the exact code and/or steps to recreate the issue is so that I can track down the scenario where the cleanup isn't being performed, figure out why, and then fix it up so it does perform the cleanup correctly.

Regards,
JPG

JMessmer
November 14th, 2020, 08:05
Thanks Trenloe and JPG for your responses - I tried the advice of Trenloe and checked all addHandlers. The amount of db node error messages remained the same in spite of adding removeHandlers to all scripts. Now I will send JPG a PM where to download the ruleset so that he can recreate the issue.

ProfDogg
May 2nd, 2021, 22:45
I'm beginning to have the same issues almost no matter what ruleset I'm using... Even started doing it in the big dogs' (i.e. WOTC and Paizo) rulesets which get a lot of love and attention. It's gotten so annoying, I've given up on running anything in FGU and have gone back to FGC. I've compiled my logs. 46289

Moon Wizard
May 3rd, 2021, 07:18
This thread is almost 6 months old. If you can reproduce your scenario every time, please post a new thread with the exact steps. As noted in post #9, I left that error message in place to capture any ongoing object cleanup issues. They shouldn't affect actual play.

Regards,
JPG