147
\$\begingroup\$

Your task is to create the shortest infinite loop!

The point of this challenge is to create an infinite loop producing no output, unlike its possible duplicate. The reason to this is because the code might be shorter if no output is given.

Rules

  • Each submission must be a full program.
  • You must create the shortest infinite loop.
  • Even if your program runs out of memory eventually, it is still accepted as long as it is running the whole time from the start to when it runs out of memory. Also when it runs out of memory, it should still not print anything to STDERR.
  • The program must take no input (however, reading from a file is allowed), and should not print anything to STDOUT. Output to a file is also forbidden.
  • The program must not write anything to STDERR.
  • Feel free to use a language (or language version) even if it's newer than this challenge. -Note that there must be an interpreter so the submission can be tested. It is allowed (and even encouraged) to write this interpreter yourself for a previously unimplemented language. :D
  • Submissions are scored in bytes, in an appropriate (pre-existing) encoding, usually (but not necessarily) UTF-8. Some languages, like Folders, are a bit tricky to score - if in doubt, please ask on Meta.
  • This is not about finding the language with the shortest infinite loop program. This is about finding the shortest infinite loop program in every language. Therefore, I will not accept an answer.
  • If your language of choice is a trivial variant of another (potentially more popular) language which already has an answer (think BASIC or SQL dialects, Unix shells or trivial Brainf**k-derivatives like Alphuck), consider adding a note to the existing answer that the same or a very similar solution is also the shortest in the other language.
  • There should be a website such as Wikipedia, Esolangs, or GitHub for the language. For example, if the language is CJam, then one could link to the site in the header like #[CJam](http://sourceforge.net/p/cjam/wiki/Home/), X bytes.
  • Standard loopholes are not allowed.

