Через раз, то программа ничго не выдаёт, то выдаёт ошибку вида

вот код
import thread
class MyClass:
def __init__(self,name):
self.name = name
self.output = "output"
self.input = "free"
def send_mess(self,resiver):
thread.start_new(resiver.get_mess,(self,self.output))
#print self.name , 'said I DID IT!'
def get_mess(self,sender,message):
self.input = message
print self.name ,'from',sender.name, self.input
if message!='back':
sender.get_mess(self,'back')
def main():
M1 = MyClass('Alex')
M2 = MyClass('Sasha')
#M2.get_mess('mama mia')
M2.send_mess(M1)
#print M1.name
#print M2.output
return 0
if __name__ == '__main__':
main()