[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [Libevent-users] IRIX build failure in regress_util.c



On Tue, Nov 23, 2010 at 8:16 PM, Kevin Bowling <kevin.bowling@xxxxxxxxxx> wrote:
On Mon, Nov 22, 2010 at 8:43 PM, Nick Mathewson <nickm@xxxxxxxxxxxxx> wrote:
On Mon, Nov 22, 2010 at 6:59 PM, Kevin Bowling <kevin.bowling@xxxxxxxxxx> wrote:
> On Mon, Nov 22, 2010 at 9:54 AM, Nick Mathewson <nickm@xxxxxxxxxxxxx> wrote:
>>
>> On Mon, Nov 22, 2010 at 4:06 AM, Kevin Bowling <kevin.bowling@xxxxxxxxxx>
>> wrote:
>> > IRIX 6.5.29, latest MIPSpro compiler and various GNU utilities from
>> > Nekochan
>> > repository.  libevent-2.0.8rc.
> regress:
>   NOTE regress.c:1912: Can't fake unsetenv; skipping test
>   FAIL regress_buffer.c:918: assert(sum == evbuffer_get_length(buf)):
> 5356000 vs 5324005evbuffer/iterative:
>   [iterative FAILED]

I don't know what's up here, but the numbers involved aren't even
close to 1<<31, so I doubt it's a 64-bit issue.  Something else is
probably going on.

>   FAIL regress_util.c:389: assert(r == 18): 15 vs 18util/evutil_snprintf:
>   [evutil_snprintf FAILED]

This is pretty serious; if evutil_snprintf isn't working right, this
could be a reason for some other tests failing.

I found information on SGI's snprintf implementation: http://lists-archives.org/git/665118-git-compat-util-h-adjust-for-sgi-irix-6-5.html

#defining the various standards results in some catch-22s, but directly using  _xpg5_vsnprintf seems to be the easiest fix and indeed brings us down to 4 fails for /dev/poll (a couple timeouts and getaddrinfo EVUTIL_EAI_NONAME), 2 fails for poll (getaddrinfo EVUTIL_EAI_NONAME), and 2 for select (getaddrinfo EVUTIL_EAI_NONAME).
 
 
With my latest patch set on IRIX, ./configure ac_cv_func_getaddrinfo=no results in full test passing for both select and poll.  I think(???) the two failures with native getaddrinfo are benign (regress_util.c:Line 962: Try the failing case of AI_NUMERICHOST).

The two /dev/poll failures are related to close detection:

kev009@IRIS ~/Libevent/test $ ./regress --verbose http/close_detection
http/close_detection: [forking]
    OK regress_http.c:1733: assert(evcon)
  FAIL regress_http.c:1668: assert(req)
    OK regress_http.c:1756: assert(TAILQ_FIRST(&http->connections) == NULL)
  [close_detection FAILED]

I will consult the IRIX gurus on nekochan.net and see if it is possible to get close detection working.

Regards,
Kevin Bowling