(I have taken some of these rules from Martin Büttner's "Hello World" challenge)


Please feel free to post in the comments to tell me how this challenge could be improved.

Catalogue

This is a Stack Snippet which generates both an alphabetical catalogue of the used languages, and an overall leaderboard. To make sure your answer shows up, please start it with this Markdown header:

# Language name, X bytes

Obviously replacing Language name and X bytes with the proper items. If you want to link to the languages' website, use this template, as posted above:

#[Language name](http://link.to/the/language), X bytes

Now, finally, here's the snippet: (Try pressing "Full page" for a better view.)

var QUESTION_ID=59347;var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";var COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk";var OVERRIDE_USER=41805;var answers=[],answers_hash,answer_ids,answer_page=1,more_answers=true,comment_page;function answersUrl(index){return"//api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(index,answers){return"//api.stackexchange.com/2.2/answers/"+answers.join(';')+"/comments?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){answers.push.apply(answers,data.items);answers_hash=[];answer_ids=[];data.items.forEach(function(a){a.comments=[];var id=+a.share_link.match(/\d+/);answer_ids.push(id);answers_hash[id]=a});if(!data.has_more)more_answers=false;comment_page=1;getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){data.items.forEach(function(c){if(c.owner.user_id===OVERRIDE_USER)answers_hash[c.post_id].comments.push(c)});if(data.has_more)getComments();else if(more_answers)getAnswers();else process()}})}getAnswers();var SCORE_REG=/<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/;var OVERRIDE_REG=/^Override\s*header:\s*/i;function getAuthorName(a){return a.owner.display_name}function process(){var valid=[];answers.forEach(function(a){var body=a.body;a.comments.forEach(function(c){if(OVERRIDE_REG.test(c.body))body='<h1>'+c.body.replace(OVERRIDE_REG,'')+'</h1>'});var match=body.match(SCORE_REG);if(match)valid.push({user:getAuthorName(a),size:+match[2],language:match[1],link:a.share_link,});else console.log(body)});valid.sort(function(a,b){var aB=a.size,bB=b.size;return aB-bB});var languages={};var place=1;var lastSize=null;var lastPlace=1;valid.forEach(function(a){if(a.size!=lastSize)lastPlace=place;lastSize=a.size;++place;var answer=jQuery("#answer-template").html();answer=answer.replace("{{PLACE}}",lastPlace+".").replace("{{NAME}}",a.user).replace("{{LANGUAGE}}",a.language).replace("{{SIZE}}",a.size).replace("{{LINK}}",a.link);answer=jQuery(answer);jQuery("#answers").append(answer);var lang=a.language;lang=jQuery('<a>'+lang+'</a>').text();languages[lang]=languages[lang]||{lang:a.language,lang_raw:lang,user:a.user,size:a.size,link:a.link}});var langs=[];for(var lang in languages)if(languages.hasOwnProperty(lang))langs.push(languages[lang]);langs.sort(function(a,b){if(a.lang_raw.toLowerCase()>b.lang_raw.toLowerCase())return 1;if(a.lang_raw.toLowerCase()<b.lang_raw.toLowerCase())return-1;return 0});for(var i=0;i<langs.length;++i){var language=jQuery("#language-template").html();var lang=langs[i];language=language.replace("{{LANGUAGE}}",lang.lang).replace("{{NAME}}",lang.user).replace("{{SIZE}}",lang.size).replace("{{LINK}}",lang.link);language=jQuery(language);jQuery("#languages").append(language)}}
body{text-align:left!important}#answer-list{padding:10px;width:500px;float:left}#language-list{padding:10px;padding-right:40px;width:500px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="language-list"> <h2>Shortest Solution by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr> </thead> <tbody id="languages"> </tbody> </table> </div> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr> </thead> <tbody id="answers"> </tbody> </table> </div> <table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table>

LegionMammal978
18.2k4 gold badges25 silver badges58 bronze badges
asked Oct 2, 2015 at 17:20
\$\endgroup\$
14
  • 54
    \$\begingroup\$ I've got to start posting programs with a negative byte count to beat all these empty files! \$\endgroup\$ Commented Oct 3, 2015 at 4:32
  • 4
    \$\begingroup\$ This challenge is interesting because it brings out lots of 0 byte languages (some of which are NOT esolangs). FWIW, most declarative languages have an implicit infinite loop because declarative languages don't have loops in their syntax (they assume they're running in an infinite loop). Ladder diagrams are perhaps among the oldest such languages. Then you have the Instruction Language (IL), a sort of assembly for PLCs that also assume an infinite loop. ILs, like assembly are different between manufacturers \$\endgroup\$ Commented Oct 5, 2015 at 9:36
  • \$\begingroup\$ Are programs that read and execute their own source code allowed, or does file I/O break the "must take no input" rule? \$\endgroup\$ Commented Oct 6, 2015 at 13:05
  • 1
    \$\begingroup\$ @ThisSuitIsBlackNot Yes, file input is allowed. \$\endgroup\$ Commented Oct 6, 2015 at 16:47
  • \$\begingroup\$ Can you print "", an empty string? \$\endgroup\$ Commented Mar 7, 2016 at 23:39

588 Answers 588

1 2 3
4
5
...
20
4
\$\begingroup\$

pb, 8 bytes

In pb, the shortest possible infinite loop is 8 bytes long. In fact, there are sixty 8 byte infinite loops, none of which produce output! (Unless you're running in watch mode, which is intended for debugging, no pb programs produce output until they halt. However, even if one of these did eventually halt, no output would have been produced.) Here are the sixty shortest infinite loops, in alphabetical order:

w[B!1]{}
w[B!2]{}
w[B!3]{}
w[B!4]{}
w[B!5]{}
w[B!6]{}
w[B!7]{}
w[B!8]{}
w[B!9]{}
w[B=0]{}
w[C!1]{}
w[C!2]{}
w[C!3]{}
w[C!4]{}
w[C!5]{}
w[C!6]{}
w[C!7]{}
w[C!8]{}
w[C!9]{}
w[C=0]{}
w[P!1]{}
w[P!2]{}
w[P!3]{}
w[P!4]{}
w[P!5]{}
w[P!6]{}
w[P!7]{}
w[P!8]{}
w[P!9]{}
w[P=0]{}
w[T!1]{}
w[T!2]{}
w[T!3]{}
w[T!4]{}
w[T!5]{}
w[T!6]{}
w[T!7]{}
w[T!8]{}
w[T!9]{}
w[T=0]{}
w[X!1]{}
w[X!2]{}
w[X!3]{}
w[X!4]{}
w[X!5]{}
w[X!6]{}
w[X!7]{}
w[X!8]{}
w[X!9]{}
w[X=0]{}
w[Y!1]{}
w[Y!2]{}
w[Y!3]{}
w[Y!4]{}
w[Y!5]{}
w[Y!6]{}
w[Y!7]{}
w[Y!8]{}
w[Y!9]{}
w[Y=0]{}

These all follow a simple pattern. w is a while loop, pb's only looping or branching instruction. Inside the square brackets is the condition, which is two expressions separated by ! or =. To understand what this means, imagine an extra = just before the second expression. In the same way that you understand 2+2==4 to be true and 10!=5*2 to be false, 2+2=4 and 10!5*2 are true and false in pb. A while loop is executed until the condition becomes false. Finally, there is a pair of curly braces containing pb code. In this case, there's no code to be run, so they are empty.

The important thing here is the condition. pb has six variables, all for different purposes. They are:

B - The value of the character under the brush
C - The colour of the character under the brush (from a lookup table, the important thing being that white = 0)
P - The current colour that the brush is set to output in (same lookup table)
T - Set by the programmer, initialized to 0
X - X position of the brush
Y - Y position of the brush

The brush starts at (0, 0) on a canvas that is entirely initialized to white null bytes. This means that all of the variables start out being equal to 0.

These sixty programs fall into two categories: 10 loops that are executed until a variable (equivalent to 0) stops being zero, and 50 loops that are executed until a variable (equivalent to 0) becomes a specific non-zero number. An infinite number of programs can be written that fall into that second group, but only 50 are the same length as the 10 in the first one.

answered Oct 8, 2015 at 14:48
\$\endgroup\$
4
\$\begingroup\$

ArnoldC, 61 bytes

IT'S SHOWTIME
STICK AROUND 1
CHILL
YOU HAVE BEEN TERMINATED

Ironic how the program never actually terminates, even though the last line says "YOU HAVE BEEN TERMINATED."

answered Oct 15, 2015 at 23:48
\$\endgroup\$
4
\$\begingroup\$

Brian & Chuck, 7 bytes

#{?
#{?

The # could be replaced by any other characters except null-bytes or underscores.

The idea is fairly simple:

  • Brian moves Chuck's instruction pointer to the start ({) and hands control over to him (?).
  • Chuck moves Brian's instruction pointer to the start ({) and hands control over to him (?).
  • Repeat.
answered Nov 11, 2015 at 9:58
\$\endgroup\$
4
\$\begingroup\$

Seed, 2 bytes

0 

(note the trailing space character)

Any seed program consists out of 2 instructions, seperated by a space; The length of the Befunge program it will output and the seed which will generate that program.
Seeing how we need a Befunge program of length 0, we can create a Seed program with an empty 2nd instruction.

The Seed program 0 will output an empty Befunge program, which will run forever.

Interesting to note is that the Python compiler on the Seed esolang page is erroneous.
To create a Befunge program of length 0, any seed will do. That includes an empty seed. To stick to the spec however, the space after 0 is not omitted.

That being said, this is the world's shortest Seed program, and also the easiest to reverse engineer :-)

answered Nov 11, 2015 at 13:57
\$\endgroup\$
4
\$\begingroup\$

Aubergine, 6 bytes

:aa=ia

:aa is a no-op. =ia sets the IP to its own location.

answered Dec 25, 2015 at 19:59
\$\endgroup\$
1
  • \$\begingroup\$ Likewise, aaaiii is the shortest for Purple BUT -i3 is the shortest for UberGenes \$\endgroup\$ Commented Dec 31, 2015 at 6:53
4
\$\begingroup\$

Mumps, 1 byte

F

Mumps being a very old language, most of it's commands and operators can be truncated to 1 or 2 letters. The [F]or command with no parameters defaults to an infinite loop until interrupted by a {CTRL}{C}. The flavour of Mumps that I use is InterSystem Caché.

answered Dec 30, 2015 at 21:03
\$\endgroup\$
4
\$\begingroup\$

Mmmm(), 56 bytes

mm=m[m.m()].m;mm=mm(mm(m.m()));m[mm].m(mm);<m[mm].m(mm)>

No, I have no idea how it works either.

answered Jan 13, 2016 at 2:12
\$\endgroup\$
4
\$\begingroup\$

Mathematica, (削除) 10 (削除ここまで) 8 bytes

0~Do~∞
answered Oct 3, 2015 at 0:16
\$\endgroup\$
6
  • 3
    \$\begingroup\$ Alternatives with the same byte count: For[,1>0,] and While@True. Unfortunately #0[]&[] hits the iteration limit pretty quickly and exits with an error. \$\endgroup\$ Commented Oct 3, 2015 at 19:15
  • \$\begingroup\$ @MartinBüttner In fact, I was about to use your third suggestion before remembering about $IterationLimit... \$\endgroup\$ Commented Oct 3, 2015 at 20:56
  • \$\begingroup\$ 2 bytes shorter: 0~Do~∞ \$\endgroup\$ Commented Mar 9, 2016 at 20:48
  • \$\begingroup\$ @shrx Remember that is 3 bytes long in UTF-8. \$\endgroup\$ Commented Mar 9, 2016 at 20:49
  • \$\begingroup\$ @shrx Now that I think about it, are you sure that it works? It gives me an error on v10.1. \$\endgroup\$ Commented Apr 2, 2016 at 0:00
4
\$\begingroup\$

Bash, (削除) 10 (削除ここまで) 2 bytes

0ドル

Runs the file specified by 0ドル (i.e. itself). Requires that the script is executable.

answered Oct 18, 2016 at 19:08
\$\endgroup\$
2
  • \$\begingroup\$ This is at least \5ドル\$ bytes, as the file name must be at least .sh. \$\endgroup\$ Commented May 11, 2021 at 20:44
  • \$\begingroup\$ A file called a will execute, but all the setup is at least a dozen bytes \$\endgroup\$ Commented Sep 9, 2024 at 8:15
4
\$\begingroup\$

APL, 2 bytes

→1 go to line 1 (this line)

answered Jan 5, 2017 at 12:57
\$\endgroup\$
4
\$\begingroup\$

Vitsy, 1 Byte

<

(削除) Since Vitsy loops around the line, a single space is an infinite loop. (削除ここまで) This functionality was removed in the latest version, but this applies as a special condition for looping around a line.

You could technically also do it like this:

[

But it throws an error after a little while:

Exception in thread "main" java.lang.StackOverflowError
 at com.VTC.vitsy.OperativeHandler.doOperation(OperativeHandler.java:6)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:88)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:82)
 at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:195)
 ... (few hundred more lines)

