The only possible way to get a handle on this is to see what ALL the threads
are doing, i.e.

(gdb) thread 1
(gdb) info stack 
(gdb) thread 2
(gdb) info stack 
...

That could show 2 of them fighting in the same routine.  Or it might not
help.

What's odd is that RHEL4 isn't supposed to be that different from FC3/FC2
and ntop runs fine under Fedora.

-----Burton


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of
Aaron Grewell
Sent: Friday, March 18, 2005 12:24 PM
To: [email protected]
Subject: RE: [Ntop] NTop dies on RHEL 4

Well, it lived a bit longer, but the results ended up more or less the same.
When the RH8 workaround didn't work I also tried including the additional -l
line from the RHEL3 configureextra file.  I didn't really expect it to
matter, since it's probably there to fix a build-bomb rather than a runtime
issue.  And lo and behold, it didn't matter.
Here's what I got out of it this time:

gdb -q /usr/bin/ntop
Using host libthread_db library "/lib/tls/libthread_db.so.1".
(gdb) set args -K -u root @/etc/ntop.conf
(gdb) run
Starting program: /usr/bin/ntop -K -u root @/etc/ntop.conf [Thread debugging
using libthread_db enabled] [New Thread -1208022816 (LWP 705)]
   Processing file /etc/ntop.conf for parameters...
Fri Mar 18 10:19:18 2005  Initializing gdbm databases [New Thread
-1215145040 (LWP 708)] [New Thread -1225634896 (LWP 709)] [New Thread
-1236124752 (LWP 710)] [New Thread -1246614608 (LWP 711)] [New Thread
-1257104464 (LWP 712)] [New Thread -1268778064 (LWP 713)]

Program received signal SIG33, Real-time event 33.
[Switching to Thread -1268778064 (LWP 713)]
0x004c37a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
(gdb) info threads
* 7 Thread -1268778064 (LWP 713)  0x004c37a2 in _dl_sysinfo_int80 () from
/lib/ld-linux.so.2
  6 Thread -1257104464 (LWP 712)  0x004c37a2 in _dl_sysinfo_int80 () from
/lib/ld-linux.so.2
  5 Thread -1246614608 (LWP 711)  0x004c37a2 in _dl_sysinfo_int80 () from
/lib/ld-linux.so.2
  4 Thread -1236124752 (LWP 710)  0x004c37a2 in _dl_sysinfo_int80 () from
/lib/ld-linux.so.2
  3 Thread -1225634896 (LWP 709)  0x004c37a2 in _dl_sysinfo_int80 () from
/lib/ld-linux.so.2
  2 Thread -1215145040 (LWP 708)  0x004c37a2 in _dl_sysinfo_int80 () from
/lib/ld-linux.so.2
  1 Thread -1208022816 (LWP 705)  0x004c37a2 in _dl_sysinfo_int80 () from
