gtk-gnutella-devel Digest, Vol 29, Issue 3

View: New views
1 Messages — Rating Filter:   Alert me  

gtk-gnutella-devel Digest, Vol 29, Issue 3

by gtk-gnutella-devel-request :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Send gtk-gnutella-devel mailing list submissions to
        gtk-gnutella-devel@...

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel
or, via email, send a message with subject or body 'help' to
        gtk-gnutella-devel-request@...

You can reach the person managing the list at
        gtk-gnutella-devel-owner@...

When replying, please edit your Subject line so it is more specific
than "Re: Contents of gtk-gnutella-devel digest..."


Today's Topics:

   1. Re:  getpeername() failed warning: getpeername not being
      called. (Matthew Lye)
   2. Re:  getpeername() failed warning: getpeername not being
      called. (Christian Biere)
   3. Re:  getpeername() failed warning: getpeername not being
      called. (Christian Biere)
   4. Re:  getpeername() failed warning: getpeername not being
      called. (Matthew Lye)
   5.  Crash at startup (Hauke Hachmann)
   6. Re:  Crash at startup (Hauke Hachmann)
   7. Re:  Crash at startup (Christian Biere)
   8. Re:  Crash at startup (Christian Biere)
   9. Re:  Crash at startup (Hauke Hachmann)


----------------------------------------------------------------------

Message: 1
Date: Wed, 13 May 2009 12:14:15 -0400
From: Matthew Lye <mlye@...>
Subject: Re: [gtk-gnutella-devel] getpeername() failed warning:
        getpeername not being called.
To: gtk-gnutella-devel@...
Message-ID: <47FE50C0-C091-447D-A567-2FDC10A07F9C@...>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes


On 13-May-09, at 1:46 AM, Christian Biere wrote:
> Do you get this warning for every incoming connection or just for  
> some?

Just for some, albeit fairly frequently.  (That said, it's happening  
with every call to getpeername$UNIX2003.)  I'd have treated it as more  
of a problem if it was flooding the console.

I shouldn't be getting any IPv6 from anywhere except my local wireless  
nodes talking to each other.

I'll see if I can get return values from accept(), or probably accept
$UNIX2003()*, later today;  also see if I can catch the warning  
occurring with a manageable number of incoming connections to scan  
through, and/or figure out how to get the socket (identical to fd?)  
number to show up alongside the incoming IP number.

*be prepared for dumps of assembly language interspersed with  
sarcastic comments**.  Mystery computer science theater UNIX2003.

**No, not really.




------------------------------

Message: 2
Date: Wed, 13 May 2009 19:29:44 +0200
From: Christian Biere <christianbiere@...>
Subject: Re: [gtk-gnutella-devel] getpeername() failed warning:
        getpeername not being called.
To: gtk-gnutella-devel@...
Message-ID: <20090513172944.GA25033@...>
Content-Type: text/plain; charset=utf-8

Matthew Lye wrote:
> On 13-May-09, at 1:46 AM, Christian Biere wrote:
> > Do you get this warning for every incoming connection or just for  
> > some?
 
> Just for some, albeit fairly frequently.  (That said, it's happening  
> with every call to getpeername$UNIX2003.)  I'd have treated it as more  
> of a problem if it was flooding the console.

What's the frequency? About once per second, minute, hour?
 
> I shouldn't be getting any IPv6 from anywhere except my local wireless  
> nodes talking to each other.

If you have IPv6 connectivity, the following should display a valid
IPv6 address:

echo print local_ip6|gtk-gnutella --shell

You can use netstat, fstat and maybe lsof to see all sockets,
their addresses and the latter two also show which file descriptor
they are corresponding to. That should also tell you whether there
are any IPv6 connections.
 
> I'll see if I can get return values from accept(), or probably accept
> $UNIX2003()*, later today;  also see if I can catch the warning  
> occurring with a manageable number of incoming connections to scan  
> through, and/or figure out how to get the socket (identical to fd?)  
> number to show up alongside the incoming IP number.

