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


Clock.png This article will need to be updated upon the release of 3.0. If you are an editor, please update this when 3.0 is released. If you are an editor, please create the post-3.0 version at Scratch Wiki:3.0 Articles/Making Scratch Crash.
There may already be ongoing discussion about how to do so on its talk page.
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 flash player, 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.

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
forever
  set [variable v] to (join (variable) (variable))
end

List way:

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

Clone way:

when gf clicked
create clone of [myself v]

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

Custom Block way:

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

define block
block

Snap!

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:
Freeze-BYOB-compact.png

Alternatively, this script does not need a defined block:
Freeze-BYOB.gif