NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Re: bin/59046: dhcpd issue



The following reply was made to PR bin/59046; it has been noted by GNATS.

From: 6bone%6bone.informatik.uni-leipzig.de@localhost
To: Christos Zoulas <christos%zoulas.com@localhost>
Cc: gnats-bugs%netbsd.org@localhost, gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost
Subject: Re: Re: bin/59046: dhcpd issue
Date: Tue, 11 Feb 2025 12:27:49 +0100 (CET)

 I have included an output before the switch statement:
 
 log_debug("build_dhcpv6_reply packet->dhcpv6_msg_type is %d", packet->dhcpv6_msg_type);
 
 The last lines of the output:
 ....
 Relay-forward message from 2001:638:902:1::1 port 547, link address 
 2001:638:902:200b::1, peer address fe80::1c53:2c7f:acc8:7e3e
 build_dhcpv6_reply packet->dhcpv6_msg_type is 12
 Can't find option with code 16
 build_dhcpv6_reply packet->dhcpv6_msg_type is 5
 Reply NA: address 2001:638:902:200b::105a to client with duid 
 00:01:00:01:19:e6:6e:92:00:15:5d:08:d0:15 iaid = 251663709 valid for 1200 seconds
 Sending Relay-reply to 2001:638:902:1::1 port 547
 Relay-forward message from 2001:638:902:1::1 port 547, link address 
 2001:638:902:2015::1, peer address fe80::240:caff:fea5:b1ff
 build_dhcpv6_reply packet->dhcpv6_msg_type is 12
 build_dhcpv6_reply packet->dhcpv6_msg_type is 11
 Sending Relay-reply to 2001:638:902:1::1 port 547
 Relay-forward message from 2001:638:902:1::1 port 547, link address 
 2001:638:902:200c::1, peer address fe80::d2bf:9cff:febf:a93f
 build_dhcpv6_reply packet->dhcpv6_msg_type is 12
 build_dhcpv6_reply packet->dhcpv6_msg_type is 5
 Reply NA: address 2001:638:902:200c::1653 to client with duid 
 00:03:00:01:d0:bf:9c:bf:a9:3f iaid = 2 valid for 1200 seconds
 Sending Relay-reply to 2001:638:902:1::1 port 547
 
 and the gdb output from the core file
 
 This GDB was configured as "x86_64--netbsd".
 Type "show configuration" for configuration details.
 For bug reporting instructions, please see:
 <https://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/obj/external/mpl/dhcp/bin/server/dhcpd...
 [New process 26684]
 [New process 21095]
 [New process 9706]
 [New process 14977]
 [New process 18003]
 [New process 3662]
 [New process 26573]
 [New process 25771]
 [New process 25429]
 [New process 19916]
 [New process 8241]
 [New process 25435]
 [New process 6788]
 Core was generated by `dhcpd'.
 Program terminated with signal SIGSEGV, Segmentation fault.
 #0  0x00007013494d58ac in je_large_dalloc () from /usr/lib/libc.so.12
 [Current thread is 1 (process 26684)]
 #0  0x00007013494d58ac in je_large_dalloc () from /usr/lib/libc.so.12
 #1  0x00000000a4a52e20 in iasubopt_dereference (iasubopt=<optimized out>,
      file=file@entry=0xa4c5ae68 
 "/usr/src/external/mpl/dhcp/bin/server/../../dist/server/mdb6.c", 
 line=line@entry=2045)
      at /usr/src/external/mpl/dhcp/bin/server/../../dist/server/mdb6.c:307
 #2  0x00000000a4a531fc in ia_remove_iasubopt (ia=0x70134b9d4fc0,
      iasubopt=0x70134c03c080,
      file=file@entry=0xa4c5ae68 
 "/usr/src/external/mpl/dhcp/bin/server/../../dist/server/mdb6.c", 
 line=line@entry=2045)
      at /usr/src/external/mpl/dhcp/bin/server/../../dist/server/mdb6.c:491
 #3  0x00000000a4a550f9 in ia_remove_iasubopt (line=2045,
      file=0xa4c5ae68 
 "/usr/src/external/mpl/dhcp/bin/server/../../dist/server/mdb6.c", 
 iasubopt=<optimized out>, ia=<optimized out>)
      at /usr/src/external/mpl/dhcp/bin/server/../../dist/server/mdb6.c:485
 #4  cleanup_old_expired (pool=0x70134e484c40)
      at /usr/src/external/mpl/dhcp/bin/server/../../dist/server/mdb6.c:2045
 #5  lease_timeout_support (vpool=0x70134e484c40)
      at /usr/src/external/mpl/dhcp/bin/server/../../dist/server/mdb6.c:2120
 #6  0x00000000a4a5bc7f in isclib_timer_callback (taskp=<optimized out>,
      eventp=<optimized out>)
      at 
 /usr/src/external/mpl/dhcp/lib/common/../../dist/common/dispatch.c:181
 #7  0x00000000a4c25a2b in task_run (task=0x70134e4fd1c0)
      at 
 /usr/src/external/mpl/dhcp/bind/lib/libisc/../../dist/lib/isc/task.c:861
 #8  isc_task_run (task=0x70134e4fd1c0)
      at 
 /usr/src/external/mpl/dhcp/bind/lib/libisc/../../dist/lib/isc/task.c:955
 #9  0x00000000a4c1c850 in isc__nm_async_task (worker=0x70134e482d90,
      ev0=0x70134c079b40)
      at 
 /usr/src/external/mpl/dhcp/bind/lib/libisc/../../dist/lib/isc/netmgr/netmgr.c:883
 #10 process_netievent (worker=worker@entry=0x70134e482d90,
      ievent=0x70134c079b40)
      at 
 /usr/src/external/mpl/dhcp/bind/lib/libisc/../../dist/lib/isc/netmgr/netmgr.c:955
 #11 0x00000000a4c1cf0e in process_queue 
 (worker=worker@entry=0x70134e482d90,
      type=type@entry=NETIEVENT_TASK)
      at 
 /usr/src/external/mpl/dhcp/bind/lib/libisc/../../dist/lib/isc/netmgr/netmgr.c:1021
 #12 0x00000000a4c1d87d in process_all_queues (worker=0x70134e482d90)
      at 
 /usr/src/external/mpl/dhcp/bind/lib/libisc/../../dist/lib/isc/netmgr/netmgr.c:796
 #13 async_cb (handle=0x70134e4830c8)
      at 
 /usr/src/external/mpl/dhcp/bind/lib/libisc/../../dist/lib/isc/netmgr/netmgr.c:825
 #14 0x00000000a4c4a8bc in ?? ()
 #15 0x00000000a4c3feec in uv.io_poll ()
 #16 0x00000000a4c47f64 in uv_run ()
 #17 0x00000000a4c1d17e in nm_thread (worker0=0x70134e482d90)
      at 
 /usr/src/external/mpl/dhcp/bind/lib/libisc/../../dist/lib/isc/netmgr/netmgr.c:727
 #18 0x00000000a4c37723 in isc__trampoline_run (arg=0x70134e5359a0)
      at 
 /usr/src/external/mpl/dhcp/bind/lib/libisc/../../dist/lib/isc/trampoline.c:215
 #19 0x000070134da0c89f in ?? () from /usr/lib/libpthread.so.1
 #20 0x00007013494930e0 in ?? () from /usr/lib/libc.so.12
 #21 0x0000000000200000 in ?? ()
 #22 0x0000000000000000 in ?? ()
 
 
 Regards
 Uwe
 
 On Mon, 10 Feb 2025, Christos Zoulas wrote:
 
 > Can you print the message type in:
 >
 > static void
 > build_dhcpv6_reply(struct data_string *reply, struct packet *packet) {
 >        memset(reply, 0, sizeof(*reply));
 >
 >        /* I would like to classify the client once here, but
 >         * as I don't want to classify all of the incoming packets
 >         * I need to do it before handling specific types.
 >         * We don't need to classify if we are tossing the packet
 >         * or if it is a relay - the classification step will get
 >         * done when we process the inner client packet.
 >         */
 >
 >        switch (packet->dhcpv6_msg_type) {
 >
 > ?
 >
 > Thanks
 >
 > christos
 >
 >> On Feb 10, 2025, at 3:00?AM, 6bone%6bone.informatik.uni-leipzig.de@localhost via gnats <gnats-admin%netbsd.org@localhost> wrote:
 >>
 >> The following reply was made to PR bin/59046; it has been noted by GNATS.
 >>
 >> From: 6bone%6bone.informatik.uni-leipzig.de@localhost
 >> To: Christos Zoulas <christos%zoulas.com@localhost>
 >> Cc: gnats-bugs%netbsd.org@localhost, gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost
 >> Subject: Re: Re: bin/59046: dhcpd issue
 >> Date: Mon, 10 Feb 2025 08:56:37 +0100 (CET)
 >>
 >> This GDB was configured as "x86_64--netbsd".
 >> Type "show configuration" for configuration details.
 >> For bug reporting instructions, please see:
 >> <https://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/obj/external/mpl/dhcp/bin/server/dhcpd...
 >> [New process 25706]
 >> [New process 487]
 >> [New process 13393]
 >> [New process 27458]
 >> [New process 4164]
 >> [New process 6709]
 >> [New process 10550]
 >> [New process 11044]
 >> [New process 13596]
 >> [New process 597]
 >> [New process 153]
 >> [New process 15800]
 >> [New process 21849]
 >> Core was generated by `dhcpd'.
 >> Program terminated with signal SIGSEGV, Segmentation fault.
 >> [Current thread is 1 (process 25706)]
 >> #0  0x00007bbf3510f8e8 in free () from /usr/lib/libc.so.12
 >> #1  0x00000001a9695d28 in dfree (ptr=<optimized out>, file=<optimized out>,
 >>      line=<optimized out>)
 >>      at /usr/src/external/mpl/dhcp/lib/omapip/../../dist/omapip/alloc.c:208
 >> #2  0x00000001a9666998 in buffer_dereference (ptr=ptr@entry=0x7bbf2dfefc80,
 >>      file=file@entry=0x1a9852728 "/usr/src/external/mpl/dhcp/bin/server/../../dist/server/dhcpv6.c", line=line@entry=7807)
 >>      at /usr/src/external/mpl/dhcp/lib/common/../../dist/common/alloc.c:757
 >> #3  0x00000001a966754c in data_string_forget (data=data@entry=0x7bbf2dfefc80,
 >>      file=file@entry=0x1a9852728 "/usr/src/external/mpl/dhcp/bin/server/../../dist/server/dhcpv6.c", line=line@entry=7807)
 >>      at /usr/src/external/mpl/dhcp/lib/common/../../dist/common/alloc.c:1350
 >> #4  0x00000001a963105a in dhcpv6 (packet=0x7bbf3888f000)
 >>      at /usr/src/external/mpl/dhcp/bin/server/../../dist/server/dhcpv6.c:7807
 >> #5  0x00000001a96744a4 in do_packet6 (interface=<optimized out>,
 >>      packet=0x7bbf2dfefde0 "\f", len=164, from_port=8962, from=<optimized out>,
 >>      was_unicast=<optimized out>)
 >>      at /usr/src/external/mpl/dhcp/lib/common/../../dist/common/options.c:4236
 >> #6  0x00000001a965e10f in got_one_v6 (h=<optimized out>)
 >>      at /usr/src/external/mpl/dhcp/lib/common/../../dist/common/discover.c:1219
 >> #7  0x00000001a9691f2a in omapi_iscsock_cb (task=<optimized out>,
 >>      socket=<optimized out>, cbarg=0x7bbf3a0fc180, flags=1)
 >>      at /usr/src/external/mpl/dhcp/lib/omapip/../../dist/omapip/dispatch.c:172
 >> #8  0x00000001a980d834 in internal_fdwatch_read (sock=0x7bbf3a0bf700)
 >>      at /usr/src/external/mpl/dhcp/bind/lib/libisc/../../dist/lib/isc/unix/socket.c:3208
 >> #9  dispatch_recv (sock=0x7bbf3a0bf700)
 >>      at /usr/src/external/mpl/dhcp/bind/lib/libisc/../../dist/lib/isc/unix/socket.c:2718
 >> #10 process_fd (writeable=<optimized out>, readable=<optimized out>,
 >>      fd=<optimized out>, thread=0x7bbf3a148ca0)
 >>      at /usr/src/external/mpl/dhcp/bind/lib/libisc/../../dist/lib/isc/unix/socket.c:3279
 >> #11 process_fds (nevents=<optimized out>, events=<optimized out>,
 >>      thread=0x7bbf3a148ca0)
 >>      at /usr/src/external/mpl/dhcp/bind/lib/libisc/../../dist/lib/isc/unix/socket.c:3326
 >> #12 netthread (uap=0x7bbf3a148ca0)
 >>      at /usr/src/external/mpl/dhcp/bind/lib/libisc/../../dist/lib/isc/unix/socket.c:3613
 >> #13 0x00000001a9837713 in isc__trampoline_run (arg=0x7bbf3a13aa30)
 >>      at /usr/src/external/mpl/dhcp/bind/lib/libisc/../../dist/lib/isc/trampoline.c:215
 >> #14 0x00007bbf3960c89f in ?? () from /usr/lib/libpthread.so.1
 >> #15 0x00007bbf350930e0 in ?? () from /usr/lib/libc.so.12
 >> #16 0x0000000000200000 in ?? ()
 >> #17 0x0000000000000000 in ?? ()
 >>
 >> Last log entry before the crash was:
 >> Client 00:01:00:01:27:3e:db:f2:b0:5c:da:40:02:08 releases address 2001:638:902:200c::1269
 >> Sending Relay-reply to 2001:638:902:1::1 port 547
 >>
 >>
 >> Regards
 >> Uwe
 >>
 >>
 >> On Sat, 8 Feb 2025, Christos Zoulas wrote:
 >>
 >>> Can you compile with -g (symbols)? I can't tell which call is that.
 >>>
 >>> Thanks,
 >>>
 >>> christos
 >>>
 >>>
 >>>
 >>
 >
 >
 


Home | Main Index | Thread Index | Old Index