Sep 19, 2017, 02:43 pm

News:

Ufasoft Coin 0.110 new features: SOCKS5, TOR,
bootstrap.dat DB format


icqdump под Linux

Started by Andy Hardy, Dec 03, 2008, 03:26 pm

previous topic - next topic
Go Down

Andy Hardy

Dec 03, 2008, 03:26 pm Last Edit: Jan 01, 1970, 01:00 am by Guest
icqdump работает меньше часа и вываливается с сообщением "Segmentation fault". ОС - OpenSuse 10.3.

ufasoft

#1
Dec 03, 2008, 11:15 pm Last Edit: Jan 01, 1970, 01:00 am by Guest
присылайте tcpdump-файл на котором воспроизводится падение такой командой:
Code: [Select]
icqdump -r file.pcap

Andy Hardy

#2
Dec 04, 2008, 09:53 am Last Edit: Jan 01, 1970, 01:00 am by Guest
Спасибо, пришлю
Вот ещё одна остановка
Quote
*** glibc detected *** /root/icqdump: corrupted double-linked list: 0x083aa920 ***
======= Backtrace: =========
[0x81bef1e]
[0x81c180c]
[0x81c2d49]
[0x80fd2c8]
[0x80f920b]
[0x80f601d]
[0x805d7c8]
[0x804c89d]
[0x80993bb]
[0x804f176]
[0x804f2bb]
[0x804f80d]
[0x80abce3]
[0x80b7db7]
[0x80b8cee]
[0x80c08c4]
[0x80b04c0]
[0x80b0dc9]
[0x80b0127]
[0x80c2a68]
[0x80b04c0]
[0x80b0dc9]
[0x80b0127]
[0x80a108a]
[0x80b04c0]
[0x80a026e]
[0x80cbee1]
[0x80d2fcd]
[0x8049490]
[0x80f4b6b]
[0x804835d]
[0x8199fba]
[0x8048171]
======= Memory map: ========
08048000-0829f000 r-xp 00000000 08:02 206959     /root/icqdump
082a0000-082a2000 rw-p 00257000 08:02 206959     /root/icqdump
082a2000-084b4000 rw-p 082a2000 00:00 0          [heap]
b4c00000-b4cc5000 rw-p b4c00000 00:00 0
b4cc5000-b4d00000 ---p b4cc5000 00:00 0
b4da9000-b4daa000 rw-p b4da9000 00:00 0
b4daa000-b4dab000 ---p b4daa000 00:00 0
b4dab000-b55aa000 rw-p b4dab000 00:00 0
b55aa000-b55ab000 ---p b55aa000 00:00 0
b55ab000-b5daa000 rw-p b55ab000 00:00 0
b5daa000-b5dab000 ---p b5daa000 00:00 0
b5dab000-b65aa000 rw-p b5dab000 00:00 0
b65aa000-b65ab000 ---p b65aa000 00:00 0
b65ab000-b6daa000 rw-p b65ab000 00:00 0
b6daa000-b6dab000 ---p b6daa000 00:00 0
b6dab000-b75aa000 rw-p b6dab000 00:00 0
b75aa000-b75ab000 ---p b75aa000 00:00 0
b75ab000-b7f30000 rw-p b75ab000 00:00 0
b7f30000-b7f31000 r-xp b7f30000 00:00 0          [vdso]
bf8ba000-bf8d0000 rw-p bf8ba000 00:00 0          [stack]
Аварийный останов

ufasoft

#3
Dec 04, 2008, 01:43 pm Last Edit: Jan 01, 1970, 01:00 am by Guest
backtrace без отладочной инфы с именами функций бесполезен

в версии для Windows прога в случае краха предлагает по почте отправлять нам MiniDump состояния стека, который мы можем анализировать
для Linux в данный момент этого нет

ufasoft

#4
Dec 09, 2008, 12:26 pm Last Edit: Jan 01, 1970, 01:00 am by Guest
версия 4.127  падала на Русских буквах в составе URL при перехвате Web URLs
доступна исправленная 4.128

Andy Hardy

