Just to be sure, I've just implemented both SYS_ARCH_PROTECT and
SYS_ARCH_UNPROTECT
with one global recursive-mutex.
Still having the "sock->fd_used != 0"  Assertion..

Do we have another way chasing this issue?



On Tue, Nov 7, 2017 at 8:47 PM, Itzik Levi <[email protected]> wrote:

> Wait, it might be the implementation for SYS_ARCH_PROTECT, SYS_
> ARCH_UNPROTECT.
>
> I will check.
>
> On Tue, Nov 7, 2017 at 8:42 PM, Itzik Levi <[email protected]> wrote:
>
>> Some update:
>>
>> I've enabled "LWIP_NETCONN_FULLDUPLEX" - needed some work as it requires
>> LWIP_NETCON_SEM_PER_THREAD.
>>
>> So I needed to implement(getting a unique semaphore per thread):
>>
>>    - LWIP_NETCONN_THREAD_SEM_GET()
>>    - LWIP_NETCONN_THREAD_SEM_ALLOC()
>>    - LWIP_NETCONN_THREAD_SEM_FREE()
>>
>>
>> Now I cant even reach the corruption issue(not sure if solved or not), as
>> I constantly getting another assert after a while : "Assertion
>> "sock->fd_used != 0" failed at line 344 in lwip/src/api/sockets.c.".
>>
>> I'm guessing thats why this feature is in alpha level :)
>>
>>
>>
>>
>>
>> On Tue, Nov 7, 2017 at 7:09 PM, Itzik Levi <[email protected]> wrote:
>>
>>> Hi Sylvain,
>>>
>>> Although I am reading and writing from separated threads, I am not doing
>>> that in parallel(mutex protected), lwip_recv is never called in
>>> parallel to lwip_send.
>>> I will try and enable LWIP_NETCONN_FULLDUPLEX to see if it does
>>> anything, but I remember its highly experimental at this point.
>>>
>>> Will report back.
>>>
>>> On Tue, Nov 7, 2017 at 7:02 PM, Sylvain Rochet <[email protected]>
>>> wrote:
>>>
>>>> Hi Itzik,
>>>>
>>>> On Tue, Nov 07, 2017 at 06:40:52PM +0200, Itzik Levi wrote:
>>>> > Hi Sylvain,
>>>> >
>>>> > Thanks for the response!
>>>> >
>>>> > Just tried disabling both CORE_LOCKING and CORE_LOCKING_INPUT and
>>>> > unfortunately encountered the same problem.
>>>> >
>>>> > I'm probably missing something, but what... loss-less stream works
>>>> > excellent, without any corruption, might be some kind of internal tcp
>>>> queue
>>>> > corruption while congested?
>>>>
>>>> It looks like a thread safety issue, but you seem to do things well
>>>> (PPPAPI, pppos_input_tcpip, socket API, rx/tx mutex), but could you try
>>>> setting LWIP_NETCONN_FULLDUPLEX since you are using rx and tx from
>>>> multiple threads ?
>>>>
>>>> Sylvain
>>>>
>>>> _______________________________________________
>>>> lwip-users mailing list
>>>> [email protected]
>>>> https://lists.nongnu.org/mailman/listinfo/lwip-users
>>>>
>>>
>>>
>>
>
_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to