连续运行两次就出错?

一个程序,如果连续运行两次的话,第二次会出错,第一次正常。跟了一下好像是最后一句出了问题,但是找不出原因。。。

from twisted.internet import reactor, defer

class Getter:
    def getData(self, x):
        # this won't block
        d = defer.Deferred()
        reactor.callLater(1, d.callback, x * 3)
        return d

def printData(d):
    print d

def printError(failure):
    print failure

g = Getter()
d = g.getData(3)
d.addCallback(printData)
d.addErrback(printError)

reactor.callLater(1, reactor.stop); reactor.run()