Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

Maximum call stack size exceeded

I've not seen this error before: I got the attached error when running RPGMaster on Jumpgate beta with a complex campaign, with 3 players playing 7 characters, and myself GM'ing for all the creatures. The stack size error occurred when using standard parts of the released One-Click RPGMaster suite that have been used many times and not changed recently, and I've never seen this error before.  However, I have changed other areas and added a complete new database, which has increased the overall size of the API suite. I can't seem to reproduce the stack size error when operating single user as a GM trying to trigger it, by doing the same operations that the players were doing. It probably is something I'm doing in the APIs, but I wondered if anyone has seen the error before? Can you give me any pointers as to where to look, or give me information on the limits I'm hitting? Thanks in advance for any help you can give me.
1720824126
timmaugh
Pro
API Scripter
That doesn't look like it's happening on your end but on the Roll20 side... All of those functions look internal to R20, all the way down to the "ProcessOutgoingMessage" at the bottom. I'd open a jump gate bug report if you can figure out reproducible steps.
timmaugh said: That doesn't look like it's happening on your end but on the Roll20 side... All of those functions look internal to R20, all the way down to the "ProcessOutgoingMessage" at the bottom. I'd open a jump gate bug report if you can figure out reproducible steps. I agree, it does look internal to Roll20. It's happened to me twice during multi-player play in JumpGate. I've tried to reporduce it single player & no joy. I've got multiple machines I can use to create dummy players, so I'll have a go at replicating it that way. My worry is that the problem is created by multiple simultaneous actions by players which I will find difficult to replicate by myself. I'll see if I can get help from my group of players to recreate the issue but as it's holiday season many of them are away. I've actually already raised a report to the dev team, but without reproduceable steps just in case they've seen the problem before and know what causes it.
1720885210
The Aaron
Roll20 Production Team
API Scripter
Based on the log screenshot, it looks like this is related to the character sheet. (An instance of the Character sheet runs in the API). TheAaronSheet is a library for character sheets, and the error is right after it logs. 
The Aaron said: Based on the log screenshot, it looks like this is related to the character sheet. (An instance of the Character sheet runs in the API). TheAaronSheet is a library for character sheets, and the error is right after it logs.  Thanks for picking this up, I'll have a chat with Peter B., the character sheet author. However, quite a lot happened between the load of the Character Sheet and the error happening - the first time it happened we had been playing for about 80 mins. It's just that the RPGMaster Suite initialisation messages log in the console before the sheet completely loads so they have scrolled off the console, and the One-Click released version of the RPGMaster suite then is pretty clean and only logs if errors are found. So I doubt it is the Advanced D&D2e character sheet. It looks like it might be the chat processor. When fed a perhaps very complex chat message - the RPGMaster Roll Template parser is very stable and has worked for more than 12 months without change, but it was not operating inside JumpGate over most of that time and of course now is: has JumpGate altered the chat parser at all? I will attempt to reproduce the exact situation in a multi-player environment, and if I can reproduce it I'll try to capture the stream being sent to the chat via the sendChat() API command and post it here.
1720951881

Edited 1720952403
Oosh
Sheet Author
API Scripter
That error is often from a recursive serialize attempt - say, from an attempt to send a serialization of a request or websocket through itself, where the serialization doesn't account for circular references. The basic example being: const obj1 = { circularReference : {} }; obj1 . circularReference = obj1 ; JSON . stringify ( obj1 ); This method itself bails out of circular references with an error, but that's the general idea - it sounds like a method somewhere not dealing with a circular reference. JS Console methods handle circular references, but R20's logging and chat parser may not.... I can't remember.
Richard @ Damery said: I will attempt to reproduce the exact situation in a multi-player environment, and if I can reproduce it I'll try to capture the stream being sent to the chat via the sendChat() API command and post it here. I've now tried to recreate the issue using 3 machines and 3 separate players (a GM (Pro) and two others (base) - all actually me) but nothing seems to trigger the issue. It is just me running all 3 players so I'm not able to perhaps reproduce the simultaneous actions undertaken by individuals. I could add some logging to my Roll Template parser to log to the console each Roll Template that is being parsed in the hope that it will reveal what the chat is processing at the time of the error - though that would make for a very cluttered console and errors like this I've found have a tendancy to kill logging to the console before the few logs prior to the error have been echoed, so I'm not sure it will help that much. If there are any useful diagnostics I can add or do, please let me know. In the mean time, I'll keep going with the campaign (weekly) and see if it happens again (twice so far).