IM клиентыpsi+ или кто правит ошибки...

Поймал тут ошибку в популярном ныне psi+, нашел причину, отрезок ревизий, написал в psi-dev@conference.jabber.ru, написал в багтрекер, «разжевал» как, зачем и почему ошибка возникает.
И как-то грустно получить такой вот ответ
фиксите сами. у меня не воспроизводится

Итогом стала замена im-клиента :)
  • +10
  • elemc
  • 14 сентября 2010, 16:12

Комментарии (23)

  • avatar
  • muhas
  • 14 сентября 2010, 16:35
  • #
  • 1
одна из главных проблем опенсорса :(
  • avatar
  • fog
  • 14 сентября 2010, 17:19
  • #
  • 3
Я всегда на стороне разработчиков… но, вы знаете, труд тех, кто ищет багу и/или пишет о ней в багзиле тоже нужно уважать. Я могу понять, что разработчик по тем или иным причинам не хочет/может исправить что-то (это часто бывает), но ответить то вежливо можно ведь? :-(
+1
Поддерживать кучу дистрибутивов и их версий (как следствие, разные версии библиотек(а их ещё и патчат, и собирают с разными ключами) + 32/64бита — это очень тяжёлое и нудное дело!

PS: имхо, разработчики перегнули палку… но и их понять можно — решать уравнение с кучей неизвестных очень сложно…
хм, даже когда изначально показали где ошибка возникает и примерно рассказали из-за чего? :)
www.reactos.org/bugzilla/show_bug.cgi?id=5598

Похожая ситуация в РеактОСе. Я нашел этот весьма критичный баг (ИМХО), он у меня воспроизводится со 100% вероятностью на двух разных машинах. Нашел билд, который вызвал регрессию. Но результата пока ноль…
И чем же она похожая? Тебя разве послали? (исправлять самому баг)
Мне не поверели и ни укого не возникло желаения добится его воспроизведения.
Точную причину бага наконец-то совместными усилиями нашли, а вот пофиксить пока не спешат (
Неожиданно. Подобного я не встречал. В-основном игнорят, но чтобы вот так ответить.
для меня это тоже было неожиданностью :)
Если бы я Риона не попросил бы ответить, то был бы игнор. А в чем то первый ответ нормальный. Если ошибка в Кедах то и писать надо в кеды. Если автор сам разобрался что Кеды виноваты то сразу мог бы и написать в upstream. (Вспомним что чуть что надо сразу в upstream посылать, это хороший способ решение ошибок)
Ну тут надо еще понимать, что далеко не у всех есть возможность или навыки по дебагу. Тем-более желание регаться на всех многомиллионных апстримах и даже разбираться, где апстрим.
Я за свою жизнь наверное только дважды серьезно занимался багами, а в-большинстве случаев мысль о том, что мне надо потратить какое-то время на дебаг приводит меня в ужас и я просто забиваю. Нет пока хороших инструментов. Даже тот же ланчпад не удобен ни разу.
В такой ситуации разработчику надо быть ближе к пользователю. Задать вопросы какие-нибудь, уточнить, попробовать разобраться. Но не писать, мол сам ***сь.
Если ошибка в Кедах то и писать надо в кеды.
Что-то я запутался. Не KDE же виновато. Или всетаки оно? Надо разобраться.
Ну как может быть виновником KDE, когда psi+ rev. 2812 работала превосходно, а rev.2987 работать перестала :)
Ну, исключать нельзя и такое. Может они там какойто новый функционал заюзали, который в твоей версии Qt/KDE поломан.
Может быть (теоретически), но получается, что в слаке функционал КДЕ поломан тоже :)
и зачем выгораживать разрабов? был печальный опыт общения с подобными. послал. и сам теперь не рекомендую работать с такой прогой. чего добились? да ничего. шалбанов за такое поведение настучать и всё.
А зачем обижаться на разработчиков? Главная проблема опенсорс в том, что все стремяться потреблять и ни чего не возвращая взамен. И более того многие, бесплатно пользуясь продуктам, думают, что разработчик им что-то должен. Очень мало программистов пользуясь открытыми продуктами, что-то делают для него, даже если могут. По статистике лишь 10% программистов работающих в мире опенсорс, программируют для сообщества и участвуют в бесплатных проектах. Все остальные потребляют бесплатные продукты, работая на себя или на коммерческие компании, не удосуживаясь дарить свои разработки сообществу чью продукцию они потребляют.

Я не спорю ситуация некрасивая, и разработчик был не прав. Но его тоже нужно понять, по крайней мере он заслуживает снисхождения только потому, что он дарит людям продукт своего труда. И таким людям очень важно чувствовать моральную поддержку и уважение со стороны пользователей, если хотите почтение за свой труд. Согласитесь это не так много, это намного меньше чем требует микрософт за свои продукты. Но к сожалению многие пользователи и этого не удосуживаются давать программистам. Так что не мудрено, что они могут сорваться, они ведь тоже люди, такие же как и мы все, со своими слабостями и тараканами в голове. Будьте терпимее друг к другу. Опенсорс сообщество это сообщество взаимопомощи и единства. Только так оно выживало и только так оно сможет развиваться.
Очень правильная мысль! +100! Только вот, как мне кажется, грубость неприменима, ни в какой сфере.
Согласен с vladoos!
Всегда нужно помнить, что здесь «никто никому ничего не должен» — он же за это зарплату от вас не получает. Все мы люди и не из железа. Сам лично был свидетелем — как человек делал для народа, а те его тупо «за....(подставить что считаете нужным)». Все, что-то просили, при этом не каждый элементарное спасибо говорил, в итоге человек просто оставил этот проект.
Мы тут с Rion'ом нашли корень зла. После этого сразу захотелось создать тему с названием Russian Fedora или кто направляет разработчиков Psi+ по ложному следу.

