Summary: | sets SOCK_CLOEXEC flag unconditionally thus breaking apps running on old kernels | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Konstantin A Lepikhov (L.A. Kostis) <lakostis> | ||||
Component: | libneon | Assignee: | Valery Inozemtsev <shrek> | ||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||
Severity: | critical | ||||||
Priority: | P3 | CC: | enp, george, shrek | ||||
Version: | unstable | Keywords: | relnote | ||||
Hardware: | all | ||||||
OS: | Linux | ||||||
Attachments: |
|
Description
Konstantin A Lepikhov (L.A. Kostis)
2009-06-17 00:42:35 MSD
к сожалению, у меня нет под рукой x86_64 для проверки, потому нужна будет помощь. пока буду пытать googe да trunk, вдруг зафиксили. Increase priority according bug severity policy. -> cri, per policy *** Bug 20597 has been marked as a duplicate of this bug. *** Кстати, у меня это не x86_64-specific, на i586 воспроизвелось точно так же что характерно, баги почему-то не наблюдаю: $ rpm -qa | grep subversion subversion-python-1.6.0-alt3 libsubversion-1.6.0-alt3 subversion-1.6.0-alt3 $ rpm -q libneon libneon-0.28.4-alt1 по сути - сизиф от сегодняшнего числа $ uname -m x86_64 svn прекрасно отрабатывает: $ svn co http://madwifi-project.org/svn/madwifi/branches/madwifi-hal-0.10.5.6 madwifi A madwifi/net80211/_ieee80211.h A madwifi/net80211/ieee80211_node.c A madwifi/net80211/ieee80211.h ... i586. аналогично и с http://svn.callweaver.org/callweaver/branches/rel/1.2/ тоже все утягивается? [lakostis@virtualbox Documents]$ svn co http://madwifi-project.org/svn/madwifi/branches/madwifi-hal-0.10.5.6 madwifi svn: OPTIONS of 'http://madwifi-project.org/svn/madwifi/branches/madwifi-hal-0.10.5.6': could not connect to server (http://madwifi-project.org) [lakostis@virtualbox Documents]$ rpm -qa|fgrep libneon libneon-0.28.4-alt1 [lakostis@virtualbox Documents]$ rpm -qa|fgrep subversion subversion-1.6.0-alt3 libsubversion-1.6.0-alt3 [lakostis@virtualbox Documents]$ uname -m x86_64 (В ответ на комментарий №8) > и с http://svn.callweaver.org/callweaver/branches/rel/1.2/ тоже все > утягивается? да, и это тоже. пока я не понимаю, в чем проблема :( версии ядра и glibc какие? (В ответ на комментарий №11) > версии ядра и glibc какие? [lakostis@yalt64 ~]$ rpm -qa|fgrep glibc glibc-devel-2.10.1-alt4 glibc-core-2.10.1-alt4 glibc-preinstall-2.10.1-alt4 glibc-utils-2.10.1-alt4 glibc-nss-2.10.1-alt4 glibc-timezones-2.10.1-alt4 glibc-locales-2.10.1-alt4 glibc-2.10.1-alt4 glibc-kernheaders-2.6.29-alt3 glibc-pthread-2.10.1-alt4 glibc-gconv-modules-2.10.1-alt4 [lakostis@yalt64 ~]$ uname -a Linux yalt64.vps 2.6.24-23-openvz #1 SMP Thu Apr 2 00:25:58 UTC 2009 x86_64 GNU/Linux [enp@devel-i586 ~]$ rpm -qa | grep glibc glibc-timezones-2.10.1-alt3 glibc-nss-2.10.1-alt3 glibc-kernheaders-2.6.29-alt3 glibc-preinstall-2.10.1-alt3 glibc-gconv-modules-2.10.1-alt3 glibc-locales-2.10.1-alt3 glibc-devel-2.10.1-alt3 glibc-doc-2.10.1-alt3 glibc-core-2.10.1-alt3 glibc-pthread-2.10.1-alt3 glibc-utils-2.10.1-alt3 glibc-2.10.1-alt3 [enp@devel-i586 ~]$ uname -r 2.6.18-ovz-smp-alt26.M40.2 [enp@devel-i586 ~]$ rpm -qa | grep subversion subversion-perl-1.6.0-alt3 libsubversion-1.6.0-alt3 subversion-1.6.0-alt3 [enp@devel-i586 ~]$ rpm -qa | grep libneon libneon-0.28.3-alt2 Последнюю уже откатил, ибо надо же как-то работать ... Решил протестировать на текущем Сизифе: $ uname -rm 2.6.18-ovz-rhel-alt7 x86_64 $ hsh --ini && hsh-install subversion && hsh-run -- sh -c 'cd && svn co http://madwifi-project.org/svn/madwifi/branches/madwifi-hal-0.10.5.6' <13>Jun 27 10:19:56 rpmi: setup-2.2.12-alt1 installed [...] <13>Jun 27 10:20:41 rpmi: libneon-0.28.4-alt1 installed [...] <13>Jun 27 10:20:41 rpmi: subversion-1.6.0-alt3 installed A madwifi-hal-0.10.5.6/regression [...] Checked out revision 4066. Т.е. с первого раза воспроизвести не удалось. (В ответ на комментарий №14) > Решил протестировать на текущем Сизифе: > > $ uname -rm > 2.6.18-ovz-rhel-alt7 x86_64 > $ hsh --ini && hsh-install subversion && hsh-run -- sh -c 'cd && svn co > http://madwifi-project.org/svn/madwifi/branches/madwifi-hal-0.10.5.6' > <13>Jun 27 10:19:56 rpmi: setup-2.2.12-alt1 installed > [...] > <13>Jun 27 10:20:41 rpmi: libneon-0.28.4-alt1 installed > [...] > <13>Jun 27 10:20:41 rpmi: subversion-1.6.0-alt3 installed > A madwifi-hal-0.10.5.6/regression > [...] > Checked out revision 4066. > > Т.е. с первого раза воспроизвести не удалось. $ hsh --ini && hsh-install subversion && hsh-run -- sh -c 'cd && svn co http://madwifi-project.org/svn/madwifi/branches/madwifi-hal-0.10.5.6' ... <13>Jun 27 11:53:48 rpmi: libneon-0.28.4-alt1 installed ... <13>Jun 27 11:53:48 rpmi: libsubversion-1.6.0-alt3 installed <13>Jun 27 11:53:48 rpmi: subversion-1.6.0-alt3 installed svn: OPTIONS of 'http://madwifi-project.org/svn/madwifi/branches/madwifi-hal-0.10.5.6': could not connect to server (http://madwifi-project.org) $ uname -rm 2.6.26-ovz-smp-alt4 x86_64 Ща проверим и 2.6.27 из свежего сизифа. (В ответ на комментарий №15) > > Ща проверим и 2.6.27 из свежего сизифа. На 2.6.27-ovz-smp-alt7 не воспроизводится. Будем вешать баг в bugzilla.openvz.org Нет, похоже, баг все-таки в коде libneon - http://groups.google.com/group/linux.debian.bugs.dist/browse_thread/thread/2c2b252043a2618b/d11973af4f852a22?lnk=raot&pli=1 я не зря спрашивал версии ядра/glibc. могу положить в people src.rpm на попробовать (In reply to comment #18) > я не зря спрашивал версии ядра/glibc. могу положить в people src.rpm на > попробовать Давай ссылку на предполагаемый фикс, я посмотрю. (In reply to comment #18) > я не зря спрашивал версии ядра/glibc. могу положить в people src.rpm на > попробовать Если дело в SOCK_CLOEXEC, то его обычно тестирует и выставляет glibc'шный код. К сожалению, у меня под рукой нет ядра без поддержки SOCK_CLOEXEC, чтобы проверить. Нужен вывод команды $ strace -esocket svn co http://madwifi-project.org/svn/madwifi/branches/madwifi-hal-0.10.5.6 >/dev/null на ядре без поддержки SOCK_CLOEXEC (In reply to comment #21) > http://git.altlinux.org/people/shrek/packages/?p=neon.git;a=commitdiff;h=94cb410a51a288249a29d8ea88a743252fbedc3a В libneon'овом svn в бранче 0.28.x есть 2 правдоподобных коммита на эту тему. Думаю что лучше взять оба. (In reply to comment #20) > (In reply to comment #18) > > я не зря спрашивал версии ядра/glibc. могу положить в people src.rpm на > > попробовать > > Если дело в SOCK_CLOEXEC, то его обычно тестирует и выставляет glibc'шный код. В данном случае это самодеятельность libneon, исправленная в их svn. (В ответ на комментарий №20) > (In reply to comment #18) > > я не зря спрашивал версии ядра/glibc. могу положить в people src.rpm на > > попробовать > > Если дело в SOCK_CLOEXEC, то его обычно тестирует и выставляет glibc'шный код. > > К сожалению, у меня под рукой нет ядра без поддержки SOCK_CLOEXEC, чтобы > проверить. > > Нужен вывод команды > $ strace -esocket svn co > http://madwifi-project.org/svn/madwifi/branches/madwifi-hal-0.10.5.6 >/dev/null > на ядре без поддержки SOCK_CLOEXEC $ strace -esocket svn co http://madwifi-project.org/svn/madwifi/branches/madwifi-hal-0.10.5.6 > /dev/null socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 3 socket(PF_NETLINK, SOCK_RAW, 0) = 3 socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = -1 EINVAL (Invalid argument) socket(PF_FILE, SOCK_STREAM, 0) = 3 socket(PF_FILE, SOCK_STREAM, 0) = 3 socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = -1 EINVAL (Invalid argument) socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3 socket(PF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = -1 EINVAL (Invalid argument) svn: OPTIONS of 'http://madwifi-project.org/svn/madwifi/branches/madwifi-hal-0.10.5.6': could not connect to server (http://madwifi-project.org) libneon-0.28.4-alt2 -> sisyphus: * Sat Jun 27 2009 Valery Inozemtsev <shrek@altlinux> 0.28.4-alt2 - fixed forward compat with new-glibc/old kernel cases (closes: #20471) Not too fast: $ strace -esocket svn co http://madwifi-project.org/svn/madwifi/branches/madwifi-hal-0.10.5.6 > /dev/null socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 3 socket(PF_NETLINK, SOCK_RAW, 0) = 3 socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = -1 EINVAL (Invalid argument) socket(PF_FILE, SOCK_STREAM, 0) = 3 socket(PF_FILE, SOCK_STREAM, 0) = 3 socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = -1 EINVAL (Invalid argument) socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3 socket(PF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = -1 EINVAL (Invalid argument) svn: OPTIONS of 'http://madwifi-project.org/svn/madwifi/branches/madwifi-hal-0.10.5.6': could not connect to server (http://madwifi-project.org) $ rpm --lastchange libneon * Сбт Июн 27 2009 Valery Inozemtsev <shrek@altlinux.ru> 0.28.4-alt2 - fixed forward compat with new-glibc/old kernel cases (closes: #20471) $ uname -mr 2.6.24-23-openvz x86_64 (In reply to comment #26) > Not too fast: > > $ strace -esocket svn co > http://madwifi-project.org/svn/madwifi/branches/madwifi-hal-0.10.5.6 > > /dev/null > socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 3 > socket(PF_NETLINK, SOCK_RAW, 0) = 3 > socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = -1 EINVAL (Invalid > argument) > socket(PF_FILE, SOCK_STREAM, 0) = 3 > socket(PF_FILE, SOCK_STREAM, 0) = 3 > socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = -1 EINVAL (Invalid > argument) > socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3 This output definitely comes from libneon. > socket(PF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = -1 EINVAL (Invalid > argument) This output does not look like libneon's. What about more detailed strace log? Created attachment 3625 [details]
failed log
(В ответ на комментарий №28) > Created an attachment (id=3625) [details] > failed log Attached detailed strace output. It's still libneon error. 2shrek: Somehow you failed to apply the patch in specfile. Fixed in 0.28.4-alt3. |