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 .
×

Specific Scene causing infinite hang when trying to open my game

1779289607

Edited 1779289926
Description: A *specific* scene seems to cause an inifnite hang and I don't know how to change the "last opened" screen in GM mode externally Repro Steps: - I click "launch" on my game - it renders the left-top and left-bottom toolbars as well as the right-side panels - the "silly tooltip" message shows FOUR times - then the whole thing hangs - the Scene Selector does NOT load, so I can't even try and race the hang to change into a working scene Repro: - I created a brand new game - 21518357 - I use the Transmogrify tool to clone the broken Scene from my existing game into the new game - I switch to the broken Scene and the new game is now trapped by an infinite hang as well Browser: - both Chrome and Edge (I do have a bunch of extensions in Chrome but none in Edge) ~~~ Same here. I can open the game in "Player View" but when I try to open "GM View" it gets about 5-10s in and then hangs indefinitely. :( This is happening on BOTH Chrome and Edge, so I don't think it's being caused by my extensions, and I don't have any Mod Scripts in that game either.
1779295147

Edited 1779295182
Gauss
Forum Champion
Hi J_K (GM),&nbsp; Ok, since you have transmogrified the page to another game you have a copy of the page. To get you up and running I suggest inviting a second account to your main game, promote them to GM, have them enter the game and delete the problem page.&nbsp; Then you can enter with your main account and you should be on the start page.&nbsp; I suggest filing a Help Center report to have the problem with the page (in your other game) identified.&nbsp; <a href="https://help.roll20.net/hc/requests/new" rel="nofollow">https://help.roll20.net/hc/requests/new</a>
Hello J_K -&nbsp; I was able to find the specific Game and copy it myself, and it hangs when I go to that page as well. I was able to determine there are three paths that appear to be very, very wrong. (as in more than 100x larger than the grid size for the page) One is on the GM Layer, while the other two are on the map layer. I'm testing a Mod Script that might solve the problem, but in the mean time can you walk me through what you were doing and what was happening right before you discovered this problem and what you were doing and anything that happened as you were drawing on those pages?
Ok, I was able to put together a Mod Script that will fix the specific problem. WITH GREAT POWER... and all that. When set to DELETE = true, this will go page-by-page through the game and PERMANENTLY DELETE paths over the size set in the THRESHOLD variable. That will make your pages load, but it will remove those paths, if you had an intended purpose.&nbsp; // Find oversized paths across all pages in the campaign. // Set DELETE = true to actually remove them. Defaults to dry run. var THRESHOLD = 10000; var DELETE = false; on("ready", function() { var pages = findObjs({_type: "page"}); var pageNames = {}; pages.forEach(function(pg) { pageNames[pg.id] = pg.get("name") + " (" + pg.get("width") + "x" + pg.get("height") + ")"; }); var paths = findObjs({_type: "path"}); log("Scanning " + paths.length + " paths across " + pages.length + " pages, threshold=" + THRESHOLD); // Sanity check. If these are still 0, the campaign-load is the problem, not the script. if (paths.length === 0 &amp;&amp; pages.length === 0) { log("WARNING: no paths or pages visible to the API. Sandbox may not have loaded campaign data."); log("Try other object counts as a sanity check:"); log(" characters: " + findObjs({_type: "character"}).length); log(" graphics: " + findObjs({_type: "graphic"}).length); log(" handouts: " + findObjs({_type: "handout"}).length); return; } var byPage = {}; paths.forEach(function(p) { var w = parseFloat(p.get("width")) || 0; var h = parseFloat(p.get("height")) || 0; if (w &gt; THRESHOLD || h &gt; THRESHOLD) { var pid = p.get("_pageid"); if (!byPage[pid]) byPage[pid] = []; byPage[pid].push({id: p.id, w: w, h: h, layer: p.get("layer"), controlledby: p.get("controlledby"), obj: p}); } }); var pageIds = Object.keys(byPage); if (pageIds.length === 0) { log("No oversized paths found."); return; } log("Found oversized paths on " + pageIds.length + " page(s):"); var totalRemoved = 0; pageIds.forEach(function(pid) { var pageLabel = pageNames[pid] || "(unknown page)"; log(""); log("Page " + pid + " " + pageLabel); byPage[pid].forEach(function(item) { log(" path " + item.id + " " + item.w + "x" + item.h + " layer=" + item.layer + " controlledby=" + item.controlledby); if (DELETE) { item.obj.remove(); totalRemoved++; } }); }); if (DELETE) { log(""); log("Removed " + totalRemoved + " path(s)."); } else { log(""); log("Dry run. Set DELETE = true to actually remove these."); } });
Gauss said: Hi J_K (GM),&nbsp; Ok, since you have transmogrified the page to another game you have a copy of the page. To get you up and running I suggest inviting a second account to your main game, promote them to GM, have them enter the game and delete the problem page.&nbsp; Then you can enter with your main account and you should be on the start page.&nbsp; I suggest filing a Help Center report to have the problem with the page (in your other game) identified.&nbsp; <a href="https://help.roll20.net/hc/requests/new" rel="nofollow">https://help.roll20.net/hc/requests/new</a> This is genius! Thank you!
AllHansOnDeck said: Hello J_K -&nbsp; I was able to find the specific Game and copy it myself, and it hangs when I go to that page as well. I was able to determine there are three paths that appear to be very, very wrong. (as in more than 100x larger than the grid size for the page) One is on the GM Layer, while the other two are on the map layer. I'm testing a Mod Script that might solve the problem, but in the mean time can you walk me through what you were doing and what was happening right before you discovered this problem and what you were doing and anything that happened as you were drawing on those pages? Q1: When you say "path" do you mean the Drawing Tool? The Ruler on Sticky? Or something else? I know this is a useless reply but I don't think I was "doing" anything on the scene in the 2nd game - I believe the scene was DOA. Unfortunately IRL this session was cancelled last week so I have been fiddling with these scenes for more than a week but I'm maybe 50% sure I didn't open the broken scene specifically last week which is why I only discovered it when I started prepping for this week's session by making sure I had all the scenes ready. The original scene in my old game (14443396) doesn't appear to have any such issues, and because that uses the old renderer I just assumed that was what the difference was. Using @Gauss's brilliant suggestion I was able to delete the broken scene from my current table game and then I re-Transmogrified it back again from the source and now it opens just fine in the new game as well, so now I'm thinking it might have been a bug in the Transmogrifier? Unfortunately I'm not 100% sure if I did edit the original in between. I did duplicate the original in the original game so that I could do some editing to remove the PC tokens from the previous table and reset the monster NPCs and reset my manual black-boxes (I don't use token vision). I have no memory of deleting enormous lines that blasted out the screen size into a crazy number of pixels, but if I *did* do that then wouldn't that prove it was a bug in the new vs old renders still? In my experience the old renderer doesn't even let you click outside of the scene size (a couple of times I've accidentally 'lost' tokens by reducing the screen size and had to re-increase the scene size to make the tokens selectable, drag them over and then re-reduce the scene size again). Thank you for the quick response - sorry I spammed the announcement thread (I was in a bit of a panic!). I'm going to leave&nbsp;21518357 unfixed for you because it still feels like some kind of bounds checking might be wise in the renderer, but I'm happy with the bypass that @Gauss came up with now that I can access my game again.