core bugfixes

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

core bugfixes

steve-k
Hi Tobias,

after a long time of absence from svxlink development I was forced
to dive into source code again since there were some serious problems
that caused svxlink to terminate without any log message. This behavior
could be observed especially when low quality mobile internet connections
were used and it could be tracked down to an assert statement at line
298 in AsyncTcpClient.cpp. I'm not sure what led to the open descriptor
on certain timeout conditions, but it happens rather frequently. Therefore,
I've changed this line from "assert(sock ==-1);" to "if (sock != -1) :: close(sock);"
Another problem affects the CppDnsLookupWorker, which leaves the
mutex locked on DNS timeout. The final pthread_mutex_destroy will fail to
release the resources for this reason. The mutex is of no particular use
anyway, since the thread communication is organized in a producer consumer
manner, avoiding any concurrent access to the shared resources.
Enclosed you'll find a re-written version of the CppDnsLookupWorker.

vy 73s Steve DH1DM

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
Svxlink-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/svxlink-devel

AsyncCppDnsLookupWorker.cpp (7K) Download Attachment
AsyncCppDnsLookupWorker.h (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: core bugfixes

Adi Bier-3
Hi Steve,

thank you very much for your efforts. I will create a branch on my
git-account including your changes.
I think it is Tobias preferred way ;)

vy 73s de Adi / DL1HRC

Am 03.06.2016 um 18:44 schrieb [hidden email]:

> Hi Tobias,
>
> after a long time of absence from svxlink development I was forced
> to dive into source code again since there were some serious problems
> that caused svxlink to terminate without any log message. This behavior
> could be observed especially when low quality mobile internet connections
> were used and it could be tracked down to an assert statement at line
> 298 in AsyncTcpClient.cpp. I'm not sure what led to the open descriptor
> on certain timeout conditions, but it happens rather frequently. Therefore,
> I've changed this line from "assert(sock ==-1);" to "if (sock != -1) :: close(sock);"
> Another problem affects the CppDnsLookupWorker, which leaves the
> mutex locked on DNS timeout. The final pthread_mutex_destroy will fail to
> release the resources for this reason. The mutex is of no particular use
> anyway, since the thread communication is organized in a producer consumer
> manner, avoiding any concurrent access to the shared resources.
> Enclosed you'll find a re-written version of the CppDnsLookupWorker.
>
> vy 73s Steve DH1DM
>
>
>
> ------------------------------------------------------------------------------
> What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
> patterns at an interface-level. Reveals which users, apps, and protocols are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity
> planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
>
>
>
> _______________________________________________
> Svxlink-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/svxlink-devel
>


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
Svxlink-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/svxlink-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: core bugfixes

Adi Bier-3
In reply to this post by steve-k
Hi Steve,

there is a AsyncTcpbugfixes branch on my git account.
A pull request has been done.

vy 73s de Adi / DL1HRC


Am 03.06.2016 um 18:44 schrieb [hidden email]:

> Hi Tobias,
>
> after a long time of absence from svxlink development I was forced
> to dive into source code again since there were some serious problems
> that caused svxlink to terminate without any log message. This behavior
> could be observed especially when low quality mobile internet connections
> were used and it could be tracked down to an assert statement at line
> 298 in AsyncTcpClient.cpp. I'm not sure what led to the open descriptor
> on certain timeout conditions, but it happens rather frequently. Therefore,
> I've changed this line from "assert(sock ==-1);" to "if (sock != -1) :: close(sock);"
> Another problem affects the CppDnsLookupWorker, which leaves the
> mutex locked on DNS timeout. The final pthread_mutex_destroy will fail to
> release the resources for this reason. The mutex is of no particular use
> anyway, since the thread communication is organized in a producer consumer
> manner, avoiding any concurrent access to the shared resources.
> Enclosed you'll find a re-written version of the CppDnsLookupWorker.
>
> vy 73s Steve DH1DM
>
>
>
> ------------------------------------------------------------------------------
> What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
> patterns at an interface-level. Reveals which users, apps, and protocols are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity
> planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
>
>
>
> _______________________________________________
> Svxlink-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/svxlink-devel
>


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
Svxlink-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/svxlink-devel
Loading...