{"action":"closed","issue":{"url":"https://api.github.com/repos/FreeRADIUS/freeradius-server/issues/1535","repository_url":"https://api.github.com/repos/FreeRADIUS/freeradius-server","labels_url":"https://api.github.com/repos/FreeRADIUS/freeradius-server/issues/1535/labels{/name}","comments_url":"https://api.github.com/repos/FreeRADIUS/freeradius-server/issues/1535/comments","events_url":"https://api.github.com/repos/FreeRADIUS/freeradius-server/issues/1535/events","html_url":"https://github.com/FreeRADIUS/freeradius-server/issues/1535","id":133417891,"number":1535,"title":"Segmentation fault when rlm_python generates too much RADIUS Attribute Tuples","user":{"login":"alejandro-perez","id":2082536,"avatar_url":"https://avatars.githubusercontent.com/u/2082536?v=3","gravatar_id":"","url":"https://api.github.com/users/alejandro-perez","html_url":"https://github.com/alejandro-perez","followers_url":"https://api.github.com/users/alejandro-perez/followers","following_url":"https://api.github.com/users/alejandro-perez/following{/other_user}","gists_url":"https://api.github.com/users/alejandro-perez/gists{/gist_id}","starred_url":"https://api.github.com/users/alejandro-perez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alejandro-perez/subscriptions","organizations_url":"https://api.github.com/users/alejandro-perez/orgs","repos_url":"https://api.github.com/users/alejandro-perez/repos","events_url":"https://api.github.com/users/alejandro-perez/events{/privacy}","received_events_url":"https://api.github.com/users/alejandro-perez/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2016-02-13T09:40:09Z","updated_at":"2016-02-16T16:25:43Z","closed_at":"2016-02-16T16:25:43Z","body":"If I make my python module to generate enough tuples to exceed the 4KB limit, FR (3.1.0) sigsegvs. I'm not sure whether this is particular to rlm_python or it is something that might happen with any other module.\r\n\r\nHere you are a backtrace.\r\n```\r\n#0  0x00007ffff6ed0691 in talloc_chunk_from_ptr () from /usr/local/lib/libtalloc.so.2\r\n#1  0x00007ffff6ed2266 in __talloc_get_name () from /usr/local/lib/libtalloc.so.2\r\n#2  0x00007ffff6ed2400 in _talloc_get_type_abort () from /usr/local/lib/libtalloc.so.2\r\n#3  0x00007ffff795dd31 in fr_pair_verify (file=0x7ffff7977570 \"src/lib/cursor.c\", line=306, \r\n    vp=0x640000061ae38a30) at src/lib/pair.c:2513\r\n#4  0x00007ffff7949c81 in fr_cursor_current (cursor=0x7fffffffe580) at src/lib/cursor.c:306\r\n#5  0x00007ffff7963756 in encode_value (out=0x7fffffffe5a3 \"\", outlen=249, \r\n    tlv_stack=0x7fffffffd420, depth=2, cursor=0x7fffffffe580, encoder_ctx=0x7fffffffe560)\r\n    at src/lib/radius_encode.c:609\r\n#6  0x00007ffff7964d0c in encode_rfc_hdr_internal (out=0x7fffffffe5a1 \"\\212\\002\", outlen=249, \r\n    tlv_stack=0x7fffffffd420, depth=2, cursor=0x7fffffffe580, encoder_ctx=0x7fffffffe560)\r\n    at src/lib/radius_encode.c:1107\r\n#7  0x00007ffff7964ef7 in encode_vendor_attr_hdr (out=0x7fffffffe5a1 \"\\212\\002\", outlen=249, \r\n    tlv_stack=0x7fffffffd420, depth=2, cursor=0x7fffffffe580, encoder_ctx=0x7fffffffe560)\r\n    at src/lib/radius_encode.c:1147\r\n#8  0x00007ffff7965b9a in encode_vsa_hdr (out=0x7fffffffe59b \"\\032\\006\", outlen=249, \r\n    tlv_stack=0x7fffffffd420, depth=1, cursor=0x7fffffffe580, encoder_ctx=0x7fffffffe560)\r\n    at src/lib/radius_encode.c:1397\r\n#9  0x00007ffff79663e1 in fr_radius_encode_pair (out=0x7fffffffe59b \"\\032\\006\", \r\n    outlen=18446744073709551557, cursor=0x7fffffffe580, encoder_ctx=0x7fffffffe560)\r\n    at src/lib/radius_encode.c:1577\r\n#10 0x00007ffff7961816 in fr_radius_encode (packet=0xe15b70, original=0xe157d0, \r\n    secret=0x98a110 \"saml-aaa\") at src/lib/radius.c:1451\r\n#11 0x00007ffff7960326 in fr_radius_send (packet=0xe15b70, original=0xe157d0, \r\n    secret=0x98a110 \"saml-aaa\") at src/lib/radius.c:548\r\n#12 0x0000000000419d7a in auth_socket_send (listener=0x98c670, request=0xe159a0)\r\n    at src/main/listen.c:1650\r\n#13 0x0000000000439df7 in request_finish (request=0xe159a0, action=1) at src/main/process.c:1418\r\n#14 0x000000000043a103 in request_running (request=0xe159a0, action=1)\r\n    at src/main/process.c:1514\r\n#15 0x0000000000438d90 in request_queue_or_run (request=0xe159a0, \r\n    process=0x439f28 <request_running>) at src/main/process.c:956\r\n#16 0x000000000043a98b in request_receive (ctx=0xe15770, listener=0x98c670, packet=0xe157d0, \r\n    client=0x989850, fun=0x410e92 <rad_authenticate>) at src/main/process.c:1740\r\n#17 0x000000000041a84e in auth_socket_recv (listener=0x98c670) at src/main/listen.c:1898\r\n#18 0x00000000004416c2 in event_socket_handler (xel=0xe07010, fd=14, ctx=0x98c670)\r\n    at src/main/process.c:4525\r\n#19 0x00007ffff79759ab in fr_event_loop (el=0xe07010) at src/lib/event.c:637\r\n#20 0x000000000044343a in radius_event_process () at src/main/process.c:5574\r\n#21 0x0000000000431c4d in main (argc=2, argv=0x7fffffffec68) at src/main/radiusd.c:586\r\n```"}}