scratchfoundation / scratch-gui

Graphical User Interface for creating and running Scratch 3.0 projects.
https://scratchfoundation.github.io/scratch-gui/develop/
BSD 3-Clause "New" or "Revised" License
4.47k stars 3.58k forks source link

Some projects don't load, giving a BSOD #4767

Open BryceLTaylor opened 5 years ago

BryceLTaylor commented 5 years ago

Expected Behavior

Projects load when you go to their project page or straight to the editor.

Actual Behavior

There are a few projects that don't load, giving a Blue Screen of Death. I believe they likely have different causes, but I would like to track them in this issue.

Here are 2: https://scratch.mit.edu/projects/281999647/ gives these errors: Error: Error in Scratch GUI [location=https://scratch.mit.edu/projects/281999647/editor]: RangeError: Maximum call stack size exceeded

gui Unhandled Error: Error: Error in Scratch GUI [location=https://scratch.mit.edu/projects/281999647/editor]: RangeError: Maximum call stack size exceeded


(This is filed in https://github.com/LLK/scratch-parser/issues/56)

https://scratch.mit.edu/projects/286851747/ gives these errors: www Unhandled project parsing error: SyntaxError: Unexpected token e in JSON at position 5234

Error: Error in Scratch GUI [location=https://scratch.mit.edu/projects/286851747/]: SyntaxError: Unexpected token e in JSON at position 5234

gui Unhandled Error: Error: Error in Scratch GUI [location=https://scratch.mit.edu/projects/286851747/]: SyntaxError: Unexpected token e in JSON at position 5234

This is a different issue from https://github.com/LLK/scratch-gui/issues/4649 and it does not give the assetid of null error in the console.

Steps to Reproduce

Load one of those projects Note: see the errors roll in.

Operating System and Browser

Mac Chrome

paulkaplan commented 5 years ago

@kchadha It looks like that second project (286851747) is a result of a parser error. It has the string ...have\\been... which gets stripped by the parser to just have\een by https://github.com/LLK/scratch-parser/blob/master/lib/parse.js#L19

I can confirm this by trying to name a sprite e.g. "have\been" and watching the server fail to parse/save it.

kchadha commented 5 years ago

Filed https://github.com/LLK/scratch-parser/issues/56 to track the bug @paulkaplan is talking about above.

BryceLTaylor commented 5 years ago

Here's another project that is experiencing this issue: https://scratch.mit.edu/projects/313551716/

BryceLTaylor commented 5 years ago

Here's another one that came in from the community: https://scratch.mit.edu/projects/313306253/

Their report: "hi i was animating on scratch and i spent 4 hours on something and i saved and reloaded the page and when i clicked on the project it said there was a bug and i wont even load please try to fix it heres a link to it"

Perhaps it's related to a method of animation?

BryceLTaylor commented 5 years ago

I was manually checking all of the assets in the above project (313306253) Several of the costumes return a 404. A few others gave another type of error.

Sprite2: costume1: 72227a89b84e103e7bbc76f9711d477a.png costume2: 344b30a825267a1716b9be7cac1c50bc.png costume3: 3681a0ad1ef8a57fc9574956fdedf07a.png

Sprite3: costume1: 101832e0f3f51af5ffa3049f2d616f20.png

Sprite4: costume1: c99d894405d0beaafaf7d8ee410fa78d.png costume2: b2770e82fcc04ff1284a9fa7f4f464fd.png costume3: 0b834a83408a276e988781b217696745.png

Sprite5: costume1: b7638a7d0714e4c2e1251e2482a87c3c.png costume2: 3ca96c701ad658a1ac1ec3aba8b72d91.png costume3: d369af1b7333fa02df5e90a050a5cc48.png

Sprite6: costume6: cd21514d0531fdffb22204e0ec5ed84a.svg didn't load but gave an error in the console Screen Shot 2019-06-18 at 2 40 04 PM

Sprite7: costume1: 3339a2953a3bf62bb80e54ff575dbced.svg didn't load gave same error

All other images loaded

I checked them by downloading the project json, opening the md5 hashes listed for each asset into assets.scratch.mit.edu/...

I think the .svg files just don't load by going to that url the way .pngs do. I modified the project json for the default project by adding in costumes from the json of the downloaded file. It looks like if I added one that I could load from assets it would load the project just fine. However if I put in one of the images that 404s it would not load, giving an error: Screen Shot 2019-06-18 at 3 17 59 PM

I'm not sure what is causing the png files to return 404s, or what's causing them to not upload.

BryceLTaylor commented 5 years ago

Another project that has a similar failure to load: https://scratch.mit.edu/projects/313147452

It has a costume called "MARTILLO" in its sprite called "MARTILLO" with the assed id of 076e270e6e98f5b3ccfea61635a89c6d.png that gives a 404 when loading from assets.

Adding that as a costume to the project json of the default project and uploading it causes it to not load.

BryceLTaylor commented 5 years ago

Here's another project: https://scratch.mit.edu/projects/265962121/

BryceLTaylor commented 5 years ago

More: https://scratch.mit.edu/projects/311131656/ https://scratch.mit.edu/projects/307163499 https://scratch.mit.edu/projects/312775868/ https://scratch.mit.edu/projects/317027667/

BryceLTaylor commented 5 years ago

And more: https://scratch.mit.edu/projects/304644540 https://scratch.mit.edu/projects/316778656 https://scratch.mit.edu/projects/317639263 https://scratch.mit.edu/projects/316035859 https://scratch.mit.edu/projects/313710414

This one: https://scratch.mit.edu/projects/288122559 came with a message: About online editor" "I am sorry to give you your comments in Chinese, I hope I can get an understanding. One of my projects, (website: https://scratch.mit.edu/projects/288122559/ I haven't posted yet, my password is: jiarui2007) because it loads a lot of sounds, so loading is slow, good morning. As a result, I accidentally closed the tab and couldn't load it at the end. I tried it for a long time, no. And other time periods can not be opened, only Saturday morning (Beijing time) is loaded successfully, I hope to be resolved as soon as possible. In addition, I have a few small suggestions: 1, when loading the project, I hope to re-add the loading progress bar. 2, I hope to launch the cloud list function.

  1. For some users who are blocked accounts, add some flags on their personal interface to indicate that they have been blocked."
BryceLTaylor commented 5 years ago

More: https://scratch.mit.edu/projects/312117356 https://scratch.mit.edu/projects/282929981 https://scratch.mit.edu/projects/314551185

https://scratch.mit.edu/projects/318326404 from the forums: So, I was working on a MAP part yesterday, and I minimized google so i could eat dinner or something. I was gone for about 45 minutes, and when I came back one of those blue ‘Oops! something went wrong’ screens appeared. I didn't think anything of it, until it wouldn't go away after I re-loaded the page. That night, I tried to pull it up on my phone. Same results. It's still not working today, even after a looked up and tried a lot of solutions. Please help. I don't know if the URL will work since it's an unshared project, but here - https://scratch.mit.edu/projects/318326404/editor and I'm using Google Chrome

BryceLTaylor commented 5 years ago

More: ~https://scratch.mit.edu/projects/265015957~ (Paul: this one seems to work) https://scratch.mit.edu/projects/282219172

benjiwheeler commented 4 years ago

@BryceLTaylor @paulkaplan @kchadha Is there any update on this issue?

benjiwheeler commented 4 years ago

This might be worth prioritizing!

apple502j commented 4 years ago

@benjiwheeler For the backspace, this regex should help: (?<!\\)(\\\\)*\\b The problem is, negative lookbehind is not commonly supported!