On Wednesday, July 23, 2014 1:50:13 PM UTC+5:30, Saúl Ibarra Corretgé wrote:
>
> On 07/22/2014 06:39 PM, Ashish wrote: 
> > 
> > VisualStudio shows me stack like this: 
> > 
> >      Application.exe!_NMSG_WRITE(int rterrnum=10)  Line 217    C 
> >      Application.exe!abort()  Line 61 + 0x7 bytes    C 
> >      Application.exe!_wassert(const wchar_t * expr=0x00496678, const 
> > wchar_t * filename=0x0049652c, unsigned int lineno=352)  Line 153    C 
> >      Application.exe!uv_tcp_queue_accept(uv_tcp_s * handle=0x0013fec4, 
> > uv_tcp_accept_s * req=0x003eacb0)  Line 352 + 0x21 bytes    C 
> >      Application.exe!uv_tcp_accept(uv_tcp_s * server=0x0013fec4, 
> > uv_tcp_s * client=0x49799684)  Line 639 + 0xd bytes    C 
> >>   Application.exe!uv_accept(uv_stream_s * server=0x0013fec4, 
> > uv_stream_s * client=0x49799684)  Line 55 + 0xd bytes    C 
> > 
> > 
> > Asssertion in uv_tcp_queue_accept in src\win\tcp.c fails: 
> >     assert(handle->flags & UV_HANDLE_LISTENING); 
> > 
> > 
> > Value of 'handle->flags' is 0x00000220 
> > 
>
> Before this happens, do you get any connection callback called with an 
> error? 
>
> I believe the culprit is this line here: 
> https://github.com/joyent/libuv/blob/master/src/win/tcp.c#L1050 
>
> -- 
> Saúl Ibarra Corretgé 
> bettercallsaghul.com 
>
>

This time I had in my code (status < 0) and found error code in connection 
callback -4060 (maps to UV__ENOBUFS) 
I return from callback when status < 0 
But next connection causes assertion failure:

*Assertion failed: handle->flags & UV_HANDLE_LISTENING, file src\win\tcp.c, 
line 352*

The assertion at line 352 is (in uv_tcp_queue_accept)
assert(handle->flags & UV_HANDLE_LISTENING);

Flag value: handle->flags = 0x00000220

This is stack:
     Application.exe!uv_tcp_queue_accept(uv_tcp_s * handle=0x0013fec4, 
uv_tcp_accept_s * req=0x003eb1b8)  Line 352 + 0x21 bytes    C
     Application.exe!uv_tcp_accept(uv_tcp_s * server=0x0013fec4, uv_tcp_s * 
client=0x15b49bdc)  Line 639 + 0xd bytes    C
     Application.exe!uv_accept(uv_stream_s * server=0x0013fec4, uv_stream_s 
* client=0x15b49bdc)  Line 55 + 0xd bytes    C
     Application.exe!on_new_connection(uv_stream_s * server=0x0013fec4, int 
status=0)  Line 1708 + 0xb bytes    C++

Here on_new_connection is connection callback. When assertion fails the 
callback doesn't indicate any error code in status.

Please help.

Thanks,
Ashish

-- 
You received this message because you are subscribed to the Google Groups 
"libuv" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/libuv.
For more options, visit https://groups.google.com/d/optout.

Reply via email to