← All posts tagged twisted

binary
Python XMPP fail twisted j2j Очередной фейл в твистеде: искал, почему же у j2j всё ещё течёт память. Оказалось, проблема в Twisted: его функция internJID (http://twistedmatrix.com/documents/current/api/twisted.words.protocols.jabber.jid.html#internJID) не имеет нормального описания, но нужна, судя по всему, для кеширования JIDов, чтобы не делать им каждый раз stringprep, экономя таким образом процессорное время. (Иного объяснения я не нашёл.) Так вот, эта функция никогда не очищает кеш. А так как JIDов через j2j проходит достаточно много, через три дня работы их собирается порядка 40К, на ещё более нагруженных сервисах ситуация будет ещё плачевнее (особенно, если сервис будет без регистрации, а пользоваться им будут люди с огромного к-ва разных серверов.) Поэтому, для теста, сваял патчик, который очищает JIDы, не использовавшиеся в течение 10 минут. Теперь, вроде бы, ситуация стабилизировалась. По-хорошему, там бы использовать memcached и не выпендриваться. Если у кого-то есть такая же проблема и желание протестировать, это ли её причина, обратитесь ко мне за патчем.

Тикет писать буду, но, если честно, даже не знаю, как бы описать проблему так, чтобы на неё обратили внимание, т.к. они вообще ни на что не обращают внимания.
binary
Python twisted Тихо и незаметно вышел новый Twisted. Где посмотреть Changelog я не нашёл, кто-нибудь знает?
Надо затестить, реально ли хоть на этом запускать эти ваши жабьи транспорты...
binary
юмор twisted Очень удобный у Twisted трак — можно завести тикет на проституток. jrudevels.org
btw, селект на этом поле ужасен. Искать нужного среди тысяч ботов — верх юзабилити.
binary
Python jrudevels twisted j2j В общем, с новым твистедом не работает j2j по следущей причине: twistedmatrix.com
Предложенный патч я и сам себе сваял, но думал, что есть более правильное решение, ан нет, планируют выпускать багфикс-релиз. Будем ждать.
binary
Jabber XMPP jrudevels twisted j2j Пренеприятная бага с постоянным вылетанием J2J уже пофикшена в Twisted 10.2.0. Для него никаких дополнительных патчей уже не требуется. Советую всем обновиться, причём если есть любые транспорты/боты на Twisted.
binary
Jabber twisted j2j нашёл баг в твистеде, от которого j2j падает на кривых станзах. лечится так:

--- Twisted-10.0.0/twisted/words/xish/domish.py 2008-10-29 23:17:26.000000000 +0300
+++ twisted/words/xish/domish.py 2010-05-15 22:22:28.000000000 +0400
@@ -762,6 +762,8 @@
qname = name.split(" ")
if len(qname) == 1:
qname = ('', name)
+ else:
+ qname = (qname[0], ' '.join(qname[1:]))

# Process attributes
for k, v in attrs.items():

кто юзает j2j или любые транспорты на twisted, советую пропатчить. есть ли смысл писать тикет им в трак, даже не знаю