#5
Dec 09, 2008, 04:38 pm Last Edit: Jan 01, 1970, 01:00 am by Guest
Спасибо! Заработало.

int_19h

Здравствуйте! Поднимаю тему.
В наличии OpenSUSE 12.3 64bit и icqdump v.4.162.
Segmentation fault, при работе меньше полминуты:

linux-n2le:~ # uname -a
Linux linux-n2le.site 3.7.10-1.1-desktop #1 SMP PREEMPT Thu Feb 28 15:06:29 UTC 2013 (82d3f21) x86_64 x86_64 x86_64 GNU/Linux

linux-n2le:~ # /usr/local/bin/icqdump -i eth2 -n -l /root/icqdumplogs -P ICQ
ICQ Dump 4.162  Copyright (c) 1997-2012 Ufasoft  http://ufasoft.com/sniffer
Saving logs to: /root/icqdumplogs
Segmentation fault

linux-n2le:~ # tail -n 100 /var/log/messages | grep -i icq
2013-07-24T15:27:45.551753+04:00 linux-n2le kernel: [176590.346523] icqdump[26849]: segfault at 22913110 ip 0000000000410f04 sp 00007fff0020f968 error 4 in icqdump[400000+c7000]

При этом был запущен tcpdump:
linux-n2le:~ # tcpdump -i eth2 -s0 -w file.pcap

И далее:
linux-n2le:~ # icqdump -r file.pcap
ICQ Dump 4.162  Copyright (c) 1997-2012 Ufasoft  http://ufasoft.com/sniffer
Saving logs to: /var/log/snif
# 07/24/13 00:00:00
07/24/13 15:27:45       WEB:    78.36.0.218 -> http://www.3dnews.ru/ajax/?action=newsPopupWidget

Имеется захваченный файл, только не знаю куда прислать.

Если вы сможете хоть как-то помочь, буду очень благодарен. Спасибо!

ufasoft

#7
Jul 24, 2013, 06:19 pm Last Edit: Jul 24, 2013, 06:23 pm by ufasoft
присылайте на support@ufasoft.com если валится на команде:
icqdump -r yourfile.pcap

Но в вашем  примере кажется icqdump упал не на файле, а на анализе "прямого эфира". В таком случае скорее всего в файле смысла нет.
Можете попробовать запуститть из-под GDB и после падения скопировать нам CallStack. тогда может будет понятно где ошибка

int_19h

#8
Jul 25, 2013, 07:11 am Last Edit: Jul 25, 2013, 07:28 am by ufasoft
Стэка от дебаггера почему-то не получается добится. Сразу останавливается. Может быть вы сможете подсказать другие аргументы запуска?

linux-n2le:~ # gdb --batch -ex bt -ex list --args /usr/local/bin/icqdump -i eth2 -n -l /root/icqdumplogs -P ICQ
No stack.
286     //              _CrtSetDumpClient(MyDumpClient);
287     #       endif
288
289
290                     PLogMessage = &MyLogMessage;
291             }
292     } theApp;
293
294
295     EXT_DEFINE_MAIN(theApp)

ufasoft

gdb --args /usr/local/bin/icqdump -i eth2 -n -l /root/icqdumplogs -P ICQ

затем команда "g" пока не остановится на segfault
затем "bt"

int_19h

Спасибо! Разобрался  :) Нужно было запустить программу в самом дебаггере командой run.
Правда просто команда g ему не понравилась, он предложил на выбор: gcore, generate-core-file, goto-bookmark, я выбрал gcore.