It's a pretty staggeringly long error.

The 'correct' way to do an infinite loop in Vitsy, however, is this:

[1]

where 1 is any number [1-f]. [ starts a while loop, 1 pushes 1 to the stack, and ] pops the top item off the stack and tests if it is 0. If it isn't, go back to the beginning of the loop.

caird coinheringaahing
50.9k11 gold badges133 silver badges364 bronze badges
answered Oct 20, 2015 at 15:40
\$\endgroup\$
4
\$\begingroup\$

C (tcc), x86_64, 10 bytes

main=-277;

Try it online!

How it works

This writes the int -277 (ebfeffff in little endian) to the memory location of main.

eb is JMP and is to be followed by a signed 8-bit address indicating where to jump to. fe is -2, so we jump back to eb and start over.

answered Apr 14, 2018 at 17:56
\$\endgroup\$
4
\$\begingroup\$

Haskell, 8 bytes

main:x=x

One byte shorter than the classic main=main.

answered Sep 23, 2020 at 10:00
\$\endgroup\$
4
\$\begingroup\$

Racket, 39 bytes

((λ(x)(x x))(λ(x)(x x)))
answered Feb 19, 2021 at 19:02
\$\endgroup\$
2
  • 1
    \$\begingroup\$ Nice answer! Was this inspired by the Y combinator? \$\endgroup\$ Commented Feb 19, 2021 at 19:10
  • \$\begingroup\$ @user Yeah, it was! \$\endgroup\$ Commented Feb 19, 2021 at 21:41
