Freeradius crashes with SIGABRT

Daniel Feuchtinger daniel.feuchtinger at lrz.de
Fri Mar 15 15:41:32 CET 2019


I changed to a debian test machine with stretch
running version 3.0.18, compiled with clang
(more on that in a minute). 
The crashes look the same to me. 

Am 07.03.19 um 15:48 schrieb Adam Majer:
> On 3/6/19 11:17 PM, Alan DeKok wrote:
> 
> One could also try using valgrind and with origin tracking, it should also indicate where the pointer was freed.
> 
>   valgrind --track-origins=yes /usr/sbin/radiusd -f -d /etc/raddb

That gives a lot of errors without any crash,
starting with: 

==8960== Memcheck, a memory error detector
==8960== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==8960== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info
==8960== Command: /usr/sbin/freeradius -f -d /etc/freeradius/3.0/
==8960==
==8961==
==8961== HEAP SUMMARY:
==8961==     in use at exit: 314 bytes in 3 blocks
==8961==   total heap usage: 5 allocs, 2 frees, 466 bytes allocated
==8961==
==8961== LEAK SUMMARY:
==8961==    definitely lost: 0 bytes in 0 blocks
==8961==    indirectly lost: 0 bytes in 0 blocks
==8961==      possibly lost: 314 bytes in 3 blocks
==8961==    still reachable: 0 bytes in 0 blocks
==8961==         suppressed: 0 bytes in 0 blocks
==8961== Rerun with --leak-check=full to see details of leaked memory
==8961==
==8961== For counts of detected and suppressed errors, rerun with: -v
==8961== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
==8960== Thread 4:
==8960== Conditional jump or move depends on uninitialised value(s)
==8960==    at 0x403908D: ???
==8960==    by 0xD3E80EF: ???
==8960==  Uninitialised value was created by a heap allocation
==8960==    at 0x4C2BBAF: malloc (vg_replace_malloc.c:299)
==8960==    by 0x5BBBF9D: talloc_pool (in /usr/lib/x86_64-linux-gnu/libtalloc.so.2.1.8)
==8960==    by 0x41B630: auth_socket_recv (listen.c:1553)
==8960==    by 0x436DBD: event_socket_handler (process.c:4850)
==8960==    by 0x5092647: fr_event_loop (in /usr/lib/freeradius/libfreeradius-radius.so)
==8960==    by 0x427643: main (radiusd.c:596)
==8960==
==8960== Conditional jump or move depends on uninitialised value(s)
==8960==    at 0x4048D0A: ???
==8960==    by 0xD3E80EF: ???
==8960==  Uninitialised value was created by a heap allocation
==8960==    at 0x4C2BBAF: malloc (vg_replace_malloc.c:299)
==8960==    by 0x5BBBF9D: talloc_pool (in /usr/lib/x86_64-linux-gnu/libtalloc.so.2.1.8)
==8960==    by 0x41B630: auth_socket_recv (listen.c:1553)
==8960==    by 0x436DBD: event_socket_handler (process.c:4850)
==8960==    by 0x5092647: fr_event_loop (in /usr/lib/freeradius/libfreeradius-radius.so)
==8960==    by 0x427643: main (radiusd.c:596)


and ending with 

==8960== Thread 4: 
==8960== Conditional jump or move depends on uninitialised value(s)
==8960==    at 0x40390AF: ???
==8960==    by 0x15EA0F2F: ???
==8960==  Uninitialised value was created by a heap allocation
==8960==    at 0x4C2BBAF: malloc (vg_replace_malloc.c:299)
==8960==    by 0x5BBBF9D: talloc_pool (in /usr/lib/x86_64-linux-gnu/libtalloc.so.2.1.8)
==8960==    by 0x41B630: auth_socket_recv (listen.c:1553)
==8960==    by 0x436DBD: event_socket_handler (process.c:4850)
==8960==    by 0x5092647: fr_event_loop (in /usr/lib/freeradius/libfreeradius-radius.so)
==8960==    by 0x427643: main (radiusd.c:596)
==8960==
==8960== Conditional jump or move depends on uninitialised value(s)
==8960==    at 0x4048725: ???
==8960==    by 0x15EA0F2F: ???
==8960==  Uninitialised value was created by a heap allocation
==8960==    at 0x4C2BBAF: malloc (vg_replace_malloc.c:299)
==8960==    by 0x5BBBF9D: talloc_pool (in /usr/lib/x86_64-linux-gnu/libtalloc.so.2.1.8)
==8960==    by 0x41B630: auth_socket_recv (listen.c:1553)
==8960==    by 0x436DBD: event_socket_handler (process.c:4850)
==8960==    by 0x5092647: fr_event_loop (in /usr/lib/freeradius/libfreeradius-radius.so)
==8960==    by 0x427643: main (radiusd.c:596)
==8960==
==8960== Conditional jump or move depends on uninitialised value(s)
==8960==    at 0x404844C: ???
==8960==    by 0x15EA0F2F: ???
==8960==  Uninitialised value was created by a heap allocation
==8960==    at 0x4C2BBAF: malloc (vg_replace_malloc.c:299)
==8960==    by 0x5BBBF9D: talloc_pool (in /usr/lib/x86_64-linux-gnu/libtalloc.so.2.1.8)
==8960==    by 0x41B630: auth_socket_recv (listen.c:1553)
==8960==    by 0x436DBD: event_socket_handler (process.c:4850)
==8960==    by 0x5092647: fr_event_loop (in /usr/lib/freeradius/libfreeradius-radius.so)
==8960==    by 0x427643: main (radiusd.c:596)
==8960==
==8960==
==8960== More than 1000 different errors detected.  I'm not reporting any more.
==8960== Final error counts will be inaccurate.  Go fix your program!
==8960== Rerun with --error-limit=no to disable this cutoff.  Note
==8960== that errors may occur in your program without prior warning from
==8960== Valgrind, because errors are no longer being displayed.
==8960==

freeradius still running fine at this point. 
Is it worth to investigate those errors?

Daniel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 6026 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20190315/b289b104/attachment.bin>


More information about the Freeradius-Users mailing list