gentoo.ru
Официальная конференция Direct Connect клиента EiskaltDC++
eiskaltdc@conference.gentoo.ru
Четверг, 30 июля 2015< ^ >
Tehnick установил(а) тему: Конференция разработчиков EiskaltDC++ | Conference of EiskaltDC++ developers
Additional conference: https://gitter.im/eiskaltdcpp/eiskaltdcpp
Site: https://github.com/eiskaltdcpp/eiskaltdcpp
Logs: http://gentoo.ru/jabber/logs/eiskaltdc@conference.gentoo.ru/2015/
Bug tracker: https://github.com/eiskaltdcpp/eiskaltdcpp/issues
How To Ask Questions The Smart Way: http://catb.org/%7Eesr/faqs/smart-questions.html
Как правильно задавать вопросы: http://parallel.ru/cluster/smart-questions-ru.html
Last stable release: 2.2.9 (2013-08-29)
Last intermediate release: 2.2.10 (2015-04-20)
Release schedule:
* 2015-xx-xx Release EiskaltDC++ 2.3.0
Конфигурация комнаты
Участники комнаты

GMT+3
[00:36:32] pavelvat вошёл(а) в комнату
[00:37:59] nixtrian|home вышел(а) из комнаты
[00:40:09] <pavelvat> Tehnick: 32-bit версия собранная в MXE не запускается, причём и 32-bit eiskaltdcpp-daemon.exe тоже не запускается, проверял в Windows 7 и 8, при запуске eiskaltdcpp-qt.exe выдаёт такое сообщение http://oi61.tinypic.com/2jfc9d4.jpg при запуске демона он просто завершается без сообщений.
[00:40:09] vovochka вышел(а) из комнаты
[00:41:04] <pavelvat> 64-bit версия (и с Qt4 и с Qt5) запускается успешно на Windows 7,8.
[00:43:22] <pavelvat> в конце 2014 года сборки в MXE имели ровно обратную ситуацию - 32-bit версия запускалась.
[00:47:09] <pavelvat> а 64-bit не запускалась.
[00:47:57] <pavelvat> стоит выкладывать на sourceforge только 64-bit версию?
[00:57:40] <pavelvat> пробовал собрать в Windows с openssl взятым от MXE сборки (чтобы избавиться от необходимости ставить пакет msvc redistributable), openssl требует зависимостей из MXE - zlib и libgcc_s_sjlj-1.dll если их добавить то запускается, ищет, качает, но вылетает при попытке открыть любой список файлов, потом ещё проверю может поможет родной bzip2 из MXE использовать.
[01:04:52] <pavelvat> кстати, 32-bit версия отказывающаяся запускаться под Windows прекрасно запускается и работает под wine.
[01:05:35] pavelvat вышел(а) из комнаты
[07:26:33] Tehnick вышел(а) из комнаты: Ушел.
[07:50:59] flylinkdc вошёл(а) в комнату
[08:06:43] flylinkdc вышел(а) из комнаты
[08:17:31] nixtrian|home вошёл(а) в комнату
[08:33:34] nixtrian|home вышел(а) из комнаты
[08:36:56] nixtrian|home вошёл(а) в комнату
[09:05:17] FiliN вошёл(а) в комнату
[11:07:22] Tehnick_ вошёл(а) в комнату
[11:19:37] <Tehnick_> pavelvat: какие вообще ты используешь библиотеки, собранные не в mxe?
[11:44:36] Kroll вышел(а) из комнаты
[11:58:38] Kroll вошёл(а) в комнату
[13:00:49] mars1an вошёл(а) в комнату
[13:05:13] FiliN вышел(а) из комнаты
[13:11:22] Tehnick_ вышел(а) из комнаты: Replaced by new connection
[13:11:33] Tehnick_ вошёл(а) в комнату
[13:32:44] vovochka вошёл(а) в комнату
[13:32:54] vovochka вышел(а) из комнаты
[13:32:58] vovochka вошёл(а) в комнату
[14:11:55] <vovochka> Вроде как ядро в ейскальте поддерживает NAT Traversal
Но в самом ейскальте (коде qt версии) нет никаких упоминаний по этому поводу.
оно вообще работает?
[14:19:22] <loooser_ru> vovochka: а разве в протоколе такое имеется? Какие клиенты это поддерживают?
[14:20:16] <vovochka> Ну  наверняка флайлинк... :)
flylinkdc - вы же поддерживаете нат-траверсал? :)
[14:21:21] <loooser_ru> дай ссылку на описание этой фичи для ADC
[14:22:15] <vovochka> Ну меня ADC пока не то что бы интеесует. я про NMDC
[14:22:24] <vovochka> Но это не имеет большого значения наверное
[14:22:45] <vovochka> http://strongdc.sourceforge.net/forum/viewtopic.php?f=11&p=32941
[14:23:16] <vovochka> В ядре ейскальа я вижу упоминание этого дела...
[14:23:37] <vovochka> Но используются ли клиетом эти возможности, или оно просто само работает - я хз..
[14:28:27] <loooser_ru> судя по описанию должно само
[14:36:44] Tehnick_ вышел(а) из комнаты
[15:04:18] vovochka вошёл(а) в комнату
[15:07:45] <loooser_ru> vovochka: хотя не, для NMDC поддержка нужна, т.к. большинство хабов скрывают внешние IP клиентов. Так что надо как-то подсказать этому коду свой IP...
[15:07:45] vovochka вышел(а) из комнаты
[15:33:27] <loooser_ru> vovochka: нашёл описание для ADC: http://adc.sourceforge.net/ADC-EXT.html#_natt_nat_traversal  -- есть в ядре поддержка этого?
[15:39:59] <vovochka> Грепанье сырцов по слову нат показывает что есть.
[15:40:17] <vovochka> Тем не менее, как минимум есть опция: ALLOW_NATT
[15:40:51] <vovochka> И у правление этим параметром конфигрурации отсутствует в qt морде
[15:48:11] <loooser_ru> ну мож она по дефолту просто включена?
[15:51:29] <vovochka> SettingsManager.cpp:    setDefault(ALLOW_NATT, true);
[15:51:32] <vovochka> Ну по идее  да....
[16:22:27] <loooser_ru> похоже, что он поддерживает только получение команды NAT. Кода для посылки этой команды я не нашёл :(
[16:28:55] <vovochka> https://github.com/eiskaltdcpp/eiskaltdcpp/blob/master/dcpp/NmdcHub.cpp#L518-L523
[16:29:01] <vovochka> Вот для nmdc
[16:29:24] <vovochka> Но это у нас статус подключения должен быть за натом.
[16:46:26] <loooser_ru> вроде нашёл. Надо проверять на практике
[16:47:52] <loooser_ru> интересно, а когда эта поддержка появилась в эйскальте?
[17:09:48] <vovochka> По идее этот коммит:
https://github.com/eiskaltdcpp/eiskaltdcpp/commit/af484f405dcfb46946272989ee57d885e9de39ef#diff-fa3f31e016cbe35ca85509990281ba77
2011 год
[17:12:19] <vovochka> Ну судя по всему да, надо лишь быть в пассивном режиме - и оно будет работать.
[17:15:55] <vovochka> Но похоже какие-то другие проверки не позволяют качать.
Файл застревает в очереди загрузки с ошибкой "пассивный пользователь"
[17:16:07] <vovochka> Интересно, эту проверку делает ядро?
[17:16:10] <vovochka> Наверняка..
[17:18:52] <loooser_ru> А консоль отладки что показывает? И на каком хабе ты это делаешь? - он показывает IP пользователей?
[17:18:53] <vovochka> https://github.com/eiskaltdcpp/eiskaltdcpp/blob/master/dcpp/QueueManager.cpp#L886
[17:19:08] <vovochka> Я на своем хабе... Он все ip показывает
[17:19:42] <vovochka> Вот менеджер загрузки просто проверяет, если источник -пассив, а мы не актив - не качать.
[17:20:16] <vovochka> Тут видать надо бы добавить проверочку фигни с NATT
[17:21:20] <loooser_ru> попробуй просто закомментировать эту проверку
[17:22:02] <vovochka> У меня первый час ночи... Я попробую пойти спать :)
[17:22:26] <loooser_ru> слабак :)
[17:22:45] <vovochka> *PARDON*
[17:27:11] vovochka вышел(а) из комнаты
[18:09:17] vovochka вошёл(а) в комнату
[18:13:31] <loooser_ru> что, дождь уснуть не даёт? :)
[18:15:09] mars1an вышел(а) из комнаты
[18:16:10] vovochka вышел(а) из комнаты
[18:16:37] vovochka вошёл(а) в комнату
[18:16:47] vovochka вышел(а) из комнаты
[18:16:49] vovochka вошёл(а) в комнату
[18:46:43] vovochka вышел(а) из комнаты
[19:51:00] flylinkdc вошёл(а) в комнату
[20:06:40] flylinkdc вышел(а) из комнаты
[20:35:04] pavelvat вошёл(а) в комнату
[21:26:11] <pavelvat> tehnick: проверил 32-bit сборку сделанную в MXE под Windows XP - она оказывается работает, а та же самая сборка в Windows 7 и 8 не запускается, причём в семёрке и восмёрке с небольшим отличием, в семёрке демон молча завершается сразу после запсука, Qt интерфейс выдаёт это http://oi61.tinypic.com/2jfc9d4.jpg , а в восьмёрке демон успешно запускается и работает, Qt интерфейс молча завершается.
[21:27:20] <pavelvat> Запуск в режиме совместимости с XP в семёрке приводит к той же ошибке http://oi61.tinypic.com/2jfc9d4.jpg , а восмёрьке просто появляется окно что программа была завершена из-за ошибки.
[21:53:48] Tehnick вошёл(а) в комнату
[21:54:26] <pavelvat> tehnick: насчёт сборки в ОС Windows и используемых библиотек, то очевидно что не из MXE - все остальные кроме укзанных (из MXE openssl и зависимости которые она тянет - zlib и libgcc_s_sjlj).
[22:00:27] <pavelvat> под Windows 7 eiskaltdcpp-qt.exe (который выдаёт ошибку http://oi61.tinypic.com/2jfc9d4.jpg) при запуске из под GDB пишет это "warning: Invalid parameter passed to C runtime function." и выдаёт ту же ошибку http://oi61.tinypic.com/2jfc9d4.jpg
[22:02:58] <pavelvat> под Windows 8 этот же eiskaltdcpp-qt.exe успешно запускаетсяи работает из под отладчика.
[22:05:32] <pavelvat> Tehnick: вроде бы в ядре где-то явно задавалась версия Windows шестнадцатеричным числом, может в этом причина?
[22:11:56] <pavelvat> хотя, вот при выходе из программы запущенной в Windows 8 под GDB она упала и написала в gdb это: http://pastebin.com/Jw2GpnPM
[22:12:56] <Tehnick> Блин.
[22:13:01] <Tehnick> Что-то я запутался.
[22:13:26] <Tehnick> pavelvat, у тебя есть сборка программа, использующая только библиотеки, собранные в mxe?
[22:15:10] <pavelvat> а вот что пишет демон из под GDB под Windows 7 (который если просто запускать то он молча завершается) http://pastebin.com/nU6nZtpw
[22:15:41] <pavelvat> Tehnick: я говорю сейчас только о сборке выполненной полностью в MXE, в которой все зависимости родные от MXE
[22:16:30] <Tehnick> pavelvat, плагины все на месте?
[22:16:50] <pavelvat> Tehnick: это "[21:39:40] <pavelvat> tehnick: насчёт сборки в ОС Windows и используемых библиотек, то очевидно что не из MXE - все остальные кроме укзанных (из MXE openssl и зависимости которые она тянет - zlib и libgcc_s_sjlj)."
был ответ на это:
http://gentoo.ru/jabber/logs/eiskaltdc@conference.gentoo.ru/2015/07/30.html#11:19:37.648780
[22:16:52] <Tehnick> И их зависимости.
[22:17:38] <pavelvat> Tehnick: разумеется на месте, странный вопрос, я же сначала тестирую запуск в wine и в нём всё успешно запускается и работает.
[22:17:43] <Tehnick> pavelvat, вся эта информация относится к сборке с gcc 5.10 и Qt5?
[22:17:56] <pavelvat> да
[22:18:35] <pavelvat> и также к сборке в MXE с GCC 5.2 и Qt5
[22:20:43] <Tehnick> pavelvat, и конфиги одинаковые?
[22:21:24] <Tehnick> pavelvat, или ты с чистыми настройками пробовал запускать?
[22:21:53] <pavelvat> Tehnick: дело тут не в Qt очевидно, а в ядре айскальта, в котором где-то явно задавалась версия Windows через #define, ну и в каких-то особенностях самой Windows, что бинарник eiskaltdcpp-qt.exe работающий в Windows XP перестаёт работать в Windows 7 и в Windows 8 (но вот зато eiskaltdcpp-daemon.exe работает как в Windows XP так и в Windows 8, но не работает в Windows 7).
[22:25:59] <pavelvat> Tehnick: в Windows XP конфиг был старый, сейчас проверил с local mode в Windows 7 и 8 всё так же - не запускается.
[22:26:35] <Tehnick> Плохо.
[22:26:54] <Tehnick> Даже не знаю, как бы это отдебажить в винде.
[22:27:50] <Tehnick> Винда сразу очищает стек программы при ее аварийном завершении, так что из gdb толком ничего не посмотреть.
[22:28:32] <pavelvat> Tehnick: то что я писал это вывод сборки типа Release, можно ведь с флагом Debug собрать.
[22:28:53] <Tehnick> pavelvat, о.
[22:29:00] <Tehnick> Не надо Debug.
[22:29:15] <Tehnick> pavelvat, попробуй RelWithDebInfo или как-то так.
[22:29:38] <pavelvat> Tehnick: Debug отлично работает, зачем RelWithDebInfo?
[22:29:50] <Tehnick> Там меньше флагов оптимизации компилятору передается, но не совсем без них.
[22:30:12] <Tehnick> pavelvat, он менее жирный. И с Debug же у нас не все гладко было.
[22:30:24] <pavelvat> Tehnick: уже давно всё гладко
[22:30:49] <Tehnick> pavelvat, отлично работает? И если бинарник пострипать, то тоже?..
[22:31:09] <pavelvat> Tehnick: стрипать не пробовал.
[22:32:04] <pavelvat> Tehnick: только вот мне кажется что ничего нам вывод GDB не даст, в Windows XP то таже самая сборка отлично работает.
[22:32:34] <Tehnick> pavelvat, даст, если бектрейс удасться получить.
[22:33:10] <Tehnick> Но по факту, бинарники из дебаг и релиз сборки могут сильно отличаться.
[22:33:39] <Tehnick> При Debug сборке, например, оптимизации типа -02 не используются.
[22:34:05] <pavelvat> Tehnick: говорю же, скорее всего это как-то связано с тем что у нас в ядре дефайны стоят на версию Windows, возможно из-за этого генерируется ккая то связь с runtime от Windows XP, а в новых версиях Windows были какие-то изменения и там может не работать из-за этого или не полностью и ли криво как-то работать.
[22:34:23] <Tehnick> Я как-то сталкивался с багом, который в дебаг сборки не воспроизводился совсем.
[22:34:51] <Tehnick> pavelvat, ты делал поиск этих дефайнов?
[22:36:01] <pavelvat> Tehnick: нет не делал, просто помню был когда то давно какой-то коммит и там у нас изменены дефолтные значения на версию Windows от DC++.
[22:36:15] <pavelvat> перезагружусь пока в Linux для сборки.
[22:36:17] pavelvat вышел(а) из комнаты
[22:37:31] pavelvat вошёл(а) в комнату
[22:38:54] pavelvat вышел(а) из комнаты
[22:42:52] pavelvat вошёл(а) в комнату
[22:44:16] <Tehnick> На SF загрузку файлов так и не починили. =(
[22:46:18] <pavelvat> Tehnick: ты не в курсе почему Psi+ под Windows тратит где-то минуты две сразу после запуска на то чтобы выставить "Доступен", в Linux мгновенно выставляется, просто без этого войти в конфу не возможно - пункт не активен.
[22:46:57] <Tehnick> pavelvat, из-за IPv6.
[22:47:40] <Tehnick> pavelvat, либо IPv4 адрес укажи для подключения или IPv6 через teredo в винде настрой.
[22:48:27] <pavelvat> Tehnick: почему тогда в Linux мгновенно соединяет?
[22:49:53] <Tehnick> pavelvat, потому что у тебя либо IPv6 вообще отключен, либо настроен и работает.
[22:51:56] <pavelvat> Tehnick: у меня нет никакого IP6 и никогда не было, ты уверен что в этом дело? У меня акк на jabber.ru  и видимо соединение с ним через Psi+ из под Windows раз в 200 дольше чем из Psi+ под Linux.
[22:52:48] <pavelvat> Версия под Linux: Psi+ v0.16.330
[22:53:18] <Tehnick> pavelvat, teredo есть в винде, начиная с WinXP и какого-то сервис пака. А начиная с Win Vista он активирован по умолчанию. Даже, если по факту он не работает, но сетевой интерфейс поднят и активен.
[22:53:46] <pavelvat> под Windows Psi+ стоит из официальной инсталлера что сейчас на сайте sporceforge для Psi+.
[22:53:54] <Tehnick> pavelvat, да, я уверен. Ибо разработчики Psi+ уже не раз отвечали на этот вопрос.
[22:54:13] <pavelvat> *sourceforge
[22:55:11] <Tehnick> Проблема начала проявляться, когда на DNS для jabber.ru первыми в списке начали IPv6 адреса указывать, а не IPv4, как было раньше.
[22:55:40] <Tehnick> pavelvat, проблема им известна, но никто пока не шевелится, чтобы ее исправить.
[22:55:42] <pavelvat> а остальные клиенты такие же тормозные под Windows как и Psi+, может это не пользователь должен указывать, а клиент автоматом определят и выбирать?
[22:56:49] <Tehnick> pavelvat, остальные клиенты используют другие библиотеки для ресолвинга адреса сервера по его dns имени.
[22:57:25] <Tehnick> pavelvat, пропиши один из ip4 адресов в настройках подключения и не парься.
[22:57:35] <Tehnick> pavelvat, $ host jabber.ru
jabber.ru has IPv6 address 2a02:6b8:0:892::209
jabber.ru has IPv6 address 2a02:6b8:0:c52::161
jabber.ru has address 84.201.146.161
jabber.ru has address 95.108.194.209
jabber.ru mail is handled by 10 mx.jabber.ru.
[22:58:17] loooser_ru вышел(а) из комнаты
[23:01:08] <pavelvat> Tehnick: 8.8 MB размер с RelWithDebInfo получился, с Release было 6 MB, что-то подозрительно мало, раньше было 150 MB.
[23:02:05] <Tehnick> pavelvat, норм. Там инфы по минимому.
[23:02:24] <pavelvat> так раньше то с флагом RelWithDebInfo было 150 MB
[23:02:36] <pavelvat> strip отключён
[23:03:06] <Tehnick> Ты с дебагом не перепутал?
[23:06:52] <pavelvat> нет, не перепутал, у нас на googlecode лежат debug сборки с RelWithDebInfo тогда Debug ещё не работал с айскальтом, если распаковать то там 150 MB.
[23:08:37] pavelvat вышел(а) из комнаты
[23:09:46] Tehnick вышел(а) из комнаты: Ушел.
[23:12:25] loooser_ru вошёл(а) в комнату
[23:15:29] <loooser_ru> в винде-7 IPv6 по дефолту включен и по дефолту же при отсутствии натива включается либо тередо либо 6to4 (в зависимости от отсутствия или наличия белого в4-адреса)
[23:16:51] <loooser_ru> при этом M$ не так давно отключила свой тередо-сервер, который по дефолту прописан в виндах...
[23:18:12] pavelvat вошёл(а) в комнату
[23:18:24] <pavelvat> tehnick: http://pastebin.com/Q3Eqe3We
[23:18:43] <pavelvat> no stack, сейчас попробую с daemon
[23:19:52] <pavelvat> кстати, где именно прописывать IP4 адрес в Psi+?
[23:22:00] <pavelvat> вот для daemon http://pastebin.com/yBEHhp23
[23:22:12] <pavelvat> попробую сейчас ещё собрать с Debug
[23:22:14] pavelvat вышел(а) из комнаты
[23:26:42] <loooser_ru> просто сними галочку IPv6 в свойствах сетевой
[23:27:05] <loooser_ru> чтоб сразу для всей винды
[23:28:38] <loooser_ru> хотя я не уверен, что дело в IPv6
[23:39:44] pavelvat вошёл(а) в комнату
[23:40:16] <pavelvat> с Debug тот же размер получился что и с RelWithDebInfo
[23:42:45] <pavelvat> либо это из-за того что сборка в MXE либо это изменения в GCC5.
[23:54:08] <pavelvat> нашёл причину почему без отладочной инфы собирается:
у меня при конфигурации используется это:
mxe/usr/i686-w64-mingw32.shared/share/cmake/mxe-conf.cmake
а в нём указано:
set(CMAKE_BUILD_TYPE Release)
[23:54:36] <pavelvat> в этом файле ещё и вот такое указано:
set(Boost_THREADAPI "win32")
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!