Quote
linux-n2le:~ # gdb --args /usr/local/bin/icqdump -i eth2 -n -l /root/icqdumplogs -P ICQ
GNU gdb (GDB) SUSE (7.5.1-2.1.1)
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/local/bin/icqdump...done.
(gdb) run
Starting program: /usr/local/bin/icqdump -i eth2 -n -l /root/icqdumplogs -P ICQ
Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158"
Missing separate debuginfo for /lib64/libdl.so.2
Try: zypper install -C "debuginfo(build-id)=da368634ea211229f45d2f8d32e7da61800b4c75"
Missing separate debuginfo for /lib64/librt.so.1
Try: zypper install -C "debuginfo(build-id)=c91b3d0735b49e2ccf493b8c91612978c783a732"
Missing separate debuginfo for /usr/lib64/libcurl.so.4
Try: zypper install -C "debuginfo(build-id)=602e145b017bca42d4e13601fcabff7c07c2fdb7"
Missing separate debuginfo for /lib64/libpthread.so.0
Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef"
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Missing separate debuginfo for /usr/lib64/libpcre.so.1
Try: zypper install -C "debuginfo(build-id)=91e4d9d2fc2824fbd0f18002a4fc2a6fd4921c2b"
Missing separate debuginfo for /lib64/libz.so.1
Try: zypper install -C "debuginfo(build-id)=bef211df25174b1ba44958f0e7f8e301d59c8de5"
Missing separate debuginfo for /usr/lib64/libxml2.so.2
Try: zypper install -C "debuginfo(build-id)=3d20d934cc74ae999d7485c9ca5d75347e9e3ac1"
Missing separate debuginfo for /usr/lib64/libpcap.so.1
Try: zypper install -C "debuginfo(build-id)=ea1397a748a5dd750c310332f8fa9b5d4e4193ae"
Missing separate debuginfo for /usr/lib64/libstdc++.so.6
Try: zypper install -C "debuginfo(build-id)=babb0ba2913558a7b90bb6d23750a6a1885bfb59"
Missing separate debuginfo for /lib64/libm.so.6
Try: zypper install -C "debuginfo(build-id)=24fba01931c773fd5b4688b34c4acde47ea77cb9"
Missing separate debuginfo for /lib64/libgcc_s.so.1
Try: zypper install -C "debuginfo(build-id)=79056b80865c15deabba7b20155ea27c76d91bf1"
Missing separate debuginfo for /lib64/libc.so.6
Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7"
Missing separate debuginfo for /usr/lib64/libidn.so.11
Try: zypper install -C "debuginfo(build-id)=05adbf099c499df4fd84b47a60a193bb20ed8319"
Missing separate debuginfo for /usr/lib64/liblber-2.4.so.2
Try: zypper install -C "debuginfo(build-id)=6f3db6703ecdd1ec66ccfe444c5a96de4f3e394d"
Missing separate debuginfo for /usr/lib64/libldap-2.4.so.2
Try: zypper install -C "debuginfo(build-id)=7b580023b6ffc038fce5bd512353932739ed3774"
Missing separate debuginfo for /usr/lib64/libgssapi_krb5.so.2
Try: zypper install -C "debuginfo(build-id)=e3a901b1f61b3d3af51c634823d104e28c1ae401"
Missing separate debuginfo for /lib64/libssl.so.1.0.0
Try: zypper install -C "debuginfo(build-id)=53bf53b320c5486b4a67cf831bedc11b2b974f29"
Missing separate debuginfo for /lib64/libcrypto.so.1.0.0
Try: zypper install -C "debuginfo(build-id)=de605f69ece10d58884634b0ee76e52b23dc0874"
Missing separate debuginfo for /usr/lib64/libssh2.so.1
Try: zypper install -C "debuginfo(build-id)=2bdbeade263bd184d4c187528f36b44f5d2b4204"
Missing separate debuginfo for /usr/lib64/liblzma.so.5
Try: zypper install -C "debuginfo(build-id)=e50639028c7d64c96baed4bee29c58975da2036c"
Missing separate debuginfo for /usr/lib64/libusb-1.0.so.0
Try: zypper install -C "debuginfo(build-id)=b32060f5945af87c9e01434be60acf8fe7c4969e"
Missing separate debuginfo for /lib64/libresolv.so.2
Try: zypper install -C "debuginfo(build-id)=5abb77d6cb67d9e36b97d842daba249e71b499d7"
Missing separate debuginfo for /usr/lib64/libsasl2.so.2
Try: zypper install -C "debuginfo(build-id)=2902c5d2245c16466c9ff6d9ca8cc38e91ae47ef"
Missing separate debuginfo for /usr/lib64/libkrb5.so.3
Try: zypper install -C "debuginfo(build-id)=48e1bcf8377184b0ec0983fb418a73d99cd6c33f"
Missing separate debuginfo for /usr/lib64/libk5crypto.so.3
Try: zypper install -C "debuginfo(build-id)=b7f7c265dcb23a60af11613793f6f0cb8eee560c"
Missing separate debuginfo for /lib64/libcom_err.so.2
Try: zypper install -C "debuginfo(build-id)=15ec626a4c628421c9c693fa21175a817f7f8976"
Missing separate debuginfo for /usr/lib64/libkrb5support.so.0
Try: zypper install -C "debuginfo(build-id)=9486ce8bcd7211fde0b9b10947c4c7a25aa6c432"
Missing separate debuginfo for /lib64/libkeyutils.so.1
Try: zypper install -C "debuginfo(build-id)=ae099b4bdae29c3ce6aa1bab24d0155c0f63a7b7"
Missing separate debuginfo for /lib64/libselinux.so.1
Try: zypper install -C "debuginfo(build-id)=df28565c4eb0ae63c2db3ff5c7bc917e720fcb01"
Missing separate debuginfo for /usr/lib64/gconv/UTF-16.so
Try: zypper install -C "debuginfo(build-id)=9cf3924654940d763e77dc95b9970b97ed0ce5e1"
ICQ Dump 4.162  Copyright (c) 1997-2012 Ufasoft  http://ufasoft.com/sniffer
[New Thread 0x7ffff30b8700 (LWP 30133)]
[New Thread 0x7ffff24d7700 (LWP 30134)]
[New Thread 0x7ffff18f6700 (LWP 30135)]
[New Thread 0x7ffff10f5700 (LWP 30136)]
[New Thread 0x7fffebfff700 (LWP 30137)]
[New Thread 0x7fffeb7fe700 (LWP 30138)]
[New Thread 0x7fffeac1d700 (LWP 30139)]
[New Thread 0x7fffea03c700 (LWP 30140)]
[New Thread 0x7fffe945b700 (LWP 30141)]
[New Thread 0x7fffe887a700 (LWP 30142)]
Saving logs to: /root/icqdumplogs
[New Thread 0x7fffdbfff700 (LWP 30143)]
gcore