I don't know what's the frequency of incoming connections for you.
If it's not multiple per second, it shouldn't be too difficult to
see which connections trigger this issue and the timestamps shown
by these tools should help, too.

One possibility for this issue could be an invalid definition of
the socklen_t type. I found at least one post in which someone wrote
that his GCC used long instead of int or vice-versa causing an ABI
mismatch. This may go unnoticed if the upper bits are conveniently
within the acceptable boundaries for valid parameters. As the
variables are mostly auto-variables on the stack which is typically
dirty, this isn't completely unlikely. Maybe it only fails when
the respective bits are all zero by incident causing these function
to fail respectively not fill-in the source address.

So what you could try is this:

In src/core/sockets.c, replace all occurences of socklen_t with
SOCKLEN_T, then add one of the following lines at the head
of the file, after #include "common.h", for example:

#define SOCKLEN_T short
#define SOCKLEN_T int
#define SOCKLEN_T long

Try compiling with each of these three and see whether it helps. You'll
have to ignore the compiler warnings, of course.

--
Christian



------------------------------

Message: 3
Date: Wed, 13 May 2009 21:15:43 +0200
From: Christian Biere <christianbiere@...>
Subject: Re: [gtk-gnutella-devel] getpeername() failed warning:
        getpeername not being called.
To: gtk-gnutella-devel@...
Message-ID: <20090513191543.GC25033@...>
Content-Type: text/plain; charset=utf-8

Matthew Lye wrote:
> On 13-May-09, at 1:46 AM, Christian Biere wrote:
> > Do you get this warning for every incoming connection or just for  
> > some?
 
> Just for some, albeit fairly frequently.  (That said, it's happening  
> with every call to getpeername$UNIX2003.)

You could call getpeername() unconditonally after each successful
accept() to ensure it's not just a problem with getpeername(). However,
getpeername() wouldn't be called if accept() had provided an address
as it should.

--
Christian



------------------------------

Message: 4
Date: Thu, 14 May 2009 13:12:46 -0400
From: Matthew Lye <mlye@...>
Subject: Re: [gtk-gnutella-devel] getpeername() failed warning:
        getpeername not being called.
To: gtk-gnutella-devel@...
Message-ID: <7F6255B6-0E1C-45D9-845C-4BC6F1FFA7B5@...>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes


On 13-May-09, at 3:15 PM, Christian Biere wrote:

> Matthew Lye wrote:
>> On 13-May-09, at 1:46 AM, Christian Biere wrote:
>>> Do you get this warning for every incoming connection or just for
>>> some?
>
>> Just for some, albeit fairly frequently.  (That said, it's happening
>> with every call to getpeername$UNIX2003.)
>
> You could call getpeername() unconditonally after each successful
> accept() to ensure it's not just a problem with getpeername().  
> However,
> getpeername() wouldn't be called if accept() had provided an address
> as it should.

Under these circumstances, getpeername() does set a plausible  
address.  It's setting 0.0.0.0 and failing only when called after  
accept().  Looking at the warnings in the code, there should be a  
different warning if getpeername() ever succeeds when accept() fails;  
this does not occur.  I'll check the network stuff next session.




------------------------------

Message: 5
Date: Fri, 29 May 2009 01:47:34 +0200
From: Hauke Hachmann <haxe@...>
Subject: [gtk-gnutella-devel] Crash at startup
To: gtk-gnutella-devel@...
Message-ID: <200905290147.34313.haxe@...>
Content-Type: Text/Plain;  charset="us-ascii"

Hi list,

I have a problem with latest svn revision 16799: I cannot even start the
application. Directly after invokation I get this error:

** ERROR **: pmap already contains the new region
aborting...
CRASH (pid=14792) by SIGABRT
Aborted

Any ideas?

Hauke




------------------------------

