Sorry, I mean to say that my example returns -13 from *uv_listen *(line 32
of uv_tcp_server.cpp), not uv_tcp_connect.
31 tty("uv tcp listen\n");
32 int r = uv_listen((uv_stream_t*) &server, 10, on_new_connection); //
r = -13
On Tuesday, March 24, 2015 at 2:19:16 PM UTC, Mark Simpson wrote:
>
> Here's a tiny Android project that exhibits the problem (see attachment).
> It's the android native-plasma sample with everything ripped out and a
> handful of libuv calls grabbed from the examples link I posted earlier.
> This code works fine on iOS (I can trigger the connect callback). On
> android, I just get the -13 return code from *uv_tcp_connect*.
>
> Probably worth double-checking the Android.mk, but we use similar settings
> & linker options for our other projects without an issue. Also, I have
> noticed rare SIGILLs in the debugger, but wasn't able to see anything
> incriminating on the stack / in the locals pane. I don't use the Android
> debugger much and don't tend to trust it a great deal, so not sure how
> significant this is. I have checked the libuv.a using readelf to ensure the
> format is correct and it looks fine, too.
>
>
>> *$ readelf -h ./libuv.a | grep -i 'class\|machine' | head -2* Class:
>> ELF32
>> Machine: ARM
>
>
> My colleague and I are going to do the cross compile using linux & gyp
> this afternoon, will let you know how we get on.
>
> Thanks,
> -Mark
>
> On Tuesday, March 24, 2015 at 12:32:38 PM UTC, Mark Simpson wrote:
>>
>> Hi again Saúl,
>>
>> In response to your question: I'm using port 12345.
>>
>> To ensure that I'm not doing anything obviously wrong with my sample
>> code, I've created an .h/.cpp containing a tiny amount of socket
>> functionality. I call *uv_tcp_connect* from my main function on
>> iOS/Android. I can compile & run it on iOS and connect using netcat.
>> Running the same code on android results in uv_listen returning -13
>> ("Listen error permission denied").
>>
>> My colleague and I are going to spin up a linux box and compile using gyp
>> on linux. If this doesn't work, I'll get back to you with more details & a
>> mini project that exhibits the errors I'm seeing.
>>
>> Thanks
>>
>> On Monday, March 23, 2015 at 9:44:15 PM UTC, Saúl Ibarra Corretgé wrote:
>>>
>>> Hi Mark!
>>>
>>> On 03/23/2015 07:56 PM, Mark Simpson wrote:
>>> > Hi,
>>> >
>>> > Firstly, thanks for the reply & for fixing those warnings.
>>> >
>>> > In response to your question:
>>> > I have tried to use the lib (I mentioned this in the original post,
>>> but
>>> > should've stated it more prominently) and not much is working. I've
>>> > tried three things so far:
>>> >
>>>
>>> Oh, looks like I missed that, sorry!
>>>
>>> > 1. Running an idle loop that spams to the console
>>> >
>>> > Result: I can run the idle loop & print stuff just fine.
>>> >
>>>
>>> Ok, basics work then.
>>>
>>> >
>>> > 2. The libuv socket example
>>> > (http://nikhilm.github.io/uvbook/networking.html). I'm just creating
>>> a
>>> > socket server then connecting to it via my mac's terminal & netcat
>>> (this
>>> > is something we do for our development builds with a non-libuv socket
>>> > server, so I'm fairly sure the connection/network configuration is
>>> > correct when using nc).
>>> >
>>> > Result: I can't connect. uv_listen returns -13 (*Listen error
>>> > permission denied*).
>>> >
>>>
>>> Are you using a port lower than 1024? Errno 13 is EACCESS.
>>>
>>> >
>>> > 3. A libcurl / libuv test program (basically
>>> > this:
>>> https://raw.githubusercontent.com/bagder/curl/master/docs/examples/multi-uv.c
>>>
>>> but
>>> > using callbacks for the write -- I have the same example working on
>>> iOS)
>>> >
>>> > Result: Some of the plumbing appears to trigger. The curl socket
>>> > callbacks don't trigger, but my requests come through as
>>> completing,
>>> > but with no valid information (e.g. after I receive
>>> > a CURLMSG_DONE message, curl_easy_getinfo(easy_handle, *....*)
>>> > doesn't tell me anything, as the out pointers are left unchanged).
>>> > I'll dig into debugging this a bit more tomorrow and let you know
>>> > what is/isn't triggered.
>>> >
>>> >
>>> > Tomorrow, I will try to cut down my example programs to a bare minimum
>>> > then attach them to this thread. Also, do you have any suggestions for
>>> > simple scenarios that would aid in diagnosing the problem? If there's
>>> > anything I can do to provide better information, I will get onto that
>>> > tomorrow.
>>> >
>>>
>>> I'd first try to get a basic TCP server working on Android. AFAIK, libuv
>>> does work on it so it might just be a tiny thing we need to tweak.
>>>
>>>
>>> Cheers,
>>>
>>> --
>>> Saúl Ibarra Corretgé
>>> bettercallsaghul.com
>>>
>>>
>>>
--
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.