Program received signal SIGSEGV, Segmentation fault.
0x0000000000410f04 in get_IHL (this=0x705680) at snif/ip.cpp:135
135             int GetLocalDataOffset() { return IHL*4; }
(gdb) gcore
Saved corefile core.30129
(gdb) bt
#0  0x0000000000410f04 in get_IHL (this=0x705680) at snif/ip.cpp:135
#1  operator byte (this=0x7056b8) at snif/ip.cpp:67
#2  Snif::Ip4Packet::GetLocalDataOffset (this=0x705680) at snif/ip.cpp:135
#3  0x000000000042330f in Snif::PluginPacket::GetData (this=0x705680) at snif/standardplugin.cpp:400
#4  0x00000000004116b5 in Snif::Ip4Packet::GetData (this=0x705680) at snif/ip.cpp:100
#5  0x0000000000428f22 in TcpWrap (iTP=0x7fffffffd3a0, this=<synthetic pointer>) at snif/tcp.cpp:168
#6  Snif::TcpObj::ProcessPacket (this=0x6fbeb0, iPacket=0x7fffffffd3a0) at snif/tcp.cpp:323
#7  0x00000000004235f5 in Snif::SnifferPlugin::AnalyzeCreated (this=0x6fbeb0, pp=..., iPacket=<optimized out>) at snif/standardplugin.cpp:154
#8  0x00000000004257c5 in Snif::TcpObj::Analyze (this=<optimized out>, iPacket=<optimized out>) at snif/tcp.cpp:405
#9  0x00000000004240dd in Snif::SnifferPlugin::ProcessSubAnalyzers (this=<optimized out>, iPacket=0x705680) at snif/standardplugin.cpp:78
#10 0x000000000041099d in Snif::Ip4Obj::FragmentedPacket (this=this@entry=0x6fb130, iIP=<optimized out>) at snif/ip.cpp:560
#11 0x0000000000410c3e in Snif::Ip4Obj::ProcessPacket (this=0x6fb130, iPacket=0x7fffffffd900) at snif/ip.cpp:639
#12 0x00000000004235f5 in Snif::SnifferPlugin::AnalyzeCreated (this=0x6fb130, pp=..., iPacket=<optimized out>) at snif/standardplugin.cpp:154
#13 0x000000000040fd32 in Snif::Ip4Obj::Analyze (this=0x6fb130, iPacket=0x7aade0) at snif/ip.cpp:664
#14 0x00000000004240dd in Snif::SnifferPlugin::ProcessSubAnalyzers (this=<optimized out>, iPacket=0x7aade0) at snif/standardplugin.cpp:78
#15 0x0000000000423669 in Snif::SnifferPlugin::Analyze (this=0x6fab30, iPacket=<optimized out>) at snif/standardplugin.cpp:159
#16 0x00000000004240dd in Snif::SnifferPlugin::ProcessSubAnalyzers (this=<optimized out>, iPacket=0x7a9980) at snif/standardplugin.cpp:78
#17 0x0000000000423669 in Snif::SnifferPlugin::Analyze (this=0x6fa870, iPacket=<optimized out>) at snif/standardplugin.cpp:159
#18 0x00000000004240dd in Snif::SnifferPlugin::ProcessSubAnalyzers (this=<optimized out>, iPacket=0x7fffffffdab0) at snif/standardplugin.cpp:78
#19 0x00000000004235f5 in Snif::SnifferPlugin::AnalyzeCreated (this=0x6fa320, pp=..., iPacket=<optimized out>) at snif/standardplugin.cpp:154
#20 0x000000000040d549 in Snif::EthernetObj::Analyze (this=<optimized out>, iPacket=<optimized out>) at snif/ethernet.cpp:105
#21 0x0000000000414985 in Snif::MACObj::OnReceived (this=0x6fa320, sp=0x7fffdc000f90) at snif/mac.cpp:248
#22 0x0000000000422051 in Snif::CSnifEng::Loop (timespan=...) at inc/snif-packet-imp.h:474
#23 0x000000000041e3cc in Snif::CProtoEng::Loop (this=0x7fffffffdd50, timespan=...) at snif/proto-eng.cpp:254
#24 0x0000000000449aee in CIcqDumpApp::Execute (this=<optimized out>) at msgan/icqdump.cpp:265
#25 0x0000000000477047 in Ext::CConApp::Main (this=0x6c9ae0 <theApp>, argc=<optimized out>, argv=<optimized out>) at el/libext/ext-app.cpp:325
#26 0x00007ffff5f8da15 in __libc_start_main () from /lib64/libc.so.6
#27 0x000000000040b521 in _start () at ../sysdeps/x86_64/start.S:123


Дамп ядра получился довольно большим, порядка 140 Мб. Стоит куда-нибудь выкладывать?
Ещё раз спасибо вам за оперативную помощь!

ufasoft

пока не понятно, но есть подозрение что причина что программа скомпилирована под x64.  В таком варианте очень мало тестировалось.

Сами попробуем протетстить x64 версию

int_19h

Хорошо!
Хочу добавить, что есть другая машинка с 64-разрядной сусёй 11.2, где icqdump (v4.153) замечательно работает:
Quote
linux-7nhg:~ # uname -a
Linux linux-7nhg 2.6.31.5-0.1-desktop #1 SMP PREEMPT 2009-10-26 15:49:03 +0100 x86_64 x86_64 x86_64 GNU/Linux

И компилировал я её также, как и в этом случае, т.е. всё оставил по-умолчанию (configure-make-make install).

А может мне просто пересобрать её под x86 или это гораздо сложнее?

ufasoft


А может мне просто пересобрать её под x86 или это гораздо сложнее?

Просто собрать под 32-битной Linux

ufasoft

Если возможно выложите core dump например через Google Drive.
еще лучше если соберете и запустите без опций оптимизации:
CXX_FLAGS="-O0" ./configure

Go Up