Message: 6
Date: Fri, 29 May 2009 15:53:34 +0200
From: Hauke Hachmann <haxe@...>
Subject: Re: [gtk-gnutella-devel] Crash at startup
To: Matthew Lye <mlye@...>,
        gtk-gnutella-devel@...
Message-ID: <200905291553.34538.haxe@...>
Content-Type: Text/Plain;  charset="iso-8859-1"

On Friday 29 May 2009, Matthew Lye wrote:
> > I have a problem with latest svn revision 16799:...
[...]
>
> That error message is from "lib/vmm.c", which was undergoing some
> work as recently as revision 16799.
> Just roll back to 16798 for the day if you need your client right
> now.

That did not work. The error must have been introduced earlier. I then
took the time and bisected the error back to r16786. Everything before
that works fine, everything starting from r16786 is broken.

Going with r16785 for the moment.

Bye,

Hauke




------------------------------

Message: 7
Date: Fri, 29 May 2009 18:09:51 +0200
From: Christian Biere <christianbiere@...>
Subject: Re: [gtk-gnutella-devel] Crash at startup
To: gtk-gnutella-devel@...
Message-ID: <20090529160951.GA21925@...>
Content-Type: text/plain; charset=utf-8

Hauke Hachmann wrote:

> On Friday 29 May 2009, Matthew Lye wrote:
> > > I have a problem with latest svn revision 16799:...
> [...]
> >
> > That error message is from "lib/vmm.c", which was undergoing some
> > work as recently as revision 16799.
> > Just roll back to 16798 for the day if you need your client right
> > now.
>
> That did not work. The error must have been introduced earlier. I then
> took the time and bisected the error back to r16786. Everything before
> that works fine, everything starting from r16786 is broken.
>
> Going with r16785 for the moment.

I can confirm this but I'm only seeing crashes when vmm_mmap() is used.
This happens either by uploads or when loading the FAQ under Help->FAQ
in the GUI. The crash doesn't occur immediately but a bit afterwards
because there seems to be something screwed up with respect to tracking
foreign regions.

If it happens on *inux more frequently, it might be because
/proc/self/maps is used then to find foreign regions.

--
Christian



------------------------------

Message: 8
Date: Fri, 29 May 2009 19:37:05 +0200
From: Christian Biere <christianbiere@...>
Subject: Re: [gtk-gnutella-devel] Crash at startup
To: gtk-gnutella-devel@...
Message-ID: <20090529173705.GA19545@...>
Content-Type: text/plain; charset=utf-8

Hauke Hachmann wrote:

> On Friday 29 May 2009, Matthew Lye wrote:
> > > I have a problem with latest svn revision 16799:...
> [...]
> >
> > That error message is from "lib/vmm.c", which was undergoing some
> > work as recently as revision 16799.
> > Just roll back to 16798 for the day if you need your client right
> > now.
>
> That did not work. The error must have been introduced earlier. I then
> took the time and bisected the error back to r16786. Everything before
> that works fine, everything starting from r16786 is broken.

This is probably fixed in SVN since r16807 now.

--
Christian



------------------------------

Message: 9
Date: Fri, 29 May 2009 19:52:05 +0200
From: Hauke Hachmann <haxe@...>
Subject: Re: [gtk-gnutella-devel] Crash at startup
To: gtk-gnutella-devel@...
Message-ID: <200905291952.05124.haxe@...>
Content-Type: Text/Plain;  charset="iso-8859-1"

On Friday 29 May 2009, Christian Biere wrote:
> This is probably fixed in SVN since r16807 now.

Nope, the newest revision (16813) still crashes on startup. But with a
different error message this time:

FATAL: Assertion failure in vmm.c:2311: "amount != 0"

h




------------------------------

------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, &
iPhoneDevCamp as they present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com 

------------------------------

_______________________________________________
gtk-gnutella-devel mailing list
gtk-gnutella-devel@...
https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel


End of gtk-gnutella-devel Digest, Vol 29, Issue 3
*************************************************