/lib/ld-linux.so.2
(gdb) thread 7
[Switching to thread 7 (Thread -1268778064 (LWP 713))]#0  0x004c37a2 in
_dl_sysinfo_int80 () from /lib/ld-linux.so.2
(gdb) list
259     /* ************************************ */
260
261     /* That's the meat */
262     #ifdef WIN32
263     int ntop_main(int argc, char *argv[]) {
264     #else
265     int main(int argc, char *argv[]) {
266     #endif
267       int i, rc, userSpecified;
268       char ifStr[196] = {0};
(gdb) info stack
#0  0x004c37a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x0059b541 in ___newselect_nocancel () from /lib/tls/libc.so.6
#2  0x00c2b855 in handleWebConnections (notUsed=0x0) at
webInterface.c:8904
#3  0x0068e3ae in start_thread () from /lib/tls/libpthread.so.0
#4  0x005a2aee in clone () from /lib/tls/libc.so.6
(gdb) bt full
#0  0x004c37a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 No symbol
table info available.
#1  0x0059b541 in ___newselect_nocancel () from /lib/tls/libc.so.6 No symbol
table info available.
#2  0x00c2b855 in handleWebConnections (notUsed=0x0) at
webInterface.c:8904
        a_oset = {__val = {0 <repeats 32 times>}}
        a_nset = {__val = {4096, 0 <repeats 31 times>}}
        oset = (sigset_t *) 0xc9f480
        nset = (sigset_t *) 0xb45ff3c0
        rc = -514
        mask = {__fds_bits = {98304, 0 <repeats 31 times>}}
        mask_copy = {__fds_bits = {98304, 0 <repeats 31 times>}}
        topSock = 16
#3  0x0068e3ae in start_thread () from /lib/tls/libpthread.so.0 No symbol
table info available.
#4  0x005a2aee in clone () from /lib/tls/libc.so.6 No symbol table info
available.
(gdb)




On Thu, 2005-03-17 at 18:08 -0600, Burton Strauss wrote:
> Actually it is ...  _dl_sysinfo_int80 is the syscall interface 
> (userland requests kernel services, Milord) ... That info threads 
> usually means it's deadlocked.  And the most common culprit lately is: 
> older glibc's which
are
> not thread-safe in the syslog calls!
> 
> So, you need to activate the work-around.
> 
> In the source, configureextra/LINUXredhat8.0 file is this:
> 
> #!/bin/sh
> 
> echo "        Setting RedHat 8.0 specific flag values"
> 
> CPPFLAGS="${CPPFLAGS} -DFORPRENPTL"
> 
> 
> That -D activates a work around.
> 
> You need to create a similar file for RHEL 4.  But what to name it...
Ah...
> The secret grasshopper is to use the same file ./configure uses:
> 
> Go to your ntop source directory and:
> 
> $ utils/linuxrelease  --distro
> fedora
> $ utils/linuxrelease  --release
> 2
> 
> That tells you that, for example, the magic name for MY system would 
> be
> 
> Configureextra/LINUXfedora2
> 
> Make it, do the ./configure && make && make install dance and see if 
> that doesn't fix things.
> 
> If so, we'll add your file to the cvs.
> 
> 
> -----Burton
> 
> 
> 
> 
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf 
> Of Aaron Grewell
> Sent: Thursday, March 17, 2005 5:54 PM
> To: [email protected]
> Subject: RE: [Ntop] NTop dies on RHEL 4
> 
> 
> 
> On Thu, 2005-03-17 at 17:21 -0600, Burton Strauss wrote:
> > Tee hee hee... You forgot the "run" command to start the program...  
> > Of course nothing happens :-)
> > 
> > After run, wait until ntop dies, then do the various info and bt 
> > full commands...
> 
> Ah, of course.  /Aaron tries to remember college C classes/  OK, so 
> after
a
> quick trip through 'man gdb' I did the following:
>
----------------------------------------------------------------------------
> -----
> #gdb -q /usr/bin/ntop
> Using host libthread_db library "/lib/tls/libthread_db.so.1".
> (gdb) set args -K -u root -i eth1 @/etc/ntop.conf
> (gdb) run
> Starting program: /usr/bin/ntop -K -u root -i eth1 @/etc/ntop.conf 
> [Thread debugging using libthread_db enabled] [New Thread -1208022816 (LWP
28886)]
>    Processing file /etc/ntop.conf for parameters...
> Thu Mar 17 15:29:53 2005 [MSGID8469382] [globals-core:99] Initializing
gdbm
> databases Thu Mar 17 15:29:53 2005 [MSGID0234024] [initialize:900] 
> Opening database '/usr/share/ntop/prefsCache.db'
> Thu Mar 17 15:29:53 2005 [MSGID0234024] [initialize:900] Opening 
> database '/usr/share/ntop/ntop_pw.db'
> Thu Mar 17 15:29:53 2005 [MSGID0364088] [prefs:280] NOTE: Calling 
> getopt_long to process parameters [New Thread -1215145040 (LWP 28895)]
[New
> Thread -1225634896 (LWP 28896)] [New Thread -1236124752 (LWP 28897)] 
> [New Thread -1246614608 (LWP 28898)] [New Thread -1257104464 (LWP 
> 28899)] [New Thread -1268778064 (LWP 28900)]
> 
> Program received signal SIG33, Real-time event 33.
> [Switching to Thread -1268778064 (LWP 28900)]
> 0x004c37a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
> (gdb)
>
----------------------------------------------------------------------------
> -----
> 
> Interestingly, it hasn't crashed at this point, but it doesn't keep 
> going either.  That is, if I hit the webpage it just hangs forever.
> 'list' at this point shows the contents of the main() function.  If I 
> use 'c' to continue it will continue.  The webpage populates, but 
> there's no hosts or traffic shown, just the interface without any data.
> That doesn't seem like the right approach.  OK, so now I read on about 
> the threads in the FAQ.  So now we dive into the active thread and try 
> to
figure
> out what's up, and why it seems hung in mid-flight.
>
----------------------------------------------------------------------------
> -----
> (gdb) info thread
> * 7 Thread -1268794448 (LWP 31648)  0x004c37a2 in _dl_sysinfo_int80 ()
from
> /lib/ld-linux.so.2
>   6 Thread -1258304592 (LWP 31647)  0x004c37a2 in _dl_sysinfo_int80 ()
from
> /lib/ld-linux.so.2
>   5 Thread -1247814736 (LWP 31646)  0x004c37a2 in _dl_sysinfo_int80 ()
from
> /lib/ld-linux.so.2
>   4 Thread -1237324880 (LWP 31645)  0x004c37a2 in _dl_sysinfo_int80 ()
from
> /lib/ld-linux.so.2
>   3 Thread -1226835024 (LWP 31644)  0x004c37a2 in _dl_sysinfo_int80 ()
from
> /lib/ld-linux.so.2
>   2 Thread -1215145040 (LWP 31643)  0x004c37a2 in _dl_sysinfo_int80 ()
from
> /lib/ld-linux.so.2
>   1 Thread -1208022816 (LWP 31631)  0x004c37a2 in _dl_sysinfo_int80 ()
from
> /lib/ld-linux.so.2
> (gdb) thread 7
> (gdb) bt
> #0  0x004c37a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
> #1  0x0031b541 in ___newselect_nocancel () from /lib/tls/libc.so.6
> #2  0x00a8b855 in handleWebConnections (notUsed=0x0) at
> webInterface.c:8904
> #3  0x0068e3ae in start_thread () from /lib/tls/libpthread.so.0
> #4  0x00322aee in clone () from /lib/tls/libc.so.6
> (gdb) info stack
> #0  0x004c37a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
> #1  0x0031b541 in ___newselect_nocancel () from /lib/tls/libc.so.6
> #2  0x00a8b855 in handleWebConnections (notUsed=0x0) at
> webInterface.c:8904
> #3  0x0068e3ae in start_thread () from /lib/tls/libpthread.so.0
> #4  0x00322aee in clone () from /lib/tls/libc.so.6
> (gdb)
> (gdb) bt full
> #0  0x004c37a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 No 
> symbol table info available.
> #1  0x0031b541 in ___newselect_nocancel () from /lib/tls/libc.so.6 No
symbol
> table info available.
> #2  0x00a8b855 in handleWebConnections (notUsed=0x0) at
> webInterface.c:8904
>         a_oset = {__val = {0 <repeats 32 times>}}
>         a_nset = {__val = {4096, 0 <repeats 31 times>}}
>         oset = (sigset_t *) 0xaff460
>         nset = (sigset_t *) 0xb45fb3c0
>         rc = -514
>         mask = {__fds_bits = {393216, 0 <repeats 31 times>}}
>         mask_copy = {__fds_bits = {393216, 0 <repeats 31 times>}}
>         topSock = 18
> #3  0x0068e3ae in start_thread () from /lib/tls/libpthread.so.0 No 
> symbol table info available.
> #4  0x00322aee in clone () from /lib/tls/libc.so.6 No symbol table 
> info available.
> (gdb)
> (gdb) print deviceId
> No symbol "deviceId" in current context.
>
----------------------------------------------------------------------------
> -----
> 
> Does any of that seem to shed any light, or am I missing something 
> obvious again?
> 
> Thanks Burton,
> -Aaron
> _______________________________________________
> Ntop mailing list
> [email protected]
> http://listgateway.unipi.it/mailman/listinfo/ntop
> 
> _______________________________________________
> Ntop mailing list
> [email protected]
> http://listgateway.unipi.it/mailman/listinfo/ntop
_______________________________________________
Ntop mailing list
[email protected]
http://listgateway.unipi.it/mailman/listinfo/ntop

_______________________________________________
Ntop mailing list
[email protected]
http://listgateway.unipi.it/mailman/listinfo/ntop

Reply via email to