4
\$\begingroup\$

Scratch, 23 bytes

A "forever" block still runs when it's empty.

when gf clicked
forever
answered Apr 12, 2021 at 23:39
\$\endgroup\$
1
  • \$\begingroup\$ Welcome to Code Golf! \$\endgroup\$ Commented Apr 14, 2021 at 20:16
4
\$\begingroup\$

StackLang, 1 byte

2

Explanation

2 is an opcode for infinite loop. When it reaches the bottom of the stack, it loops around.

answered Jun 28, 2021 at 18:27
\$\endgroup\$
1
  • 1
    \$\begingroup\$ Welcome to Code Golf! \$\endgroup\$ Commented Jun 28, 2021 at 18:33
4
\$\begingroup\$

Arduino, 27 bytes

void setup(){}void loop(){}

This is also the shortest Arduino code that will actually compile. I'm surprised no-one has done this yet.

answered Aug 13, 2021 at 4:36
\$\endgroup\$
4
\$\begingroup\$

DC, 6 bytes

[dx]dx

It puts the constant string [dx] on the stack, duplicates it (d command), pops and interprets string (x command).

Glorfindel
6551 gold badge10 silver badges23 bronze badges
answered Dec 30, 2015 at 20:41
\$\endgroup\$
4
\$\begingroup\$

