Linux за българи: Форуми

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: astronom в Jul 20, 2010, 19:29



Титла: [SOLVED] Slackware 13.1 snmpd 5.5 segmentation fault in libc 2.11.1
Публикувано от: astronom в Jul 20, 2010, 19:29
След надграждане от Slackware 13.0 до Slackware 13.1 забелязах, че snmpd е спрял да работи. Причината е, че се получава segmentation fault в glibc. Това което намирам в /var/log/messages е:

Код:
kernel: snmpd[1728]: segfault at 1d1e9 ip b73be760 sp bff96eb0 error 4 in libc-2.11.1.so[b7345000+15c000]

strace не ми помага много:

Код:
... [many lines removed]
open("/proc/net/dev", O_RDONLY|O_LARGEFILE) = 6
read(6, "Inter-|   Receive                "..., 1024) = 833
... [many lines removed]
open("/proc/sys/net/ipv4/neigh/tun0/retrans_time_ms", O_RDONLY|O_LARGEFILE) = 8
fstat64(8, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77a5000
read(8, "1000\n"..., 1024)              = 5
close(8)                                = 0
munmap(0xb77a5000, 4096)                = 0
read(6, ""..., 1024)                    = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

Преди да прекомпилирам snmpd и glibc с debug info и да пусна gdb, дали има някой който вече е срещал и решил този проблем? Аз лично се изчерпах от към идеи, рових в google ($2) но не намерих нищо конкретно.

Интересното е, че на чиста инсталация този проблем не съществува, но конфигурацията ми не е сменяна с години и е напълно стандартна:

Код:
# cat /etc/snmp/snmpd.conf | grep -v -E '^#' | grep -v -E '^$'
rwuser  root
rouser  public
rocommunity  public
rwcommunity  private
trapsink  localhost public 161
trap2sink  localhost public 161
informsink  localhost public 161
trapcommunity  public
authtrapenable  1
sysname      "MySysName"
syslocation  "Sofia, Bulgaria"
syscontact   "me@domain.com"
sysservices 72

Версия на snmpd: Net-SNMP 5.5
Версия на glibc: 2.11.1


Титла: Re: Slackware 13.1 snmpd segmentation fault in libc 2.11.1
Публикувано от: astronom в Sep 20, 2010, 23:54
Мда... наложи се да дебъгна и като го направих, проблема лесно беше установен. В действителност се оказа бъг самия Net-SNMP ($2), който обаче се проявява само при наличието на tun* интерфейси (напр. когато е стартиран openvpn, vtun и т.н). За любопитните подробностите са описани тук ($2).


Титла: Re: [SOLVED] Slackware 13.1 snmpd 5.5 segmentation fault in libc 2.11.1
Публикувано от: astronom в Sep 21, 2010, 02:21
Писах и на Патрик ($2) да приложи кръпката в официалния пакет ($2). За нетърпеливите, вече има такъв ($2) в собственото ми хранилище.