[Olsr-dev] olsrdv1: crash in jsoninfo plugin - weimarnetz

Ferry Huberts (spam-protected)
Thu Jun 18 10:16:01 CEST 2015


I've pushed my fixes into the release-0.9.0 and master branches for lack 
of response.

Henning, proceed with a 0.9.1 release at your leasure :-)

On 16/06/15 22:38, Ferry Huberts wrote:
> Ok, disregard this patch please.
>
> I fixed it better.
> Please try the branch jsoninfo-crash-fix in the repository.
>
> On 16/06/15 21:20, Ferry Huberts wrote:
>> Does this patch help? (I bet it does)
>>
>>
>>
>>
>> On 16/06/15 21:09, Ferry Huberts wrote:
>>> Sorry, I'll check it out tomorrow.
>>> Better hold off on the 0.9.1 release until then.
>>>
>>>
>>> On 16/06/15 20:37, Henning Rogge wrote:
>>>> Ferry,
>>>>
>>>> I see references to the sgw part of the jsoninfo... any idea?
>>>>
>>>> Henning
>>>>
>>>> On Tue, Jun 16, 2015 at 8:31 PM, Andreas Bräu <(spam-protected)> wrote:
>>>>> Hi,
>>>>>
>>>>> today I compiled olsrd v0.9.0 on x86. When I call the jsoninfo plugin
>>>>> olsrd crashed. We have a core dump.
>>>>>
>>>>> jsoninfo is configured as simple as it could be:
>>>>>
>>>>> LoadPlugin "olsrd_jsoninfo.so.0.0"
>>>>> {
>>>>> }
>>>>>
>>>>> Do you see anything?
>>>>>
>>>>> Best,
>>>>>
>>>>> Andi
>>>>>
>>>>> (spam-protected):~# gdb /usr/local/sbin/olsrd core
>>>>> GNU gdb (Debian 7.7.1+dfsg-5) 7.7.1
>>>>> Copyright (C) 2014 Free Software Foundation, Inc.
>>>>> License GPLv3+: GNU GPL version 3 or later <
>>>>> http://gnu.org/licenses/gpl.html>
>>>>> This is free software: you are free to change and redistribute it.
>>>>> There is NO WARRANTY, to the extent permitted by law.  Type "show
>>>>> copying"
>>>>> and "show warranty" for details.
>>>>> This GDB was configured as "x86_64-linux-gnu".
>>>>> Type "show configuration" for configuration details.
>>>>> For bug reporting instructions, please see:
>>>>> <http://www.gnu.org/software/gdb/bugs/>.
>>>>> Find the GDB manual and other documentation resources online at:
>>>>> <http://www.gnu.org/software/gdb/documentation/>.
>>>>> For help, type "help".
>>>>> Type "apropos word" to search for commands related to "word"...
>>>>> Reading symbols from /usr/local/sbin/olsrd...done.
>>>>> [New LWP 9262]
>>>>> Core was generated by `olsrd -f /etc/olsrd.conf -d 3'.
>>>>> Program terminated with signal SIGSEGV, Segmentation fault.
>>>>> #0  0x00007fdae736dadb in sgw_ipvx (abuf=0x7ffe9b3f33b0,
>>>>> ipv6=false) at
>>>>> src/olsrd_jsoninfo.c:875
>>>>> 875         struct gateway_entry * gw = node->gw;
>>>>> (gdb) bt full
>>>>> #0  0x00007fdae736dadb in sgw_ipvx (abuf=0x7ffe9b3f33b0,
>>>>> ipv6=false) at
>>>>> src/olsrd_jsoninfo.c:875
>>>>>          originatorStr = {buf =
>>>>> "0б\001\000\000\000\000P0?\233\376\177\000\000
>>>>> \225@\000\000\000\000\000
>>>>> Q?\233\376\177\000\000\000\000\000\000\000\000\000\000\276\230@\000\000
>>>>>
>>>>> "}
>>>>>          prefixIpStr = {buf =
>>>>> "\030\000\000\000\060\000\000\000p0?\233\376\177\000\000\345\f7\347\332
>>>>>
>>>>> \177\000\000\260\063?\233\376\177\000\000\020\000\000\000\060\000\000\0
>>>>>
>>>>> 00P1?\233\376\177"}
>>>>>          prefixIPStr = 0x7ffe9b3f33b0 ""
>>>>>          gw = 0x7fdae736b2d7 <abuf_json_new_indent+69>
>>>>>          selected = false
>>>>>          originator = 0x7ffe9b3f33b0 ""
>>>>>          netmask = {v4 = {s_addr = 0}, v6 = {__in6_u = {__u6_addr8 =
>>>>> '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
>>>>> __u6_addr32 = {0, 0, 0, 0}}}}
>>>>>          node = 0x0
>>>>>          tunnelGwStr = {buf = "
>>>>> \000\000\000\060\000\000\000P1?\233\376\177\000\000\220\060?\233\376\17
>>>>>
>>>>> 7\000\000\204\232@\000\000\000\000\000\262\f7\347\332\177\000\000\260\0
>>>>>
>>>>> 63?\233\376\177"}
>>>>>          tc = 0x7ffe9b3f3140
>>>>>          prefixMaskStr = {buf =
>>>>> "\220\060?\233\376\177\000\000>\016\001\000\b\000\000\(spam-protected)?\233\376\177\000\000\376\231@\000\000\000
>>>>>
>>>>>
>>>>>
>>>>> \000\000\345\f7\347\332\177\000\000\260\063?\233\376\177"}
>>>>>          prefixMASKStr = 0x7fdae7370cb2 "  "
>>>>>          tunnelGw = 0x409a84 <abuf_puts+120>
>>>>> "H\213E\350\213P\004\213E\374\001\302H\213E\350\211P\004\213E\374\311\303UH\211\345H\203\354\060H\211}\350H\211u\340H\211U\330H\213E\350\213\020H\213E\350\213@\004)\302\211\320H\230H\213U\350H\213J\bH\213U\350\213R\004Hc\322H\215<\021H\213M\330H\213U\340H\211\306\350W\370\377\377\211E\374\203",
>>>>>
>>>>>
>>>>>
>>>>> <incomplete sequence \374>
>>>>>          current_gw = 0x0
>>>>>          sgwTunnelInterfaceNames = 0x0
>>>>>          i = 0
>>>>> #1  0x00007fdae736df2a in ipc_print_sgw (abuf=0x7ffe9b3f33b0) at
>>>>> src/olsrd_jsoninfo.c:929
>>>>> No locals.
>>>>> #2  0x00007fdae7370769 in send_info (send_what=8191, the_socket=12) at
>>>>> src/olsrd_jsoninfo.c:1362
>>>>>          abuf = {size = 69632, len = 69204,
>>>>>            buf = 0x1b5c070 "{\n  \"systemTime\": 1434479108,\n
>>>>>   \"timeSinceStartup\": 3932,\n  \"neighbors\": [\n    {\n
>>>>>   \"ipAddress\": \"10.63.1.21\",\n      \"symmetric\": true,\n
>>>>>   \"multiPointRelay\": false,\n      \"multiPointRelaySelecto"...}
>>>>>          header_len = 0
>>>>>          header_buf =
>>>>> "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\372\351|\347\332\177\000\000\377\377\377\377\000\000\000\000\372\351|\347\332\177\000\000\266\066?\000\v\000\000\000`W\262\347\332\177\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000!o\216\347\332\177\000\000\060б\001\000\000\000\000.\000\000\000\000\000\000\000\240<?\233\376\177\000\000
>>>>>
>>>>>
>>>>>
>>>>> Q?\233\376\177\000\000\027?}\347\332\177\000\000\000\070?\233\376\177\000\000\060\000\000\000\060\000\000\000\020\063?\233\376\177\000\000P2?\233\376\177\000\000\260\070?\233\376\177\000\000\360\067?\233\376\177\000\000\177",
>>>>>
>>>>>
>>>>>
>>>>> '\000' <repeats 23 times>,
>>>>> "\001"...
>>>>>          content_type = 0x7fdae7371f85 "application/json"
>>>>> #3  0x00007fdae736c4a8 in ipc_action (fd=10, data=0x0, flags=1) at
>>>>> src/olsrd_jsoninfo.c:547
>>>>>          pin = {storage = {ss_family = 2, __ss_align = 0,
>>>>>              __ss_padding =
>>>>> "\260=?\233\376\177\000\000\360<?\233\376\177\000\000pv\264\001\000\000\000\000P\255\263\001\000\000\000\000\n\000\000\000\000\000\000\000?\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\360=?\233\376\177\000\000pv\264\001\000\000\000\000\004j\200U\000\000\000\000\060б\001\000\000\000\000
>>>>>
>>>>>
>>>>>
>>>>> \225@\000\000\000\000\000 Q?\233\376\177\000"}, in = {sa_family = 2,
>>>>> sa_data = "\336\310\177\000\000\001\000\000\000\000\000\000\000"}, in4
>>>>> = {sin_family = 2, sin_port = 51422, sin_addr = {
>>>>>                s_addr = 16777343}, sin_zero =
>>>>> "\000\000\000\000\000\000\000"}, in6 = {sin6_family = 2, sin6_port =
>>>>> 51422, sin6_flowinfo = 16777343, sin6_addr = {__in6_u = {__u6_addr8 =
>>>>> "\000\000\000\000\000\000\000\000\260=?\233\376\177\000",
>>>>> __u6_addr16 =
>>>>> {0, 0, 0, 0, 15792, 39743,
>>>>>                    32766, 0}, __u6_addr32 = {0, 0, 2604613040,
>>>>> 32766}}},
>>>>> sin6_scope_id = 2604612848}}
>>>>>          addr =
>>>>> "127.0.0.1\000E\000\000\000\000\000.\000\000\000\000\000\000\000\220>?\233\376\177\000\000
>>>>>
>>>>>
>>>>>
>>>>> Q?\233\376\177\000\000\027?}\
>>>>> 347\332\177"
>>>>>          rfds = {__fds_bits = {4096, 0 <repeats 15 times>}}
>>>>>          tv = {tv_sec = 0, tv_usec = 0}
>>>>>          send_what = 8191
>>>>>          ipc_connection = 12
>>>>>          addrlen = 16
>>>>> #4  0x000000000041712f in poll_sockets () at src/scheduler.c:341
>>>>>          flags = 1
>>>>>          _socket_node = 0x1b23bb8
>>>>>          _next_socket_node = 0x1b23d58
>>>>>          n = 2
>>>>>          entry = 0x1b23b90
>>>>>          ibits = {__fds_bits = {3072, 0 <repeats 15 times>}}
>>>>>          obits = {__fds_bits = {0 <repeats 16 times>}}
>>>>>          tvp = {tv_sec = 0, tv_usec = 0}
>>>>>          hfd = 12
>>>>>          fdsets = 1
>>>>> #5  0x00000000004176bf in olsr_scheduler () at src/scheduler.c:481
>>>>>          next_interval = 3982
>>>>> #6  0x000000000041e99c in main (argc=3, argv=0x7ffe9b3f5128) at
>>>>> src/main.c:704
>>>>>          default_ifcnf = 0x1b1d200
>>>>>          conf_file_name = "/etc/olsrd.conf\000.conf", '\000' <repeats
>>>>> 1363 times>...
>>>>>          buf = {buf = "10.63.1.51", '\000' <repeats 35 times>}
>>>>>          loadedConfig = true
>>>>>          i = 5
>>>>>          ifn = 0x44b9c0 <__libc_csu_init>
>>>>>          __func__ = "main"
>>>>> (gdb)
>>>>> --
>>>>> Olsr-dev mailing list
>>>>> (spam-protected)
>>>>> https://lists.olsr.org/mailman/listinfo/olsr-dev
>>>>
>>>
>>
>>
>>
>

-- 
Ferry Huberts




More information about the Olsr-dev mailing list