On Jun 28, 2017, at 7:09 AM, RANJALAHY RASOLOFOMANANA, Bija <bija.ranjalahy@capgemini.com> wrote:
Hi all,
We are frequently facing a crash of our freeradius server on live production environment (8 times in 2 months). The crash can't be reproduced on our test environment so we need help. Sometimes, we have a core dump (case 1- the server crashes), sometimes, we don't (case 2- the server freezes). Unfortunately, the core dumps don't provide useful informations: Here are examples of the core dumps : core 1: #0 0x00000034b680f5db in ?? () #1 0x00007fa718d066c6 in ?? () #2 0x0000000000000000 in ?? ()
core 2: #0 0x00000034b680f5db in ?? () #1 0x00007f169f94e6c6 in ?? () #2 0x0000000000000000 in ?? ()
Freeradius version : 3.0.11 Context : our server sends REST request to a http server to retrieve data which are then stored in a cache during 1 hour. The problem started when we added this feature.
Leads : 1- The server logs all http requests that are sent. Somehow, the line log is truncated when the problem appears. Maybe, it is just a coincidence but we are suspecting this part. We use the rlm_rest module + libcurl to make our requests.
Have you encountered a problem using those module/library ? We tried to upgrade libcurl from 7.50.3 to 7.54.0 but this doesn't fix the problem.
2- In the case 2 (the server freezes), we've got the following message in our log files: Mon Jun 26 22:00:31 2017 : Error: (10180900) Ignoring duplicate packet from client xxx port 21665 - ID: 164 due to unfinished request in component authorize module <our cache module>
Our cache module is based on the rlm_cache_rbtree module: cache <cache name> { driver = "rlm_cache_rbtree"
Have you encountered a problem using rlm_cache_rbtree module ?
Sounds like a double locking issue in rlm_cache_rbtree. Upgrade to 3.0.14. If that doesn't work install the debuginfo packages for libcurl, and build with server --with-developer so the debug symbols don't get stripped. -Arran