Grass, 3 bytes

wWw

Try it online!

Essentially just a main function that calls itself recursively.

answered Jun 6, 2023 at 22:40
\$\endgroup\$
3
\$\begingroup\$

Scala, 12 bytes

while(1>0){}
answered Oct 2, 2015 at 18:56
\$\endgroup\$
3
\$\begingroup\$

rs, 3 bytes

+/1

Note that this will eventually run out of memory...

answered Oct 2, 2015 at 19:10
\$\endgroup\$
3
\$\begingroup\$

x86 Intel Assembly (NASM), 5 bytes

jmp $
answered Oct 2, 2015 at 19:32
\$\endgroup\$
1
  • 1
    \$\begingroup\$ I posted a 4-byte improvement on this, which works on Linux: ja $. I included an explanation of how it works as a complete program. \$\endgroup\$ Commented Oct 6, 2015 at 21:01
3
\$\begingroup\$

Julia, (削除) 13 (削除ここまで) 12 bytes

while 1<2end

Yawn. I tried a map and a for loop, but to no avail...

EDIT: Someone pointed out that I could shorten the program by removing parentheses. Thanks!

Alternatively, if stack-overflowing infinite recursion counts as infinite (11 bytes):

i()=i();i()
answered Oct 2, 2015 at 20:39
\$\endgroup\$
2
  • \$\begingroup\$ You don't need the parentheses around 1<2 (in fact it's rather "un-Julian" to have them there). \$\endgroup\$ Commented Oct 2, 2015 at 21:24
  • \$\begingroup\$ Why isn't 1 True, or why isn't 1<2 1? (That is, why doesn't Juila implement bool as a "subclass" of int, like Python does, which is endlessly useful?) \$\endgroup\$ Commented Mar 19, 2016 at 18:38
3
\$\begingroup\$

k, 4 bytes

~:/1

How it works

In k, / iterates the function on the left starting with the argument on the right until the result repeats. The ~: is a "not" function which turns 1 into 0 and 0 into 1 repeatedly in this code.

answered Oct 3, 2015 at 7:10
\$\endgroup\$
3
\$\begingroup\$

ZX Spectrum BASIC, 2 bytes

1 RUN

The program will never run out of memory :-)

Explanation:

  • There is no space between the line number and the command, it is just a visual clue displayed when LISTing the program
  • The keyword RUN is one byte, in Sinclair BASIC the keywords were really just a single characters (with codepoints>=128), that just happened to look like multi-character words when displayed. In particular, you enter the keyword by pressing one key, the one with the keyword on it, and it enters one byte.

The internal representation is a bit longer (line number is stored as two bytes), but isn't this true for almost all the languages? :-)

answered Oct 3, 2015 at 6:59
\$\endgroup\$
1
  • 1
    \$\begingroup\$ The internal representation also has one byte for the end of line character and one byte for the end of program character, so 5 bytes. \$\endgroup\$ Commented Oct 3, 2015 at 20:48
3
\$\begingroup\$

Pascal, 32 bytes

program l;begin while 1=1do;end.

A full program in just one line.

  • program l;: Start a new Pascal program
  • begin: Begin a code section
  • while 1=1do;: Do nothing (; / NOP) as long as 1=1, which shorter than true. Identifiers (do for instance) are not allowed to begin with a digit, so we can omit the space here and save one byte.
  • end.: End the code section
