Scirra / Construct-bugs

Public bug report submissions for Construct 3 and Construct Animate. Please read the guidelines then click the 'Issues' tab to get started.
https://www.construct.net
107 stars 83 forks source link

Syntax error in JSON aces.js kills C3 #651

Closed Psychokiller1888 closed 7 years ago

Psychokiller1888 commented 7 years ago

Problem description

If you are not careful enough and upload an addon that has a json syntax error, you end up with a broken C3, that can't load even by adding ?safe-mode

The attached plugin is bugged, I had a "," too much on line 678 of aces.json. Importing the plugin in C3 and reloading will lead to a fatal load error with no way to fix. I have now blocked both my Google chrome normal install and private mode install

Attach a .c3p

Attached a c3addon, this is not project dependent

Steps to reproduce

  1. Import plugin
  2. Reload

Observed result

C3 error loading:

https://puu.sh/wV4OS.png

Expected result

?safe-mode should overcome this problem

Affected browsers

System details

If you see a crash report dialog, please copy and paste it to where it says "PASTE HERE" below. Otherwise please go to Menu -> About -> Platform information and paste that information there instead.

View details PASTE HERE

airconsole_bugged.zip

AshleyScirra commented 7 years ago

Use development mode to avoid permanently crashing C3.

Psychokiller1888 commented 7 years ago

So far I know... This still should be openend and C3 not permanently crash if there's a syntax error in an external plugin. Especially when it's a JSON error. The parser shouldn't fail, try catch engine side should avoid this

AshleyScirra commented 7 years ago

OK yeah, it shouldn't parse aces.json in safe mode, so I fixed that for the next build. But it shouldn't be a problem during development, since if you use developer mode you can just fix the problem and carry on. Even if safe mode doesn't work just clear the browser cache and you can keep going.

Psychokiller1888 commented 7 years ago

Sure, will do. But instead of clearing the cache, you need to clear the "editor.construct.net" local storage to overcome this. I fixed this about 2 minutes after report, thanks. The report was merely to say that the safe-mode still loads plugins and a broken plugin can kill C3 in any mode. I did not use the dev mode, from my work place....