Home
mc-dev
mc-dev@conference.jabber.ru
10.09.2011< ^ >

Тема: http://www.midnight-commander.org | Latest release: 4.8.0-pre1 | Latest stable release: 4.7.5.3
[06:57:33] BanderOS зашёл в конференцию
[06:58:29] BanderOS вышел из конференции
[07:08:00] BanderOS зашёл в конференцию
[08:01:18] iNode зашёл в конференцию
[08:49:43] theMIROn зашёл в конференцию
[09:35:35] <jphantom> как сконфигурировать mc через ./configure на сборку отладочной версии (с -O0 и без -s) ?
[09:56:29] il.smind зашёл в конференцию
[09:57:29] <il.smind > я всё интересное пропустил?
[10:05:37] <jphantom> кажется я нашел более короткую формулировку бага
[10:05:54] <jphantom> по ssh не принимаются файлы короче 64 байт включительно
[10:07:44] <jphantom> тест: сгенерировать пачку текстовых файлов длиной от 0 или 1 и до N, залить на другую машину, пытаться скачивать по ssh
[10:08:58] <jphantom> вот стек в месте подвисания:
==22008== Process terminating with default action of signal 15 (SIGTERM)
==22008== at 0x5A5C370: __read_nocancel (in /lib64/libpthread-2.11.2.so)
==22008== by 0x42DC5F: fish_linear_read (fish.c:1033)
==22008== by 0x427516: vfs_s_read (direntry.c:587)
==22008== by 0x421364: mc_read (vfs.c:904)
==22008== by 0x45841E: copy_file_file (file.c:1437)
==22008== by 0x459F10: panel_operate (file.c:2470)
==22008== by 0x44E79B: copy_cmd (cmd.c:811)
==22008== by 0x466390: midnight_execute_cmd (midnight.c:1061)
==22008== by 0x419931: buttonbar_callback (buttonbar.c:150)
==22008== by 0x42B624: dlg_process_event (widget-common.h:132)
==22008== by 0x42B9D8: run_dlg (dialog.c:529)
==22008== by 0x467695: do_nc (midnight.c:881)
[10:09:16] <jphantom> запускал под valgring прибил по sigterm
[10:10:36] <jphantom> gdb также показывает что у fish_linear_read() в параметрах стоит на 8 меньшая длина, чем длина файла (хотя это м\б не всегда, т.е. не для всех файлов именно такое значение)
[10:11:42] <jphantom> напомню, что именно 8 байт псевдомусора "### 200\n" пишется в принимаемый файл вместо его содержимого
[10:11:54] <jphantom> возможно это как-то связано
[10:13:46] <jphantom> сам mc при сборке оптимизировался и gdb ничего в этой части стека не показал, а как autotools перестроить на дебажную сборку я не в курсе
[10:22:36] <jphantom> возможно глюк даже не в mc, а где-то в fish, либо в мс на стыке в fish, строка "### 200\n" по описанию является частью протокола fish и передается после данных
[12:23:21] <il.smind > может есть желание потестить sftp?
[12:36:12] ilia maslakov зашёл в конференцию
[13:12:26] <jphantom> sftp эти же файлы успешно забирает
[13:14:07] <jphantom> в смысле никсовый sftp клиент
[13:14:22] <jphantom> что там внутри mc я не знаю
[13:15:58] ilia maslakov вышел из конференции
[13:16:57] ilia maslakov зашёл в конференцию
[13:16:59] <il.smind > нене sftp в mc
[13:17:26] <il.smind > надо собрать бранч
[13:17:39] <jphantom> вы как mc отлаживаете, в чем?
[13:18:51] <jphantom> ide и т.п.
[13:19:55] <il.smind > https://www.midnight-commander.org/ticket/1535
[13:20:16] <il.smind > jphantom: нене
[13:20:25] <il.smind > 2 варианта
[13:20:48] <il.smind > добавлять mc_log ()
[13:21:11] <il.smind > или в gdb
[13:22:52] <il.smind > если есть желание поковыряться с fish
[13:23:06] <il.smind > то надо отладку включить
[13:24:57] <jphantom> понятно, только по логам...
[13:25:19] <il.smind > не
[13:25:26] <il.smind > либо gdb
[13:25:34] <il.smind > но я логами пользуюсь
[13:25:48] <jphantom> голый gdb это та еще жесть
[13:26:12] <il.smind > да не, почему?
[13:26:24] <jphantom> как отладочную сборку то включить?
[13:26:41] <il.smind > в фиш?
[13:26:56] <jphantom> вообще, чтобы ничего не оптимизировалось и не стрипалось
[13:28:43] <il.smind > make CFLAGS=-ggdb3 # here it is!
[13:29:06] <il.smind > тут вот про https://www.midnight-commander.org/wiki/doc/tracingCrash
[13:29:35] <jphantom> это прекрывает настройки в автоматически сгенерированных makefile-ах ?
[13:29:55] <il.smind > эм
[13:30:02] <il.smind > думаю да
[13:38:18] il.smind вышел из конференции
[13:53:36] <jphantom> интересная вещь происходит в fish.c
[13:56:33] <jphantom> при первом же входе в fish_linear_read, если принимается файл в 64 байта или короче, то сразу на fish.c:1033 read() возвращает 8 - длину завершающей передачу строки протокола (### 200), данные вообще не приходят! mc зацикливается пытаясь слупить с сокета остальные байты, а их там _уже_ нет.
[13:57:45] il.smind зашёл в конференцию
[13:58:06] <il.smind > ща..
[14:00:56] <il.smind > еще раз версию скажи
[14:01:00] <il.smind > мц
[14:02:41] <il.smind > отладку фиш включи
[14:03:35] <il.smind > в fish.c найди "Simple FISH debug interface"
[14:03:51] <il.smind > надо там убрать
#if 0
[14:04:05] <il.smind > и убрать
#endif
[14:04:32] <il.smind > тогда будет создаваться отладочный лог
[14:05:51] <jphantom> bdd3893d1e6b0dfefa8cc9b69af9a3dd1df47897
[14:06:24] <jphantom> последняя стабильная ревизия
[14:07:00] andrew_b зашёл в конференцию
[14:11:08] <jphantom> что то не может слинковать vfs_* с включеной отладкой фиша
[14:11:32] <jphantom> ftpfs.c куча undefined reference
[14:12:13] <jphantom> какая либа звбыта?
[14:13:53] <il.smind > <jphantom> последняя стабильная ревизия
ась?
[14:14:06] <jphantom> да
[14:14:07] <il.smind > т.е тут всё ок быбо?
[14:14:15] <il.smind > да?
[14:14:23] <jphantom> не, нигде ок не было
[14:15:16] <il.smind > jphantom> не, нигде ок не было
т.е. всегда было плохо?
[14:15:38] <il.smind > а... у тебя последняя
[14:15:48] <il.smind > вот эта bdd3893d1e6b0dfefa8cc9b69af9a3dd1df47897
[14:15:51] <il.smind > да?
[14:15:52] <andrew_b> $ git show bdd3893d1e6b0dfefa8cc9b69af9a3dd1df47897
fatal: bad object bdd3893d1e6b0dfefa8cc9b69af9a3dd1df47897
[14:16:03] <jphantom> да, она
[14:16:07] <andrew_b> Шо за bdd3893d1e6b0dfefa8cc9b69af9a3dd1df47897?
[14:16:38] <andrew_b> Нету такого.
[14:16:56] <jphantom> FIXFOR: Set logfile for smbfs using mc_setctl()
Author Slava Zanko<slavazanko@gmail.com>
Author date 9/9/11 2:58 PM
Parent (try_complete): fixed warinig:
Child Working dir changes
Follows 4.7.5.3 (Avoided warning message about non-existent maint/version....)
FIXFOR: Set logfile for smbfs using mc_setctl()
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
[14:17:42] <jphantom> а эта есть ( 033ccc4510505ab23c445563eb0cc81ca6982764 )?
[14:18:04] <andrew_b> Эта есть.
[14:18:15] <jphantom> эта с тегом
[14:18:16] <andrew_b> git branch что говорит?
[14:20:25] <jphantom> ну у меня это master
[14:20:54] <il.smind > я просто тут с сыном лего собираю
[14:21:13] <il.smind > git pull
[14:21:25] <il.smind > git reset --hard origin/master
[14:22:11] <jphantom> дык это уже 4.8.0-pre2
[14:23:29] <andrew_b> Там мы смотрим бранч или стабильную ветку?
[14:23:34] <andrew_b> Хотя пофигу.
[14:23:43] <jphantom> если в 4.8 вопиющих багов нет, то я переключуюсь на нее
[14:23:52] <andrew_b> В фише разницы нет.
[14:24:00] <jphantom> а в остальном?
[14:24:52] <andrew_b> В остальном различия большие.
[14:25:31] <andrew_b> Хотя, в vfs многое переписано.
[14:25:49] <andrew_b> Лучше пока остаться на 4.7.5-stable.
[14:27:23] <jphantom> ок, я тогда сейчас проверю еще последнюю ревизию в нестабильной ветке
[14:31:40] <jphantom> config.status: error: cannot find input file: `lib/vfs/mc-vfs/Makefile.in'
[14:32:10] <jphantom> autogen?
[14:32:18] <andrew_b> Угу.
[14:55:06] <andrew_b> slavazanko/w: аууу!!!111
[14:58:42] <jphantom> в этой ветке все то же самое
[15:00:20] <il.smind > можно увидеть git log
[15:00:21] <jphantom> если файл длиной хотя бы 65 байт, в fish.c:1071 read() принимает данные и возвращает их длину 65, но если файл 64 байта или короче, read() возвращает 8 и пишет в данные строку протокола, вместо рального содержимого файла
[15:01:36] <jphantom> в общем баг успешно пережил все коммиты
[15:02:06] <jphantom> вот только чей это баг становится как то не совсем понятно
[15:05:10] BanderOS вышел из конференции
[15:07:36] BanderOS зашёл в конференцию
[15:10:38] <andrew_b> У меня локально нет таких проблем.
[15:10:54] <andrew_b> Файл в 43 байта успешно скачался.
[15:14:43] <jphantom> может ssh сервер кривой?
[15:17:50] <jphantom> "там" стоит centos 5.6
[15:24:37] <jphantom> да, кажется с серваком не все в порядке...
[15:26:14] <jphantom> или с подготовкой к копированию
[15:28:06] <jphantom> по локалке с другой машины тоже нормально скачалось
[15:28:53] <jphantom> кто-то кушает данные по дороге что ли? :-\
[15:35:02] BanderOS вышел из конференции
[15:55:09] <jphantom> мда... strace говорит что данные действительно не доходят
[15:57:24] <jphantom> для 64-байтного файла сервер сначала посылает "64\n### 100\n" и тут же дважды (!!) "###200\n", mc пытается сделать read() из сокета с длиной 64, но получает только 8-байтную служебку
[15:57:36] <jphantom> ой, не дважды
[15:57:45] <jphantom> один раз, но данные файла не послает
[16:04:17] <jphantom> мистика
[16:14:05] <jphantom> хотя нет, если sftp файлы принимает, значит червер их отдает нормально
[16:14:16] <jphantom> тогда проблема в fish
[16:35:22] <il.smind > jphantom: ты отладку включил в фиш?
[16:36:48] <il.smind > мне к сожалению сейчас не очень удобно вникать
[16:37:01] <il.smind > могу или вечером в 10
[16:37:26] <il.smind > или в понедельник с 9 утра помочь разобраться
[16:37:54] <il.smind > но ты так и не показал вывод git log
[16:38:07] <il.smind > хочется на него глянуть
[16:41:43] <jphantom> не получилось. на стабильной ветке у меня mc с включеной отладкой фиша не слинковался, а потом я переключился на нестабильную ветку
[16:43:09] <jphantom> сейчас вот тут
commit 4df0e1cfbf6131c7695710670f323133d382913b
Author: Slava Zanko <slavazanko@gmail.com>
Date: Fri Sep 9 16:30:07 2011 +0300

Updated NEWS for 4.8.0-pre2 release.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
[16:45:16] <jphantom> il.smind: в общем я пока пришел к выводу, что проблема в комбинации фиша и одной конкретной машины под centos
[16:46:18] <jphantom> отдельно в mc есть только доверчивость к данным и надежда на добропоряодчность сервера :)
[16:52:55] <jphantom> btw, а что там насчет sftp в mc ?
[16:54:48] <jphantom> я так понял что с фишем это немного разные вещи
[16:56:30] <il.smind > да не...
[16:58:51] <il.smind > так вот
[16:59:06] <il.smind > надо включить отладку в коде
[16:59:27] <il.smind > фиша
[16:59:36] <il.smind > включил?
[17:03:03] <jphantom> да
[17:07:42] <il.smind > можно глянуть кусок отладки?
[17:12:20] <jphantom> куда оно писать должно?
[17:16:08] <jphantom> /tmp/mc-FISH.sh ?
[17:16:40] <il.smind > эм...
[17:16:56] <jphantom> последние строчки перед повешаньем:
64\n
### 100\n
[17:17:18] <il.smind > нене
[17:17:36] <il.smind > переменные среды интересуют
[17:18:13] <il.smind > последние пару скриптов можно глянуть?
[17:19:21] <jphantom> т.е. куски этого /tmp/mc-FISH.sh ?
[17:20:32] <jphantom> откуда отладочный вывод брать?
[17:20:42] <jphantom> я не понял
[17:24:20] <il.smind > дак вроде от туда
[17:24:26] <il.smind > там только один файл
[17:25:06] <il.smind > я бы глянул но я тут одной рукой с сыном собираю самолёт а второй уроки дочери проверяю
[17:25:19] <il.smind > /tmp/mc-FISH.sh очень похоже
[17:28:21] <il.smind > последних 30-40 строк из него бы посмотреть
[17:33:14] <il.smind > ау
[17:33:51] <jphantom> там фарш какой то из функций
[17:34:03] <il.smind > да
[17:34:09] <il.smind > давай фарш
[17:34:30] <il.smind > лучше через fpaste
[17:35:05] <il.smind > echo > /tmp/mc-FISH.sh
запускаем mc
[17:35:14] <il.smind > копируем
[17:35:22] <il.smind > виснет
[17:35:46] <il.smind > cat /tmp/mc-FISH.sh |fpaste
[17:36:58] <jphantom> отправиол в личку
[17:48:58] <il.smind > ага смотрю
[17:49:26] <il.smind > вывод mc -f
[17:49:54] <il.smind > и mc -F
[18:19:48] <andrew_b> Предлагаю 2338 таки втолкнуть в уходящие вагоны релизов.
[18:24:24] <il.smind > обоснуй
[18:32:30] <slavazanko/w> 15:55:06) andrew_b: slavazanko/w: аууу!!!111
я тут. Целый день носился по городу, машину переобувал
[18:32:35] <slavazanko/w> что случилось?
[18:33:04] <il.smind > у вас снег?
[18:34:22] <slavazanko/w> нет. У нас сегодня было +20. Завтро будет +22...24
[18:34:30] <slavazanko/w> а что?
[18:37:00] <il.smind > зачем переобуваться?
[18:41:58] <il.smind > slavazanko/w: эта
[18:55:14] il.smind вышел из конференции
[18:55:47] il.smind зашёл в конференцию
[18:55:48] <andrew_b> slavazanko/w: херово всё.
[18:55:59] <andrew_b> Тарбол не собирается.
[18:56:00] <il.smind > да
[18:56:12] <il.smind > это я и хотел сказать
[18:57:00] <andrew_b> Последний мой русский перевод с этого грёбаного Трансифекса похерился.
[18:57:31] <il.smind > вот суки
[19:09:37] <slavazanko/w> как именно перевод похерился?
перевод был на трансифексе сделан?
[19:09:48] <andrew_b> Конечно нет.
[19:09:56] <slavazanko/w> тарболл не собирается - ща проверю
[19:09:59] <andrew_b> Перевод был сделан в репе.
[19:10:18] <slavazanko/w> Блин. Понятно. Ща воостановлю
[19:10:33] <andrew_b> Я сам.
[19:11:16] <andrew_b> Предлагаю не спешить с релизом и подождать до завтра или до понедельника.
[19:11:25] <andrew_b> А то мало ли...
[19:11:45] <slavazanko/w> угу, согласен. Сейчас не спеша косячки подправим
[19:13:03] <andrew_b> Логи вчерашние почитай. Я там патч приводил.
[19:13:25] <andrew_b> И вроде бы patchsetfs должен быть patchsetfs+
[19:13:38] <andrew_b> Это же не файловая vfs.
[19:13:45] <slavazanko/w> make[5]: *** Нет правила для сборки цели `changesetfs', требуемой для `all-am'. Останов.
[19:13:47] <andrew_b> По аналогии с rpms+
[19:14:04] <slavazanko/w> наверное, да
[19:16:29] <slavazanko/w> прямой коммит в мастер?
[19:17:05] <andrew_b> Да.
[19:17:15] <slavazanko/w> ок
[19:24:00] <jphantom> бага с передачей файлов побеждена
[19:24:15] <slavazanko/w> ??
[19:24:18] <slavazanko/w> как?
[19:24:21] <jphantom> diff --git a/src/vfs/fish/helpers/get b/src/vfs/fish/helpers/get
index edfca5c..762267a 100755
--- a/src/vfs/fish/helpers/get
+++ b/src/vfs/fish/helpers/get
@@ -23,7 +23,7 @@ if (open IFILE,$filename) {
}
printf("### 100\n");
seek (IFILE, $pos, 0);
- while ($n = read(IFILE,$content,$blocks)!= 0) {
+ while ($n = read(IFILE,$content,$blksize)!= 0) {
print $content;
}
close IFILE;
[19:24:50] <jphantom> скрипт глотал короткие файлы
[19:25:16] <slavazanko/w> жесть. Автора на мыло.
[19:26:44] <jphantom> не, не надо на мыло, он хороший :)
[19:28:14] <slavazanko/w> ну ладно, пусть живёт.
[19:39:24] <jphantom> патчик прицепите кто-нибудь пока не забыли, плз
[19:39:44] <il.smind > я же теюя просил прицепить :)
[19:39:46] <il.smind > ок
[19:39:47] <slavazanko/w> да, я уже создаю тикет. Спасибо большое за исследование и за фикс
[19:39:57] <il.smind > я запушу фикс
[19:40:06] <slavazanko/w> тикет сначала надо
[19:41:37] <jphantom> il:smind: еще багу найду - тогда зарегаюсь
[19:43:43] <slavazanko/w> https://www.midnight-commander.org/ticket/2605
Илья, бранчуй
[19:46:07] <andrew_b> 2338 предлагаю в релизы.
Во-первых, неаккуратненько. когда переполнение происходит.
Во-вторых, я там строки поменял. А вроде как договорились заморозить их.
[19:46:54] <slavazanko/w> ну тады навалимся и вольём. 2605 тоже предлагаю влить
[19:50:35] <slavazanko/w> посмотрите ещё одним глазом DEV_extfs_fix
Это чтобы в мастере если что не рабезировать надцать раз. Я всё правильно сделал с changersetfs и patchsetfs?
[19:52:42] <Зося Синицкая> RSS: Новости для Midnight Commander
• Ticket #2605 (FISH: mc hangs while copy lot of small files) created
http://www.midnight-commander.org/ticket/2605
• Ticket #2605 (FISH: mc hangs while copy lot of small files) updated
http://www.midnight-commander.org/ticket/2605#comment:1
[19:56:17] <slavazanko/w> по поводу 2338: а чего патч по расширению интовых полей до off_t не принимается?
[19:57:05] <andrew_b> uintmax_t
[19:57:15] <slavazanko/w> ага, уже вижу
[19:57:40] <andrew_b> DEV_extfs_fix: а чёйта patchsetfs+.in вдруг in стал?
[19:57:48] <slavazanko/w> да, кажись uintmax_t более правильное решение. Беззнаковое к тому же
[19:58:17] <slavazanko/w> > а чёйта patchsetfs+.in вдруг in стал
ну.. по аналогии с rpms+
[19:58:33] <andrew_b> Да не...
[19:58:48] <andrew_b> .in, если там замену надо деать какую.
[19:58:54] <slavazanko/w> угу
[19:58:59] <andrew_b> А там вроде ничего не делается.
[19:59:04] <slavazanko/w> ну ладно, ща переделаю
[20:01:08] <andrew_b> А changesetfs не надо с плюсом?
[20:03:36] <andrew_b> Шо-то не работает...
[20:03:49] <slavazanko/w> ?
[20:03:50] <andrew_b> cd changesetfs://
[20:06:00] <andrew_b> А, блин.
[20:06:08] <andrew_b> Сначала надо cd gitfs://
[20:06:29] <andrew_b> Его, кстати, тоже с плюсом.
[20:06:42] <slavazanko/w> понял
[20:07:43] <andrew_b> cd gitfs:// не работает.
[20:08:07] <andrew_b> Без плюса
[20:08:54] <slavazanko/w> ща.. у себя допроверю и запушу
[20:11:33] <andrew_b> Кто аффтар этих changesetfs и patchsetfs ?
[20:13:33] <andrew_b> В них виснем напрочь.
[20:14:19] <andrew_b> Причём нагрузки на процессор нет.
[20:14:34] <andrew_b> Словно чего-то ждём.
[20:17:39] <andrew_b> Ладно, пойду я...
[20:17:44] andrew_b вышел из конференции
[20:22:49] <il.smind > >Илья, бранчуй
бранчевать что?
[20:33:03] <jphantom> есть еще один момент с передачей файлов через ssh (FISH), но на этот раз уже с закачкой. по разным причинам mc может оставлять за собой в /tmp копии передаваемых файлов (недокачаных ?) и постепенно забивает ими весь /tmp. можно что-нибудь придумать насчет очистки "своих" ошметков из /tmp. например, регулярно вычищать их не кэшировать их туда...
[20:34:12] <jphantom> в 4.8.x как с этим?
[20:37:13] <slavazanko/w> > (20:39:47) slavazanko/w: да, я уже создаю тикет. Спасибо большое за исследование и за фикс
> (20:39:58) il.smind : я запушу фикс
2605
[20:37:44] <slavazanko/w> в 4.8.0 будет также. Фиш мы кардинально не трогали
[20:39:07] <slavazanko/w> > (21:17:39) andrew_b: Ладно, пойду я...
> (21:17:44) andrew_b вышел из комнаты.
апупеть. Я, блин, сидел, старался... дже когда срать припёрло - и то тужился, чтобы быстрее Андрюху удовлетворить... а он всял и свалил. Я в печали
[20:45:04] <slavazanko/w> мощно запушил DEV_extfs_fix
Тарболлы, созданные из бранча, собираются. Гитфс работает.
Жду одобрямс перед прямым коммитом в мастер
[21:13:52] <il.smind > slavazanko/w: ну я имел ввиду этот как его... клинап
[21:15:57] <il.smind > хотя ладно давайте в следующий релиз
[21:16:27] <il.smind > ладно забранчую
[22:43:42] il.smind вышел из конференции
[23:14:32] il.smind зашёл в конференцию
Powered by freQ Powered by Python Valid XHTML 1.0 Transitional Valid CSS!