История такова я раз впрягся исправлять эту ошибку (сам вызвался) то поставил KDE это 300 метров с моим ограниченным трафиком полез в него хоть не работаю с ним в принципе, увидел что на самом деле падает увидел когда падает. Дальше я со своим отсутствие английского полез на #kde, оттуда меня послали на #kde-devel, оттуда послали на #oxygen, там чуть было не послали на #qt, но все таки разобрались еще Rion подключился чтоб меня правильно понимали. Вообщем вот.
*** 2010-09-16
[19:35:07] Topic for #oxygen
Oxygen! Breathe some air! :: oxygen-project.org (out of date) :: To request new icons go to tinyurl.com/33qfzs :: See tinyurl.com/3y8j9l for style/windeco issues
[19:35:07] *** Topic for #oxygen set by ruphy at 2009-02-23 14:21:34
[19:35:19] hello
[19:35:34] why references to TransitionWidget is not removed from parent widget when its removed by oxygen theme. findChildren is still able to find and use them. this cause crash when we are accessing deleted widget
[19:39:27] hei hello!
[19:40:34] <bart_> hello
[19:40:58] :)
[19:44:09] bart_: Are you can answered me?
[19:45:20] *** rion_ekb has joined the room
[19:49:45] dritz:that might well be a bug
[19:50:38] oh you mean its deleted; but it is still in the widgets child heararchy?
[19:50:44] then its a Qt bug
[19:50:59] drizt: ^^^^^^^^^^^^
[19:51:07] (sorry I misspelled the first tile)
[19:51:17] But I might be able to add a workaroud
[19:51:24] ok…
[19:51:35] " its deleted; but it is still in the widgets child heararchy"
[19:51:58] Qt is supposed to take care of removing widgets from parent list of children when they are destroyed
[19:52:38] *** Sho_ has left the room (Remote host closed the connection (~EHS1@kde/hein))
[19:52:39] drizt: what kde version is that?
[19:53:33] hugo: rpm -qa | grep kde
kdelibs-4.4.5-1.fc13.x86_64

[19:55:37] mmm. I can't fix in 4.4. There will be no new release.
[19:55:44] But I can fix in trunk and 4.5
[19:55:52] and at some point you'll have to update :)
[19:56:22] hugo: ok big thank!
[19:56:25] well in fact maybe I can also fix in 4.4 in case you want to take the sources and compile manually
[19:56:35] *** Sho_ has joined the room
[19:58:10] <rion_ekb> drizt is one of developers of Psi+ he just tries to fix one of bug report. but since its not bug of Psi+ itself… you know…
[19:58:24] I don't use KDE but i develop Psi+. Recently we find that bug.
[19:58:40] <rion_ekb> =)
[19:58:58] eheh clear enough
[19:59:26] its actually a nasty bug.
[19:59:44] I might have well be bitten by it myself before without realizing.
[19:59:59] How did you figure the dangling pointer is a TransitionWidget?
[20:03:14] QList<QWidget *> list = findChildren<QWidget *>();
qDebug() << list;
for(int i = 0; i < list.size(); i++)
{
qDebug() << list[i];
delete list[i];
}
[20:04:21] fpaste.org/gbFY/
[20:06:14] mmm. ok. But if the widget is already deleted, qDebug() << list[i] should already crash, no?
[20:07:05] no. it crushed in loop. on two iteration
[20:08:30] Oh. So you run the loop a first time and everything works,
[20:08:38] first it QLabel and second it Oxygen::TransitionWidget
[20:08:42] and you run it a second time and the second time it crashes?
[20:09:37] i start loop only one time.
[20:10:05] <rion_ekb> parent widget has to children. one of them deleted TransitionWidget
[20:10:11] <rion_ekb> drizt: right?
[20:10:15] <rion_ekb> 2
[20:10:20] yes
[20:10:26] yes. TransitionWidget is a child of QLabel.
[20:10:35] So if you delete QLabel, it deletes TransitionWidget
[20:10:45] and then it crashes when you deletes it again.
[20:10:57] Problem with findChildren is that its recursive.
[20:11:07] *** neverendingo_ has joined the room
[20:11:26] <rion_ekb> oh the root of evil is found =)
[20:11:30] so you basically cannot use the code above. Its asking for trouble (if I remember right)
[20:11:32] *** neverendingo has left the room (Ping timeout: 245 seconds (~neverendi@kde/www/imalchow))
[20:11:58] damn
[20:11:59] you can use QObject::children
[20:12:03] (which is not recursive)

[20:12:07] check on the type
[20:12:10] and delete.

Rion не прав был в том что так грубо разговаривал. Но прав ли elemc в том что написал неверную причину падение, толком не разобравшись, особенно с учетом его немалого стажа как программиста?
> Но прав ли elemc в том что написал неверную причину падение, толком не разобравшись, особенно с учетом его немалого стажа как программиста?

Это в чем же и когда я написал неверную причину? Поконкретнее пожалуйста.
Короче я уже совсем запутался кто да что и херня полная получается. Вообщем так бага найдена и закрыта, предлагаю и тему закрыть и никого не обвинять ни Rion'а ни elemc, можете меня отпинать :) без Content Downloader Plugin ничего бы не всплыло. Но скажу о позитивных результатах. Исправлена конкретная бага в Psi (это бага Psi, а не Psi+) и еще какая то мелочь в Oxygen, я раз с разработчиком связался, он посмтотрел код и что то там исправил. Все тему закрываю. Если кого чем задел извините, погорячился.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.