answered Oct 3, 2015 at 16:03
\$\endgroup\$
1
  • 1
    \$\begingroup\$ There needs to be a token separator between 1 and do. The ISO standard 7185 states: "There shall be at least one separator between any pair of consecutive tokens made up of identifiers, word-symbols, labels or unsigned-numbers." do is a "word-symbol" and 1 an "unsigned-number" so there must be a token separator. Some compilers are sloppy in that regard though. I could compile your program with the Free Pascal Compiler, however for instance the GNU Pascal Compiler – rightfully so – refused to compile it. \$\endgroup\$ Commented Nov 3, 2022 at 23:30
3
\$\begingroup\$

Go, 31 Bytes

package main
func main(){for{}}

Nothing special, the for loop without header runs infinitely.

answered Oct 3, 2015 at 16:51
\$\endgroup\$
3
\$\begingroup\$

Burlesque, 2 bytes

bc

The BoxCycle command. Essentially takes whatever string s is on STDIN and tries to evaluate the infinite list [s, s, s...]

answered Oct 3, 2015 at 18:47
\$\endgroup\$
3
\$\begingroup\$

Lazy K, (削除) 8 (削除ここまで) 7 bytes

SISSSII

Reduces to the lambda expression (λx.x x) (λx.x x) which has no normal form.

answered Oct 3, 2015 at 22:21
\$\endgroup\$
2
  • \$\begingroup\$ Tried to golf it: SISSSII (not tested). \$\endgroup\$ Commented Oct 4, 2015 at 14:41
  • \$\begingroup\$ That works! Really cool :) \$\endgroup\$ Commented Oct 4, 2015 at 14:51
3
\$\begingroup\$

SQL (SQL Server 2008+), 92 bytes

WITH R AS(SELECT 1N UNION ALL SELECT N*1FROM R)SELECT*FROM R WHERE N<1OPTION(MAXRECURSION 0)

I feel (削除) a little (削除ここまで) dirty putting this up, but my original thought was that this wouldn't be possible with a SQL query. With something like T-SQL or PL/SQL not a problem, as a query though? The obvious answer was a recursive query with no recursion limit set. But how to get it to run without outputting anything. My initial tests using queries like

WITH R AS(SELECT 1N UNION ALL SELECT N FROM R)SELECT*FROM R WHERE N=0OPTION(MAXRECURSION 0);
WITH R AS(SELECT 1N UNION ALL SELECT N FROM R)SELECT*FROM R WHERE N<1OPTION(MAXRECURSION 0);

showed that the optimizer would cause the query to exit immediately with no rows returned. Using N+1 allowed it to loop, but I suspect that the integer would eventually overflow. I used N*1 in the query to avoid that and trick the optimizer into letting it run without short cutting out. I've let it run for a few minutes on my machine and it didn't seem to start consuming memory, but I can't guarantee that wouldn't happen.

answered Oct 5, 2015 at 1:56
\$\endgroup\$
9
  • \$\begingroup\$ SQL has loop constructs too, even if it's slow to use them. Why not something like: WHILE 1=1CONTINUE ? \$\endgroup\$ Commented Oct 8, 2015 at 10:09
  • \$\begingroup\$ @Bridge SQL doesn't really have while loops. The database systems have procedural languages that have loop constructs. With this answer I was trying to keep to SQL rather than T-SQL or PL/SQL. \$\endgroup\$ Commented Oct 8, 2015 at 17:53
  • \$\begingroup\$ Hey only trying to help, I don't have enough rep here to post my own answer. Doesn't your answer contain things that aren't ANSI SQL either, e.g. SQL Server specific extensions? The truth of the matter is, dump the code I wrote into SQL Server, and you have an infinite loop in a quarter of the code :) \$\endgroup\$ Commented Oct 9, 2015 at 7:32
  • \$\begingroup\$ @Bridge I understand and thanks for the help. You should be able to post an answer. I think most RDMS's now support recursive CTEs and they were introduced in SQL:1999. So while the syntax may differ slightly I could do this query in postgresql with no issues. \$\endgroup\$ Commented Oct 9, 2015 at 8:11
  • \$\begingroup\$ It was the OPTION(MAXRECURSION 0) bit I was unsure about :) \$\endgroup\$ Commented Oct 9, 2015 at 8:29
1 2 3
4
5
...
20

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.