Ошибка сегментирования при SNMP-запросе
-
Здравствуйте.
Поступил к нам в коллекцию свитч D-Link DGS-3612. Добавил его в NetXMS, запросил конфигурацию и — netxmsd упал. Запустил с ключом -D 9, ниже последние строки перед вылетом:
[30-May-2011 03:11:01] [CLSN-0] Received message CMD_POLL_NODE [30-May-2011 03:11:01] [CLSN-0] Sending message CMD_POLLING_INFO [30-May-2011 03:11:01] Starting configuration poll for node srv-room-sw10-DGS-3612 (ID: 983) [30-May-2011 03:11:01] ConfPoll(srv-room-sw10-DGS-3612): checking for NetXMS agent Flags={02000000} DynamicFlags={00000400} [30-May-2011 03:11:01] ConfPoll(srv-room-sw10-DGS-3612): calling SnmpCheckCommSettings() [30-May-2011 03:11:01] [CLSN-0] Sending message CMD_POLLING_INFO [30-May-2011 03:11:01] [CLSN-0] Sending message CMD_POLLING_INFO [30-May-2011 03:11:01] [CLSN-0] Sending message CMD_POLLING_INFO [30-May-2011 03:11:01] Successful sync query: "SELECT user_name,auth_method,priv_method,auth_password,priv_password FROM usm_credentials" [0 ms] [30-May-2011 03:11:01] SnmpCheckV3CommSettings: failed [30-May-2011 03:11:01] Successful sync query: "SELECT var_value FROM config WHERE var_name='DefaultCommunityString'" [0 ms] [30-May-2011 03:11:01] SnmpCheckCommSettings: trying version 1 community 'public' [30-May-2011 03:11:01] [CLSN-0] Sending message CMD_POLLING_INFO [30-May-2011 03:11:01] [CLSN-0] Sending message CMD_POLLING_INFO [30-May-2011 03:11:01] [CLSN-0] Sending message CMD_POLLING_INFO [30-May-2011 03:11:01] [CLSN-0] Sending message CMD_POLLING_INFO [30-May-2011 03:11:01] ConfPoll(srv-room-sw10-DGS-3612): checking for CheckPoint SNMP on port 260 [30-May-2011 03:11:01] EVENT 13 (F:0x0000 S:0) FROM srv-room-sw10-DGS-3612: Node capabilities changed (Old: 0x02000000; New: 0x0200184D) [30-May-2011 03:11:01] [CLSN-0] Sending message CMD_POLLING_INFO [30-May-2011 03:11:01] [CLSN-0] Sending message CMD_POLLING_INFO [30-May-2011 03:11:01] Successful sync query: "SELECT var_value FROM config WHERE var_name='UseIfXTable'" [0 ms] [30-May-2011 03:11:01] Successful sync query: "SELECT var_value FROM config WHERE var_name='UseInterfaceAliases'" [0 ms] Ошибка сегментированияСейчас он стоит с галкой в конфигурации "Не опрашивать по SNMP", иначе NetXMS падает. Ужасно хотелось бы разобраться, что такого там происходит.
Версия NetXMS — 1.0.11
-
Ещё на всякий случай уточнение. Проблема проявилась на версии 0.2.31. На удачу решил обновиться, но не помогло.
-
А что выдают следующие запросы:
nxsnmpget -c community device_ip .1.3.6.1.2.1.2.1.0
nxsnmpwalk -c community device_ip .1.3.6.1.2.1.2.2.1.1
nxsnmpwalk -c community device_ip .1.3.6.1.2.1.31.1.1.1.18
nxsnmpwalk -c community device_ip .1.3.6.1.2.1.31.1.1.1.1
nxsnmpwalk -c community device_ip .1.3.6.1.2.1.2.2.1.2?
-
nxsnmpwalk -c public 192.168.10.44 .1.3.6.1.2.1.2.1.0 -- Ничего не выдал -- nxsnmpwalk -c public 192.168.10.44 .1.3.6.1.2.1.2.2.1.1 .1.3.6.1.2.1.2.2.1.1.1 [INTEGER]: 1 .1.3.6.1.2.1.2.2.1.1.2 [INTEGER]: 2 .1.3.6.1.2.1.2.2.1.1.3 [INTEGER]: 3 .1.3.6.1.2.1.2.2.1.1.4 [INTEGER]: 4 .1.3.6.1.2.1.2.2.1.1.5 [INTEGER]: 5 .1.3.6.1.2.1.2.2.1.1.6 [INTEGER]: 6 .1.3.6.1.2.1.2.2.1.1.7 [INTEGER]: 7 .1.3.6.1.2.1.2.2.1.1.8 [INTEGER]: 8 .1.3.6.1.2.1.2.2.1.1.9 [INTEGER]: 9 .1.3.6.1.2.1.2.2.1.1.10 [INTEGER]: 10 .1.3.6.1.2.1.2.2.1.1.11 [INTEGER]: 11 .1.3.6.1.2.1.2.2.1.1.12 [INTEGER]: 12 .1.3.6.1.2.1.2.2.1.1.1024 [INTEGER]: 1024 .1.3.6.1.2.1.2.2.1.1.5121 [INTEGER]: 5121 nxsnmpwalk -c public 192.168.10.44 .1.3.6.1.2.1.31.1.1.1.18 .1.3.6.1.2.1.31.1.1.1.18.1 [STRING]: .1.3.6.1.2.1.31.1.1.1.18.2 [STRING]: .1.3.6.1.2.1.31.1.1.1.18.3 [STRING]: .1.3.6.1.2.1.31.1.1.1.18.4 [STRING]: .1.3.6.1.2.1.31.1.1.1.18.5 [STRING]: .1.3.6.1.2.1.31.1.1.1.18.6 [STRING]: .1.3.6.1.2.1.31.1.1.1.18.7 [STRING]: .1.3.6.1.2.1.31.1.1.1.18.8 [STRING]: .1.3.6.1.2.1.31.1.1.1.18.9 [STRING]: .1.3.6.1.2.1.31.1.1.1.18.10 [STRING]: .1.3.6.1.2.1.31.1.1.1.18.11 [STRING]: .1.3.6.1.2.1.31.1.1.1.18.12 [STRING]: .1.3.6.1.2.1.31.1.1.1.18.1024 [STRING]: .1.3.6.1.2.1.31.1.1.1.18.5121 [STRING]: nxsnmpwalk -c public 192.168.10.44 .1.3.6.1.2.1.31.1.1.1.1 .1.3.6.1.2.1.31.1.1.1.1.1 [STRING]: 1/1 .1.3.6.1.2.1.31.1.1.1.1.2 [STRING]: 1/2 .1.3.6.1.2.1.31.1.1.1.1.3 [STRING]: 1/3 .1.3.6.1.2.1.31.1.1.1.1.4 [STRING]: 1/4 .1.3.6.1.2.1.31.1.1.1.1.5 [STRING]: 1/5 .1.3.6.1.2.1.31.1.1.1.1.6 [STRING]: 1/6 .1.3.6.1.2.1.31.1.1.1.1.7 [STRING]: 1/7 .1.3.6.1.2.1.31.1.1.1.1.8 [STRING]: 1/8 .1.3.6.1.2.1.31.1.1.1.1.9 [STRING]: 1/9 .1.3.6.1.2.1.31.1.1.1.1.10 [STRING]: 1/10 .1.3.6.1.2.1.31.1.1.1.1.11 [STRING]: 1/11 .1.3.6.1.2.1.31.1.1.1.1.12 [STRING]: 1/12 .1.3.6.1.2.1.31.1.1.1.1.1024 [STRING]: 802.1Q Encapsulation Tag 0001 .1.3.6.1.2.1.31.1.1.1.1.5121 [STRING]: System nxsnmpwalk -c public 192.168.10.44 .1.3.6.1.2.1.2.2.1.2 .1.3.6.1.2.1.2.2.1.2.1 [STRING]: RMON Port 1 on Unit 1 .1.3.6.1.2.1.2.2.1.2.2 [STRING]: RMON Port 2 on Unit 1 .1.3.6.1.2.1.2.2.1.2.3 [STRING]: RMON Port 3 on Unit 1 .1.3.6.1.2.1.2.2.1.2.4 [STRING]: RMON Port 4 on Unit 1 .1.3.6.1.2.1.2.2.1.2.5 [STRING]: RMON Port 5 on Unit 1 .1.3.6.1.2.1.2.2.1.2.6 [STRING]: RMON Port 6 on Unit 1 .1.3.6.1.2.1.2.2.1.2.7 [STRING]: RMON Port 7 on Unit 1 .1.3.6.1.2.1.2.2.1.2.8 [STRING]: RMON Port 8 on Unit 1 .1.3.6.1.2.1.2.2.1.2.9 [STRING]: RMON Port 9 on Unit 1 .1.3.6.1.2.1.2.2.1.2.10 [STRING]: RMON Port 10 on Unit 1 .1.3.6.1.2.1.2.2.1.2.11 [STRING]: RMON Port 11 on Unit 1 .1.3.6.1.2.1.2.2.1.2.12 [STRING]: RMON Port 12 on Unit 1 .1.3.6.1.2.1.2.2.1.2.1024 [STRING]: 802.1Q Encapsulation Tag 0001 .1.3.6.1.2.1.2.2.1.2.5121 [STRING]: rif0(192.168.10.44) -
Pervaja komanda dolzna bila bit' nxsnmpget, a ne nxsnmpwalk.
-
Esche vopros - esli mozno, zapustite netxmsd pod gdb:
gdb netxmsd
poluchite prompt gdb>
tam komanda
run
posle crasha budet obpjat' prompt gdb>
napishite komandu
bt
i prishlite rezul'tat.
-
@victor said in Ошибка сегментирования при SNMP-запросе:
Pervaja komanda dolzna bila bit' nxsnmpget, a ne nxsnmpwalk.
Прошу прощения, вот результат nxsnmpget:
nxsnmpget -c public 192.168.10.44 .1.3.6.1.2.1.2.1.0 .1.3.6.1.2.1.2.1.0 [INTEGER]: -742@victor said in Ошибка сегментирования при SNMP-запросе:
Esche vopros - esli mozno, zapustite netxmsd pod gdb:
gdb netxmsd
poluchite prompt gdb>
tam komanda
run
posle crasha budet obpjat' prompt gdb>
napishite komandu
bt
i prishlite rezul'tat.
Вот результат выполнения:
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xaa053b90 (LWP 1317)] 0xb7304867 in memset () from /lib/i686/cmov/libc.so.6 (gdb) bt #0 0xb7304867 in memset () from /lib/i686/cmov/libc.so.6 #1 0xb76303a7 in SnmpGetInterfaceList (dwVersion=1, pTransport=0x8587cf8, node=0x82ca968, useIfXTable=1) at snmp.cpp:409 #2 0xb75fb046 in Node::getInterfaceList (this=0x82ca968) at node.cpp:493 #3 0xb75ff970 in Node::updateInterfaceConfiguration (this=0x82ca968, dwRqId=17, dwNetMask=0) at node.cpp:1732 #4 0xb7600922 in Node::configurationPoll (this=0x82ca968, pSession=0x864c320, dwRqId=17, nPoller=-1, dwNetMask=0) at node.cpp:1647 #5 0xb7620c30 in ClientSession::pollerThread (this=0x864c320, pNode=0x82ca968, iPollType=2, dwRqId=17) at session.cpp:4444 #6 0xb7620c79 in ClientSession::PollerThreadStarter (pArg=0xb692cac0) at session.cpp:220 #7 0xb75104c0 in start_thread () from /lib/i686/cmov/libpthread.so.0 #8 0xb736d84e in clone () from /lib/i686/cmov/libc.so.6 -
Poprobujte zamenit' src/server/core/snmp.cpp na prilozennij i peresobrat' server.
OID .1.3.6.1.2.1.2.1.0 - eto kolichestvo interfejsov, a DLink vozvraschaet otricatel'noe chislo! Server ne bil rasschitan na takoe
Dobavil proverku na takoj sluchaj, teoreticheski dolzno bit' vse horosho.
-
@victor said in Ошибка сегментирования при SNMP-запросе:
Poprobujte zamenit' src/server/core/snmp.cpp na prilozennij i peresobrat' server.
OID .1.3.6.1.2.1.2.1.0 - eto kolichestvo interfejsov, a DLink vozvraschaet otricatel'noe chislo! Server ne bil rasschitan na takoe
Dobavil proverku na takoj sluchaj, teoreticheski dolzno bit' vse horosho.С ума сойти. Неудивительно, что сервер растерялся.
Большое спасибо, Виктор, сегодня вечером попробую пересобрать сервер. -
Ещё раз спасибо большое, Виктор, патч помог.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login