Re: segmentation fault in rlm_preprocess
ooops, i'm sorry.. you're right, i wrote to the wrong list. btw thank you arran, you fixed it! now, this is the new issue: rad_recv: Access-Challenge packet from host 172.20.23.30 port 1812, id=159, length=85 EAP-Message = 0x01a800160410b8a13ab82ba23820a55c0440bf74467f Message-Authenticator = 0x78a5dd4358024b720b10b1bcb7b0c917 State = 0xd036ba28d09ebe94e88e461954f76013 Proxy-State = 0x323432 (0) # Executing section post-proxy from file /etc/raddb/sites-enabled/default (0) group post-proxy { (0) - entering group post-proxy {...} (0) attr_filter.access_challenge : expand: '%{User-Name}' -> 'test@fr3' (0) attr_filter.access_challenge : Matched entry DEFAULT at line 13 Program received signal SIGSEGV, Segmentation fault. 0x00007ffff0e02d63 in attr_filter_common (instance=0x8a1880, request=0x8e77b0, packet=0x942e00) at src/modules/rlm_attr_filter/rlm_attr_filter.c:269 269 if (vp->da->attr == check_item->da->attr) { Missing separate debuginfos, use: debuginfo-install freeradius-3.0.0-14.el6.x86_64 (gdb) info args instance = 0x8a1880 request = 0x8e77b0 packet = 0x942e00 (gdb) info locals fall_through = <value optimized out> relax_filter = 0 inst = 0x8a1880 cursor = {first = 0x942e70, found = 0x0, last = 0x0, current = 0x944490, next = 0x9445a0} out = {first = 0x7fffffffd198, found = 0x0, last = 0x0, current = 0x0, next = 0x0} vp = 0x8e77b0 output = 0x0 input = <value optimized out> check_item = 0x944490 pl = 0x8a2ad0 found = 1 pass = <value optimized out> fail = <value optimized out> keyname = 0x7fffffffd040 "test@fr3" buffer = "test@fr3\000\264\230\000\000\000\000\000\023\000\000\000\000\000\000\000\366\253:\367\377\177\000\000`\327\377\377\377\177\000\000P\327\377\377\377\177\000\000\f\000\000\000\00 432\000\070d09ebe94e88e461954f76013\000\064\064\060bf74467f\000\000\000\320\377\377\377\177\000\000\200n+\366\377\177\000\000\300\327\377\377\377\177\000\000\260\327\377\377\377\177\000\ 177\000\000\360\320\377\377\377\177\000\000\347\303\366\365\377\177\000\000\005\353\a\366\377\177\000\000\000\000\000\000\000\000\000\000\254\326\377\377\377\177\000\000\310\326\377\377\ \000\000\000\000\000\000n+\366\000\000\000\000 &\372\365\000\000\000\000\240\326\377\377\377\177\000\000\200\003\231\000\000\000\000" (gdb) info frame Stack level 0, frame at 0x7fffffffd1e0: rip = 0x7ffff0e02d63 in attr_filter_common (src/modules/rlm_attr_filter/rlm_attr_filter.c:269); saved rip 0x41d6f9 called by frame at 0x7fffffffda00 source language c. Arglist at 0x7fffffffcfe8, args: instance=0x8a1880, request=0x8e77b0, packet=0x942e00 Locals at 0x7fffffffcfe8, Previous frame's sp is 0x7fffffffd1e0 Saved registers: rbx at 0x7fffffffd1a8, rbp at 0x7fffffffd1b0, r12 at 0x7fffffffd1b8, r13 at 0x7fffffffd1c0, r14 at 0x7fffffffd1c8, r15 at 0x7fffffffd1d0, rip at 0x7fffffffd1d8 (gdb) ------------------------- This should be on devel, but nevermind. Should be fixed, can you check? -Arran Arran Cudbard-Bell <a.cudbardb at freeradius.org> FreeRADIUS Development Team Il 30/05/13 15.58, duffy ha scritto:
hi list!
today we built from master and we ran into this:
Ready to process requests. rad_recv: Access-Request packet from host 172.20.23.31 port 1814, id=193, length=228 NAS-Port-Type = Wireless-802.16 Proxy-State = 0x323231 WiMAX-Available-In-Client = 99 Service-Type = Framed-User WiMAX-BS-ID = 0x303030303230303630313030 WiMAX-Release = "1.1" Message-Authenticator = 0x6149f02200f787d01064d0305effb1ce WiMAX-Accounting-Capabilities = Flow-Based NAS-IP-Address = 172.20.10.121 WiMAX-Hotlining-Capabilities = Hotline-Profile-Id Calling-Station-Id = "0B4E398C5FF7" User-Name = "test@fr3" Event-Timestamp = "May 30 2013 15:42:48 CEST" NAS-Identifier = "A_NAS" WiMAX-GMT-Timezone-offset = 16777216 EAP-Message = 0x022a000d017465737440667233 Attr-26 = 0x000060b5010301 WiMAX-Idle-Mode-Notification-Cap = Supported (3) # Executing section authorize from file /etc/raddb/sites-enabled/default (3) group authorize { (3) - entering group authorize {...} (3) eap : EAP packet type response id 42 length 13 (3) eap : EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize (3) [eap] = ok
Breakpoint 1, hints_setup (hints=0x9f9790, request=0xaf9870) at src/modules/rlm_preprocess/rlm_preprocess.c:381 381 { Missing separate debuginfos, use: debuginfo-install freeradius-3.0.0-13.el6.x86_64 (gdb) f #0 hints_setup (hints=0x9f9790, request=0xaf9870) at src/modules/rlm_preprocess/rlm_preprocess.c:381 381 { (gdb) info args hints = 0x9f9790 request = 0xaf9870 (gdb) info frame Stack level 0, frame at 0x7fffffffc910: rip = 0x7fffe7b222a0 in hints_setup (src/modules/rlm_preprocess/rlm_preprocess.c:381); saved rip 0x7fffe7b227eb called by frame at 0x7fffffffcd30 source language c. Arglist at 0x7fffffffc900, args: hints=0x9f9790, request=0xaf9870 Locals at 0x7fffffffc900, Previous frame's sp is 0x7fffffffc910 Saved registers: rip at 0x7fffffffc908 (gdb) n 389 request_pairs = request->packet->vps; (gdb) n 391 if (!hints || !request_pairs) (gdb) n 389 request_pairs = request->packet->vps; (gdb) n 391 if (!hints || !request_pairs) (gdb) n 397 name = (tmp = pairfind(request_pairs, PW_USER_NAME, 0, TAG_ANY)) ? (gdb) n 399 if (!name || name[0] == 0) { (gdb) n 421 pairdelete(&add, PW_STRIP_USER_NAME, 0, TAG_ANY); (gdb) n 410 if (((strcmp(i->name, "DEFAULT") == 0) || (strcmp(i->name, name) == 0)) && (gdb) n 411 (paircompare(request, request_pairs, i->check, NULL) == 0)) { (gdb) n
Program received signal SIGSEGV, Segmentation fault. 0x00007ffff75d4a56 in paircompare (request=0xaf9870, req_list=0xaf9ce0, check=0x9f8fe0, rep_list=0x0) at src/main/valuepair.c:495 495 if (!check_item->da->vendor) switch (check_item->da->attr) { (gdb) info args request = 0xaf9870 req_list = 0xaf9ce0 check = 0x9f8fe0 rep_list = 0x0 (gdb) info frame Stack level 0, frame at 0x7fffffffc8b0: rip = 0x7ffff75d4a56 in paircompare (src/main/valuepair.c:495); saved rip 0x7fffe7b223bb called by frame at 0x7fffffffc910 source language c. Arglist at 0x7fffffffc808, args: request=0xaf9870, req_list=0xaf9ce0, check=0x9f8fe0, rep_list=0x0 Locals at 0x7fffffffc808, Previous frame's sp is 0x7fffffffc8b0 Saved registers: rbx at 0x7fffffffc878, rbp at 0x7fffffffc880, r12 at 0x7fffffffc888, r13 at 0x7fffffffc890, r14 at 0x7fffffffc898, r15 at 0x7fffffffc8a0, rip at 0x7fffffffc8a8 (gdb) print check_item->da $1 = (const DICT_ATTR *) 0x1000003ec (gdb) print check_item->da->vendor Cannot access memory at address 0x1000003f4 (gdb) print check_item->da->attr Cannot access memory at address 0x1000003ec
it looks like a bug in src/modules/rlm_preprocess/rlm_preprocess.c but we're not so sure about the resolution; has anyone encountered/solved the same issue?
thanks+regards, duffy
On 30 May 2013, at 11:43, duffy <reg.marcos@yahoo.it> wrote:
ooops, i'm sorry.. you're right, i wrote to the wrong list. btw thank you arran, you fixed it!
now, this is the new issue:
rad_recv: Access-Challenge packet from host 172.20.23.30 port 1812, id=159, length=85 EAP-Message = 0x01a800160410b8a13ab82ba23820a55c0440bf74467f Message-Authenticator = 0x78a5dd4358024b720b10b1bcb7b0c917 State = 0xd036ba28d09ebe94e88e461954f76013 Proxy-State = 0x323432 (0) # Executing section post-proxy from file /etc/raddb/sites-enabled/default (0) group post-proxy { (0) - entering group post-proxy {...} (0) attr_filter.access_challenge : expand: '%{User-Name}' -> 'test@fr3' (0) attr_filter.access_challenge : Matched entry DEFAULT at line 13
Ok think i've got that one too. Arran Cudbard-Bell <a.cudbardb@freeradius.org> FreeRADIUS Development Team
hi arran! i'm not sure yet, but it seems not solved. that's our gdb output: (0) Proxying request to home server 172.20.23.30 port 1812 Sending Access-Request of id 56 from 172.20.23.31 port 1814 to 172.20.23.30 port 1812 NAS-Port-Type = Wireless-802.16 Proxy-State = 0x313139 WiMAX-Available-In-Client = 99 Service-Type = Framed-User WiMAX-BS-Id = 0x303030303230303630313030 WiMAX-Release = "1.1" Message-Authenticator = 0x6166e5bd182d066691937bdc3ec9a893 WiMAX-Accounting-Capabilities = Flow-Based NAS-IP-Address = 172.20.10.121 WiMAX-Hotlining-Capabilities = Hotline-Profile-Id Calling-Station-Id = "0C4C399C58F7" User-Name = "test@fr3" Event-Timestamp = "Jun 1 2013 15:23:33 CEST" NAS-Identifier = "RM_TI_ASN-GW" WiMAX-GMT-Timezone-offset = 16777216 EAP-Message = 0x02fd000d017465737440667233 Attr-26.24757.1.5 = 0x01 WiMAX-Idle-Mode-Notification-Cap = Supported Waking up in 0.3 seconds. rad_recv: Access-Challenge packet from host 172.20.23.30 port 1812, id=56, length=85 EAP-Message = 0x01fe001604102735f90a69c8e681f667a84f5a7e692a Message-Authenticator = 0xa1f5b821e7e2f8bb57d3608a3efbfab1 State = 0x0caf7b430c517f3cf22df6a329b742e7 Proxy-State = 0x313139 (0) # Executing section post-proxy from file /etc/raddb/sites-enabled/default (0) group post-proxy { (0) - entering group post-proxy {...} (0) attr_filter.access_challenge : expand: '%{User-Name}' -> 'test@fr3' (0) attr_filter.access_challenge : Matched entry DEFAULT at line 13 Program received signal SIGSEGV, Segmentation fault. 0x00007ffff0e02d7b in attr_filter_common (instance=0x8a1a20, request=0x8e76b0, packet=0x8e7980) at src/modules/rlm_attr_filter/rlm_attr_filter.c:267 267 if (vp->da->attr == check_item->da->attr) { Missing separate debuginfos, use: debuginfo-install freeradius-3.0.0-15.el6.x86_64 (gdb) info frame Stack level 0, frame at 0x7fffffffd1e0: rip = 0x7ffff0e02d7b in attr_filter_common (src/modules/rlm_attr_filter/rlm_attr_filter.c:267); saved rip 0x41d949 called by frame at 0x7fffffffda00 source language c. Arglist at 0x7fffffffcfb8, args: instance=0x8a1a20, request=0x8e76b0, packet=0x8e7980 Locals at 0x7fffffffcfb8, Previous frame's sp is 0x7fffffffd1e0 Saved registers: rbx at 0x7fffffffd1a8, rbp at 0x7fffffffd1b0, r12 at 0x7fffffffd1b8, r13 at 0x7fffffffd1c0, r14 at 0x7fffffffd1c8, r15 at 0x7fffffffd1d0, rip at 0x7fffffffd1d8 (gdb) (gdb) info args instance = 0x8a1a20 request = 0x8e76b0 packet = 0x8e7980 (gdb) (gdb) info locals fall_through = <value optimized out> relax_filter = 0 inst = 0x8a1a20 vp = 0x8e76b0 input = {first = 0x8e79f0, found = 0x0, last = 0x0, current = 0x944310, next = 0x944420} check = {first = 0x8a2c78, found = 0x0, last = 0x0, current = 0x8a24e0, next = 0x8a2590} out = {first = 0x7fffffffd198, found = 0x0, last = 0x0, current = 0x0, next = 0x0} input_item = <value optimized out> check_item = 0x8a24e0 output = 0x0 pl = 0x8a2c70 found = 1 pass = <value optimized out> fail = <value optimized out> keyname = 0x7fffffffd010 "test@fr3" buffer = "test@fr3\000D\224\000\000\000\000\000pޘ\000\000\000\000\000\372\217\024\357\000\000\000\000\060\327\377\377\377\177\000\000 \327\377\377\377\177\000\000\f\000\000\000\000\000\000\000P\330\377\377\377\177\000\000\005\353\a\366\377\177\000\000\366\253:\367\377\177\000\000`\327\377\377\377\177\000\000P\327\377\377\377\177\000\000\f\000\000\000\000\000\000\000\200\330\377\377\377\177\000\000\060x313139\000\063\060c517f3cf22df6a329b742e7\000\070\064f5a7e692a\000\000\372\352\a\366\377\177\000\000\250\322\377\377\377\177\000\000\200\001\231", '\000' <repeats 13 times>, " \000\000\000\060\000\000\000\340\321\377\377\377\177\000\000\360\320\377\377\377\177\000\000\270\326\377\377\377\177\000\000\000\321\377\377\377\177\000\000\000\000\000\000\000\000\000\000\254\326\377\377\377\177\000\000\310\326\377\377\377\177\000" (gdb) thank you for your help! duffy Il 30/05/13 19.24, Arran Cudbard-Bell ha scritto:
On 30 May 2013, at 11:43, duffy <reg.marcos@yahoo.it> wrote:
ooops, i'm sorry.. you're right, i wrote to the wrong list. btw thank you arran, you fixed it!
now, this is the new issue:
rad_recv: Access-Challenge packet from host 172.20.23.30 port 1812, id=159, length=85 EAP-Message = 0x01a800160410b8a13ab82ba23820a55c0440bf74467f Message-Authenticator = 0x78a5dd4358024b720b10b1bcb7b0c917 State = 0xd036ba28d09ebe94e88e461954f76013 Proxy-State = 0x323432 (0) # Executing section post-proxy from file /etc/raddb/sites-enabled/default (0) group post-proxy { (0) - entering group post-proxy {...} (0) attr_filter.access_challenge : expand: '%{User-Name}' -> 'test@fr3' (0) attr_filter.access_challenge : Matched entry DEFAULT at line 13
Ok think i've got that one too.
Arran Cudbard-Bell <a.cudbardb@freeradius.org> FreeRADIUS Development Team
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/devel.html
you got it, thanks alan! duffy Il 01/06/13 15.47, Alan DeKok ha scritto:
duffy wrote:
hi arran! i'm not sure yet, but it seems not solved. that's our gdb output:
I've pushed a fix.
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/devel.html
participants (3)
-
Alan DeKok -
Arran Cudbard-Bell -
duffy