Program: 81596
Project: 81596
Buggy source:
public final void run(){
  Object result;
  while (true) {
    message=getMessage();
    try {
switch (message.type) {
case Message.CONSTRUCT_MESSAGE:
        message.target.invokeConstructor(message.message_id,message.arguments);
      break;
case Message.SIMPLE_MESSAGE:
    message.target.invokeMessage(message.message_id,message.arguments);
  break;
case Message.CONTINUATION_MESSAGE:
message.target.invokeMessage(message.message_id,message.arguments);
StageService.sendMessage(message.continuationDirector,2,null);
break;
case Message.TOKEN_MESSAGE:
result=message.target.invokeMessage(message.message_id,message.arguments);
StageService.sendMessage(message.continuationDirector,2,new Object[]{result});
break;
case Message.CONSTRUCT_CONTINUATION_MESSAGE:
message.target.invokeConstructor(message.message_id,message.arguments);
StageService.sendMessage(message.continuationDirector,2,new Object[]{message.target});
break;
default :
System.err.println("String_Node_Str" + message.type);
return;
}
}
 catch (TokenPassException tpe) {
}
catch (RemoteMessageException exception) {
}
catch (Exception exception) {
StringBuilder errorMessage=new StringBuilder("String_Node_Str");
errorMessage.append("String_Node_Str" + message.target.getMessageInformation(message.message_id) + "String_Node_Str");
errorMessage.append("String_Node_Str" + message + "String_Node_Str");
errorMessage.append("String_Node_Str" + message.target + "String_Node_Str");
errorMessage.append("String_Node_Str" + message.message_id + "String_Node_Str");
errorMessage.append("String_Node_Str" + message.type + "String_Node_Str");
errorMessage.append("String_Node_Str");
if (message.arguments == null) errorMessage.append("String_Node_Str");
 else {
for (int i=0; i < message.arguments.length; i++) {
errorMessage.append("String_Node_Str" + message.arguments[i]);
}
}
errorMessage.append("String_Node_Str");
errorMessage.append("String_Node_Str" + exception + "String_Node_Str");
for (StackTraceElement ste : exception.getStackTrace()) {
errorMessage.append("String_Node_Str" + ste.toString() + "String_Node_Str");
}
System.err.println(errorMessage.toString());
return;
}
}
}

Fixed version (ground truth):
public final void run(){
  Object result;
  while (true) {
    message=getMessage();
    try {
switch (message.type) {
case Message.CONSTRUCT_MESSAGE:
        message.target.invokeConstructor(message.message_id,message.arguments);
      break;
case Message.SIMPLE_MESSAGE:
    message.target.invokeMessage(message.message_id,message.arguments);
  break;
case Message.CONTINUATION_MESSAGE:
message.target.invokeMessage(message.message_id,message.arguments);
StageService.sendMessage(message.continuationDirector,3,null);
break;
case Message.TOKEN_MESSAGE:
result=message.target.invokeMessage(message.message_id,message.arguments);
StageService.sendMessage(message.continuationDirector,3,new Object[]{result});
break;
case Message.CONSTRUCT_CONTINUATION_MESSAGE:
message.target.invokeConstructor(message.message_id,message.arguments);
StageService.sendMessage(message.continuationDirector,3,new Object[]{message.target});
break;
default :
System.err.println("String_Node_Str" + message.type);
return;
}
}
 catch (TokenPassException tpe) {
}
catch (RemoteMessageException exception) {
}
catch (Exception exception) {
StringBuilder errorMessage=new StringBuilder("String_Node_Str");
errorMessage.append("String_Node_Str" + message.target.getMessageInformation(message.message_id) + "String_Node_Str");
errorMessage.append("String_Node_Str" + message + "String_Node_Str");
errorMessage.append("String_Node_Str" + message.target + "String_Node_Str");
errorMessage.append("String_Node_Str" + message.message_id + "String_Node_Str");
errorMessage.append("String_Node_Str" + message.type + "String_Node_Str");
errorMessage.append("String_Node_Str");
if (message.arguments == null) errorMessage.append("String_Node_Str");
 else {
for (int i=0; i < message.arguments.length; i++) {
errorMessage.append("String_Node_Str" + message.arguments[i]);
}
}
errorMessage.append("String_Node_Str");
errorMessage.append("String_Node_Str" + exception + "String_Node_Str");
for (StackTraceElement ste : exception.getStackTrace()) {
errorMessage.append("String_Node_Str" + ste.toString() + "String_Node_Str");
}
System.err.println(errorMessage.toString());
return;
}
}
}