Revision as of 08:52, 29 June 2019 by Jammum (talk | contribs) (changed a warning)

This article or section documents an outdated version of Scratch (version 2.0). For this article in Scratch 1.4, see Making Scratch Crash (1.4).

The subject of this article or section has changed dramatically and requires updating. Please keep in mind that some of the information or images may not be accurate or relevant to the current version of Scratch, the Scratch website, or the article subject. (January 2019)
Specifically: Outdated by Scratch 3.0 release.
Note Warning: The Terms of Use does not allow sharing projects like these, as they can interfere with another user's ability to use the service by crashing unsuspecting users' Flash Players, browsers, or computers.
Note Warning: These scripts shown may freeze or crash your Internet browser, Scratch, or computer. Make sure you save your changes before attempting.
How the variables and lists duplicate
What a crashed Adobe Flash Player looks like on Chrome.
A screen which pulls up when the Adobe Flash Player crashes on Firefox. (Obsolete as of Firefox Quantum, as Flash is no longer supported)

One way of making Scratch crash is making a variable or list that will double itself, forcing the Scratch project to lag and then freeze or crash. These methods of making Scratch crash are almost guaranteed. The script needed is below:
Variable way:

when flag clicked
set [variable v] to (. . .)::variables // Set this to anything that is not empty
  set [variable v] to (join (variable) (variable))

List way:

when flag clicked
add (. . .) to  [list v]::lists // Set this to anything that is not empty
  add (list) to [list v]

Clone way:

when gf clicked
create clone of [myself v]

when I start as a clone
 create clone of [myself v] // This causes to make multiple clones at one time, causing the player to lag.

Custom Block way:

when gf clicked
block // For best results, run without screen refresh.

define block


BYOB3.png This article or section uses images made with Snap!, a Scratch Modification which allows script formatting. Differences include block multilining and zebra coloring.

In the Scratch Modification BYOB / Snap!, a simple recursive block can be used to freeze the program:

Alternatively, this script does not need a defined block: