Abridor de urllib2 trava se executado dentro de um segmento

Eu tenho um código que está funcionando bem (conectar a uma página, obter PHPSESSID). quando eu coloquei esse código em uma função, então fiz um thread dele:

Gdk.threads_enter()
threading.Thread(target=self.do_login,args=()).start()
Gdk.threads_leave()

o código trava

f = opener.open(req)

alguma ideia porque?

quando eu forço o aplicativo, ele completa tudo e imprime tudo no terminal sem erros. por que ele fica nessa linha em particular apenas na thread. não fora de um fio.

questionAnswers(1)

yourAnswerToTheQuestion