Hello Anton, On Fri, 14 Dec 2018 16:34:23 -0500 Anton Avramov <lu...@lukav.com> wrote: > Hello Bernhard, > > Well no. I've actually installed. apt install > libmariadbclient18=10.1.26-0+deb9u1 libmariadbclient18-dbgsym > > (gdb) display/i $pc > 2: x/i $pc > => 0x7ffff479eccc <mysql_stmt_bind_result+172>: movzbl 0x451(%rax),%eax
At this instruction $rax seems to contain the address stored in stmt->mysql. This address seems to be invalid in your process. And therefore accessing the options member crashes. Could you please add the output of following commands, when the crash happened: print/x $rax print stmt->mysql print stmt set print pretty on print *stmt print *stmt->mysql set print pretty off up print conn_.statements_[isc::dhcp::MySqlHostDataSourceImpl::GET_HOST_SUBID4_DHCPID] up x/6xb identifier_begin The last line should output 6 bytes showing the MAC address of the requesting client. Maybe you could check if that crash is triggered always by the same client or kind of client. I looked through upstream git history and commits [1] and [2] might be related: they disable automatic reconnects. No such commit seem to have reached the stretch version of kea-dhcp: ./isc-kea-1.1.0/src/lib/dhcpsrv/mysql_connection.cc:138: my_bool auto_reconnect = MLM_TRUE; Kind regards, Bernhard (gdb) list libmysql.c:4134 4129 field->type, param_count); 4130 DBUG_RETURN(1); 4131 } 4132 } 4133 stmt->bind_result_done= BIND_RESULT_DONE; 4134 if (stmt->mysql->options.report_data_truncation) 4135 stmt->bind_result_done|= REPORT_DATA_TRUNCATION; 4136 4137 DBUG_RETURN(0); 4138 } [1] https://gitlab.isc.org/isc-projects/kea/commit/9881ef6d772f27de82c048e198ba0ff9e71b9351 [2] https://gitlab.isc.org/isc-projects/kea/commit/6b278a3f54ecf6bd6e2d381047a9eced4bf165f5
# From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916288#5 Thread 1 "kea-dhcp4" received signal SIGSEGV, Segmentation fault. 0x00007ffff47f525c in mysql_stmt_bind_result () from /usr/lib/x86_64-linux-gnu/libmariadbclient.so.18 (gdb) (gdb) bt #0 0x00007ffff47f525c in mysql_stmt_bind_result () from /usr/lib/x86_64-linux-gnu/libmariadbclient.so.18 #1 0x00007ffff7a9ed19 in ?? () from /usr/lib/x86_64-linux-gnu/libkea-dhcpsrv.so.6 #2 0x00007ffff7a9f540 in ?? () from /usr/lib/x86_64-linux-gnu/libkea-dhcpsrv.so.6 #3 0x00007ffff7aa0551 in isc::dhcp::MySqlHostDataSource::get4(unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long) const ()from /usr/lib/x86_64-linux-gnu/libkea-dhcpsrv.so.6 #4 0x00007ffff7a5acba in isc::dhcp::HostMgr::get4(unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long) const ()from /usr/lib/x86_64-linux-gnu/libkea-dhcpsrv.so.6 #5 0x00007ffff79eeb8c in boost::shared_ptr<isc::dhcp::Host const> boost::_mfi::cmf4<boost::shared_ptr<isc::dhcp::Host const>, isc::dhcp::HostMgr, unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long>::call<isc::dhcp::HostMgr* const, unsigned int const, isc::dhcp::Host::IdentifierType const, unsigned char const*, unsigned long>(isc::dhcp::HostMgr* const&, void const*, unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*&, unsigned long&) const () from /usr/lib/x86_64-linux-gnu/libkea-dhcpsrv.so.6 #6 0x00007ffff79ed9b1 in boost::shared_ptr<isc::dhcp::Host const> boost::_mfi::cmf4<boost::shared_ptr<isc::dhcp::Host const>, isc::dhcp::HostMgr, unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long>::operator()<isc::dhcp::HostMgr*>(isc::dhcp::HostMgr* const&, unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long) const () from /usr/lib/x86_64-linux-gnu/libkea-dhcpsrv.so.6 #7 0x00007ffff79ec881 in boost::shared_ptr<isc::dhcp::Host const> boost::_bi::list5<boost::_bi::value<isc::dhcp::HostMgr*>, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> >::operator()<boost::shared_ptr<isc::dhcp::Host const>, boost::_mfi::cmf4<boost::shared_ptr<isc::dhcp::Host const>, isc::dhcp::HostMgr, unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long>, boost::_bi::rrlist4<unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long> >(boost::_bi::type<boost::shared_ptr<isc::dhcp::Host const> >, boost::_mfi::cmf4<boost::shared_ptr<isc::dhcp::Host const>, isc::dhcp::HostMgr, unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long>&, boost::_bi::rrlist4<unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long>&, long) () from /usr/lib/x86_64-linux-gnu/libkea-dhcpsrv.so.6 #8 0x00007ffff79eadbe in boost::shared_ptr<isc::dhcp::Host const> boost::_bi::bind_t<boost::shared_ptr<isc::dhcp::Host const>, boost::_mfi::cmf4<boost::shared_ptr<isc::dhcp::Host const>, isc::dhcp::HostMgr, unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long>, boost::_bi::list5<boost::_bi::value<isc::dhcp::HostMgr*>, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> > >::operator()<unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long>(unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*&&, unsigned long&&) () from /usr/lib/x86_64-linux-gnu/libkea-dhcpsrv.so.6 #9 0x00007ffff79e83e8 in boost::detail::function::function_obj_invoker4<boost::_bi::bind_t<boost::shared_ptr<isc::dhcp::Host const>, boost::_mfi::cmf4<boost::shared_ptr<isc::dhcp::Host const>, isc::dhcp::HostMgr, unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long>, boost::_bi::list5<boost::_bi::value<isc::dhcp::HostMgr*>, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> > >, boost::shared_ptr<isc::dhcp::Host const>, unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long>::invoke(boost::detail::function::function_buffer&, unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libkea-dhcpsrv.so.6 #10 0x00007ffff79e0a28 in boost::function4<boost::shared_ptr<isc::dhcp::Host const>, unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long>::operator()(unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long) const () from /usr/lib/x86_64-linux-gnu/libkea-dhcpsrv.so.6 #11 0x00007ffff79de266 in void isc::dhcp::AllocEngine::findReservationInternal<isc::dhcp::AllocEngine::ClientContext4>(isc::dhcp::AllocEngine::ClientContext4&, boost::function<boost::shared_ptr<isc::dhcp::Host const> (unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long)> const&) () from /usr/lib/x86_64-linux-gnu/libkea-dhcpsrv.so.6 #12 0x00007ffff79d2ef2 in isc::dhcp::AllocEngine::findReservation(isc::dhcp::AllocEngine::ClientContext4&) () from /usr/lib/x86_64-linux-gnu/libkea-dhcpsrv.so.6 #13 0x00005555555d6c6c in isc::dhcp::Dhcpv4Exchange::Dhcpv4Exchange (this=0x7fffffffdc90, alloc_engine=..., query=..., subnet=...) at ../../../../src/bin/dhcp4/dhcp4_srv.cc:156 #14 0x00005555555e4002 in isc::dhcp::Dhcpv4Srv::processRequest (this=0x7fffffffe4a0, request=...) at ../../../../src/bin/dhcp4/dhcp4_srv.cc:2156 #15 0x00005555555dc7b6 in isc::dhcp::Dhcpv4Srv::processPacket (this=0x7fffffffe4a0, query=..., rsp=...) at ../../../../src/bin/dhcp4/dhcp4_srv.cc:984 #16 0x00005555555dae58 in isc::dhcp::Dhcpv4Srv::run_one (this=0x7fffffffe4a0) at ../../../../src/bin/dhcp4/dhcp4_srv.cc:767 #17 0x00005555555da94c in isc::dhcp::Dhcpv4Srv::run (this=0x7fffffffe4a0) at ../../../../src/bin/dhcp4/dhcp4_srv.cc:681 #18 0x00005555555b916a in main (argc=4, argv=0x7fffffffe688) at ../../../../src/bin/dhcp4/main.cc:166 ############# From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916288#18 Thread 1 "kea-dhcp4" received signal SIGSEGV, Segmentation fault. mysql_stmt_bind_result (stmt=0x5555558f6be8, my_bind=<optimized out>) at ./libmysql/libmysql.c:4134 4134 ./libmysql/libmysql.c: Няма такъв файл или директория. (gdb) (gdb) (gdb) bt #0 mysql_stmt_bind_result (stmt=0x5555558f6be8, my_bind=<optimized out>) at ./libmysql/libmysql.c:4134 #1 0x00007ffff7a9ed19 in isc::dhcp::MySqlHostDataSourceImpl::getHostCollection (this=0x5555558d6840, stindex=isc::dhcp::MySqlHostDataSourceImpl::GET_HOST_SUBID4_DHCPID, bind=0x7fffffffd340, exchange=..., result=std::vector of length 0, capacity 0, single=true) at ../../../../src/lib/dhcpsrv/mysql_host_data_source.cc:2262 #2 0x00007ffff7a9f540 in isc::dhcp::MySqlHostDataSourceImpl::getHost (this=0x5555558d6840, subnet_id=@0x7fffffffd8ac: 1, identifier_type=@0x555555914250: isc::dhcp::Host::IDENT_HWADDR, identifier_begin=0x555555884550 "\b", identifier_len=6, stindex=isc::dhcp::MySqlHostDataSourceImpl::GET_HOST_SUBID4_DHCPID, exchange=...) at ../../../../src/lib/dhcpsrv/mysql_host_data_source.cc:2345 #3 0x00007ffff7aa0551 in isc::dhcp::MySqlHostDataSource::get4 (this=0x555555849370, subnet_id=@0x7fffffffd8ac: 1, identifier_type=@0x555555914250: isc::dhcp::Host::IDENT_HWADDR, identifier_begin=0x555555884550 "\b", identifier_len=6) at ../../../../src/lib/dhcpsrv/mysql_host_data_source.cc:2521 #4 0x00007ffff7a5acba in isc::dhcp::HostMgr::get4 (this=0x5555558492b0, subnet_id=@0x7fffffffd8ac: 1, identifier_type=@0x555555914250: isc::dhcp::Host::IDENT_HWADDR, identifier_begin=0x555555884550 "\b", identifier_len=6) at ../../../../src/lib/dhcpsrv/host_mgr.cc:134 #5 0x00007ffff79eeb8c in boost::_mfi::cmf4<boost::shared_ptr<isc::dhcp::Host const>, isc::dhcp::HostMgr, unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long>::call<isc::dhcp::HostMgr* const, unsigned int const, isc::dhcp::Host::IdentifierType const, unsigned char const*, unsigned long> (this=0x7fffffffd988, u=@0x7fffffffd998: 0x5555558492b0, b1=@0x7fffffffd8ac: 1, b2=@0x555555914250: isc::dhcp::Host::IDENT_HWADDR, b3=@0x7fffffffd630: 0x555555884550 "\b", b4=@0x7fffffffd680: 6) at /usr/include/boost/bind/mem_fn_template.hpp:561 #6 0x00007ffff79ed9b1 in boost::_mfi::cmf4<boost::shared_ptr<isc::dhcp::Host const>, isc::dhcp::HostMgr, unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long>::operator()<isc::dhcp::HostMgr*> (this=0x7fffffffd988, u=@0x7fffffffd998: 0x5555558492b0, a1=@0x7fffffffd8ac: 1, a2=@0x555555914250: isc::dhcp::Host::IDENT_HWADDR, a3=0x555555884550 "\b", a4=6) at /usr/include/boost/bind/mem_fn_template.hpp:571 #7 0x00007ffff79ec881 in boost::_bi::list5<boost::_bi::value<isc::dhcp::HostMgr*>, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> >::operator()<boost::shared_ptr<isc::dhcp::Host const>, boost::_mfi::cmf4<boost::shared_ptr<isc::dhcp::Host const>, isc::dhcp::HostMgr, unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long>, boost::_bi::rrlist4<unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long> > (this=0x7fffffffd998, f=..., a=...) at /usr/include/boost/bind/bind.hpp:521 #8 0x00007ffff79eadbe in boost::_bi::bind_t<boost::shared_ptr<isc::dhcp::Host const>, boost::_mfi::cmf4<boost::shared_ptr<isc::dhcp::Host const>, isc::dhcp::HostMgr, unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long>, boost::_bi::list5<boost::_bi::value<isc::dhcp::HostMgr*>, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> > >::operator()<unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long>(unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*&&, unsigned long&&) (this=0x7fffffffd988, a1=@0x7fffffffd8ac: 1, a2=@0x555555914250: isc::dhcp::Host::IDENT_HWADDR, a3=<unknown type in /usr/lib/debug/.build-id/f9/bc9131c938ea0212083231a71f5a9cbed76ac0.debug, CU 0xbaca, DIE 0x68cf1>, a4=<unknown type in /usr/lib/debug/.build-id/f9/bc9131c938ea0212083231a71f5a9cbed76ac0.debug, CU 0xbaca, DIE 0x68cfd>) at /usr/include/boost/bind/bind.hpp:1342 #9 0x00007ffff79e83e8 in boost::detail::function::function_obj_invoker4<boost::_bi::bind_t<boost::shared_ptr<isc::dhcp::Host const>, boost::_mfi::cmf4<boost::shared_ptr<isc::dhcp::Host const>, isc::dhcp::HostMgr, unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long>, boost::_bi::list5<boost::_bi::value<isc::dhcp::HostMgr*>, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> > >, boost::shared_ptr<isc::dhcp::Host const>, unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long>::invoke (function_obj_ptr=..., a0=@0x7fffffffd8ac: 1, a1=@0x555555914250: isc::dhcp::Host::IDENT_HWADDR, a2=0x555555884550 "\b", a3=6) at /usr/include/boost/function/function_template.hpp:138 #10 0x00007ffff79e0a28 in boost::function4<boost::shared_ptr<isc::dhcp::Host const>, unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long>::operator() (this=0x7fffffffd980, a0=@0x7fffffffd8ac: 1, a1=@0x555555914250: isc::dhcp::Host::IDENT_HWADDR, a2=0x555555884550 "\b", a3=6) at /usr/include/boost/function/function_template.hpp:771 #11 0x00007ffff79de266 in isc::dhcp::AllocEngine::findReservationInternal<isc::dhcp::AllocEngine::ClientContext4>(isc::dhcp::AllocEngine::ClientContext4&, boost::function<boost::shared_ptr<isc::dhcp::Host const> (unsigned int const&, isc::dhcp::Host::IdentifierType const&, unsigned char const*, unsigned long)> const&) (ctx=..., host_get=...) at ../../../../src/lib/dhcpsrv/alloc_engine.cc:319 #12 0x00007ffff79d2ef2 in isc::dhcp::AllocEngine::findReservation (ctx=...) at ../../../../src/lib/dhcpsrv/alloc_engine.cc:2232 #13 0x00005555555d6c6c in isc::dhcp::Dhcpv4Exchange::Dhcpv4Exchange (this=0x7fffffffdc90, alloc_engine=..., query=..., subnet=...) at ../../../../src/bin/dhcp4/dhcp4_srv.cc:156 #14 0x00005555555e4002 in isc::dhcp::Dhcpv4Srv::processRequest (this=0x7fffffffe4a0, request=...) at ../../../../src/bin/dhcp4/dhcp4_srv.cc:2156 #15 0x00005555555dc7b6 in isc::dhcp::Dhcpv4Srv::processPacket (this=0x7fffffffe4a0, query=..., rsp=...) at ../../../../src/bin/dhcp4/dhcp4_srv.cc:984 #16 0x00005555555dae58 in isc::dhcp::Dhcpv4Srv::run_one (this=0x7fffffffe4a0) at ../../../../src/bin/dhcp4/dhcp4_srv.cc:767 #17 0x00005555555da94c in isc::dhcp::Dhcpv4Srv::run (this=0x7fffffffe4a0) at ../../../../src/bin/dhcp4/dhcp4_srv.cc:681 #18 0x00005555555b916a in main (argc=4, argv=0x7fffffffe688) at ../../../../src/bin/dhcp4/main.cc:166 ############# # stretch amd64 qemu vm, with additional two loopback connected network devices: # -netdev hubport,id=hub1,hubid=0 -device rtl8139,netdev=hub1,mac=00:12:34:56:78:9b # -netdev hubport,id=hub2,hubid=0 -device rtl8139,netdev=hub2,mac=00:12:34:56:78:9c # # (qemu) info network # hub 0 # \ hub2: rtl8139.1: index=0,type=nic,model=rtl8139,macaddr=00:12:34:56:78:9c # \ hub1: rtl8139.0: index=0,type=nic,model=rtl8139,macaddr=00:12:34:56:78:9b # virtio-net-pci.0: index=0,type=nic,model=virtio-net-pci,macaddr=00:12:34:56:78:9a # \ net0: index=0,type=user,net=10.0.2.0,restrict=off # # ip addr # 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 # link/ether 00:12:34:56:78:9a brd ff:ff:ff:ff:ff:ff # ... # 3: ens4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 # link/ether 00:12:34:56:78:9b brd ff:ff:ff:ff:ff:ff # 4: ens5: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 # link/ether 00:12:34:56:78:9c brd ff:ff:ff:ff:ff:ff apt update apt dist-upgrade # apt-get install software-properties-common dirmngr # apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8 # # cat <<EOF > /etc/apt/sources.list.d/mariadb-10.2-upstream.list # # MariaDB 10.2 repository list - created 2018-12-14 12:34 UTC # # http://downloads.mariadb.org/mariadb/repositories/ # deb [arch=amd64,i386,ppc64el] http://mirror.23media.de/mariadb/repo/10.2/debian stretch main # deb-src http://mirror.23media.de/mariadb/repo/10.2/debian stretch main # EOF # # apt update # # cat /var/lib/apt/lists/mirror.23media.de_mariadb_repo_10.2_debian_dists_stretch_main_binary-amd64_Packages | grep -E "^Package.*dbg" # # With 10.2.19+maria~stretch # 2018-12-14 17:13:42.313 ERROR [kea-dhcp4.alloc-engine/16974] ALLOC_ENGINE_V4_ALLOC_ERROR [hwtype=1 00:00:00:11:11:11], cid=[no info], tid=0x4edd5699: error during attempt to allocate an IPv4 address: unable to bind parameters for <INSERT INTO lease4(address, hwaddr, client_id, valid_lifetime, expire, subnet_id, fqdn_fwd, fqdn_rev, hostname, state) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)>, reason: (error code 0) apt install libmariadbclient18=10.1.26-0+deb9u1 libmariadbclient18-dbgsym=10.1.26-0+deb9u1 mariadb-client=10.1.26-0+deb9u1 mariadb-client-10.1=10.1.26-0+deb9u1 mariadb-client-core-10.1=10.1.26-0+deb9u1 mariadb-common=10.1.26-0+deb9u1 mariadb-server=10.1.26-0+deb9u1 mariadb-server-10.1=10.1.26-0+deb9u1 mariadb-server-core-10.1=10.1.26-0+deb9u1 apt install dpkg-dev devscripts systemd-coredump net-tools nmap unzip mc build-essential dhcpstarv python-pydhcplib gdb kea-admin kea-dhcp4-server kea-dhcp4-server-dbgsym kea-common-dbgsym apt build-dep mariadb-10.1 mkdir kea-dhcp4-server/orig -p cd kea-dhcp4-server/orig apt source kea-dhcp4-server cd ../.. mkdir mariadb-10.1/orig -p cd mariadb-10.1/orig apt source mariadb-10.1=10.1.26-0+deb9u1 cd ../.. wget https://github.com/saravana815/dhtest/archive/master.zip -O dhtest-master.zip unzip dhtest-master.zip cd dhtest-master make cd .. wget https://github.com/alexproca/dhquery/archive/master.zip -O dhquery-master.zip unzip dhquery-master.zip # ftp://ftp.isc.org/isc/kea/1.1.0/doc/kea-guide.html#idp49015504 mysql -u root -p CREATE DATABASE keadhcp4; CREATE USER 'keadhcp4'@'localhost' IDENTIFIED BY 'password'; GRANT ALL ON keadhcp4.* TO 'keadhcp4'@'localhost'; CONNECT keadhcp4; SOURCE /usr/share/kea-admin/scripts/mysql/dhcpdb_create.mysql quit sed 's/"type": "memfile"/"type": "mysql", "name": "keadhcp4", "host" : "", "user": "keadhcp4", "password": "password"\n },\n "hosts-database": {\n "type": "mysql", "name": "keadhcp4", "host" : "", "user": "keadhcp4", "password": "password"/' -i /etc/kea/kea-dhcp4.conf sed 's/"interfaces": \[ \]/"interfaces": \[ "ens4" \]/' -i /etc/kea/kea-dhcp4.conf sed 's/# { "subnet"/ { "subnet"/' -i /etc/kea/kea-dhcp4.conf sed 's/# "pools"/ "pools"/' -i /etc/kea/kea-dhcp4.conf sed 's/"valid-lifetime": 4000,/"valid-lifetime": 20,/' -i /etc/kea/kea-dhcp4.conf cat <<EOF >> /etc/network/interfaces iface ens4 inet static address 192.0.2.1 iface ens5 inet dhcp hwaddress ether 00:01:04:1b:2C:1F EOF ifup ens4 systemctl stop kea-dhcp4-server systemctl start kea-dhcp4-server root@debian:~# ps aux | grep kea root 1090 0.2 0.7 139980 22408 ? Ssl 04:48 0:00 /usr/sbin/kea-dhcp4 -c /etc/kea/kea-dhcp4.conf root@debian:~# netstat -anp | grep :67 udp 0 0 192.0.2.1:67 0.0.0.0:* 1090/kea-dhcp4 ifup ens5 # /home/benutzer/dhtest-master/dhtest -i ens5 -m 00:00:00:11:11:11 # /home/benutzer/dhtest-master/dhtest -i ens5 -m 00:00:00:11:11:11 -r ########### (gdb) list libmysql.c:4134 4129 field->type, param_count); 4130 DBUG_RETURN(1); 4131 } 4132 } 4133 stmt->bind_result_done= BIND_RESULT_DONE; 4134 if (stmt->mysql->options.report_data_truncation) 4135 stmt->bind_result_done|= REPORT_DATA_TRUNCATION; 4136 4137 DBUG_RETURN(0); 4138 } (gdb) bt #0 mysql_stmt_bind_result (stmt=0x5579726e5af8, my_bind=<optimized out>) at ./libmysql/libmysql.c:4134 #1 0x00007ff5a39f4d19 in isc::dhcp::MySqlHostDataSourceImpl::getHostCollection (this=0x5579726c59b0, stindex=isc::dhcp::MySqlHostDataSourceImpl::GET_HOST_SUBID4_DHCPID, bind=0x7ffd6ebfa770, exchange=..., result=std::vector of length 0, capacity 0, single=true) at ../../../../src/lib/dhcpsrv/mysql_host_data_source.cc:2262 #2 0x00007ff5a39f5540 in isc::dhcp::MySqlHostDataSourceImpl::getHost (this=0x5579726c59b0, subnet_id=@0x7ffd6ebfacdc: 1, identifier_type=@0x55797270d560: isc::dhcp::Host::IDENT_HWADDR, identifier_begin=0x557972673480 "", identifier_len=6, stindex=isc::dhcp::MySqlHostDataSourceImpl::GET_HOST_SUBID4_DHCPID, exchange=...) at ../../../../src/lib/dhcpsrv/mysql_host_data_source.cc:2345 ... (gdb) display/i $pc 6: x/i $pc => 0x7ff5a06f4ccc <mysql_stmt_bind_result+172>: movzbl 0x451(%rax),%eax (gdb) print/x $rax $7 = 0x5579726d60f8 (gdb) print stmt->mysql $8 = (MYSQL *) 0x5579726d60f8 (gdb) print stmt $9 = (MYSQL_STMT *) 0x5579726e5af8 (gdb) set print pretty on (gdb) print *stmt $11 = { mem_root = { free = 0x5579726e5e38, used = 0x5579726e8bc8, pre_alloc = 0x5579726e5e38, min_malloc = 32, block_size = 2009, block_num = 6, first_block_usage = 0, error_handler = 0x0 }, list = { prev = 0x5579726e9560, next = 0x5579726e1b80, data = 0x5579726e5af8 }, mysql = 0x5579726d60f8, params = 0x5579726e8be0, bind = 0x5579726e8d30, fields = 0x5579726e6680, result = { data = 0x0, embedded_info = 0x0, alloc = { free = 0x5579726e7b98, used = 0x0, pre_alloc = 0x5579726e7b98, min_malloc = 24, block_size = 4057, block_num = 4, first_block_usage = 0, error_handler = 0x0 }, rows = 0, fields = 0, extension = 0x0 }, data_cursor = 0x0, read_row_func = 0x7ff5a06f3630 <stmt_read_row_no_result_set>, affected_rows = 0, insert_id = 0, stmt_id = 3, flags = 0, prefetch_rows = 1, server_status = 2, last_errno = 0, param_count = 3, field_count = 18, state = MYSQL_STMT_PREPARE_DONE, last_error = '\000' <repeats 511 times>, sqlstate = "00000", send_types_to_server = 1 '\001', bind_param_done = 1 '\001', bind_result_done = 1 '\001', unbuffered_fetch_cancelled = 0 '\000', update_max_length = 0 '\000', extension = 0x5579726d6808 } (gdb) print *stmt->mysql $23 = { net = { vio = 0x5579726d8ad8, buff = 0x5579726dcce8 "\376", buff_end = 0x5579726dece8 "", write_pos = 0x5579726dcce8 "\376", read_pos = 0x5579726dcce8 "\376", fd = 6, remain_in_buf = 0, length = 0, buf_length = 0, where_b = 0, max_packet = 8192, max_packet_size = 1073741824, pkt_nr = 22, compress_pkt_nr = 22, write_timeout = 31536000, read_timeout = 31536000, retry_count = 1, fcntl = 0, return_status = 0x0, reading_or_writing = 0 '\000', save_char = 0 '\000', net_skip_rest_factor = 0 '\000', thread_specific_malloc = 0 '\000', compress = 0 '\000', unused3 = 0 '\000', thd = 0x0, last_errno = 0, error = 0 '\000', unused4 = 0 '\000', unused5 = 0 '\000', last_error = '\000' <repeats 511 times>, sqlstate = "00000", extension = 0x0 }, connector_fd = 0x0, host = 0x5579726d6758 "localhost", user = 0x55797263b8d8 "keadhcp4", passwd = 0x55797263b998 "password", unix_socket = 0x5579726d6768 "/var/run/mysqld/mysqld.sock", server_version = 0x5579726d678e "10.1.26-MariaDB-0+deb9u1", host_info = 0x5579726d6738 "Localhost via UNIX socket", info = 0x0, db = 0x55797263ba58 "keadhcp4", charset = 0x7ff5a0c4f180 <my_charset_latin1>, fields = 0x55797270f650, field_alloc = { free = 0x55797270f638, used = 0x0, pre_alloc = 0x0, min_malloc = 32, block_size = 8152, block_num = 5, first_block_usage = 0, error_handler = 0x0 }, affected_rows = 0, insert_id = 0, extra_info = 0, thread_id = 13, packet_length = 0, port = 0, client_flag = 4104847, server_capabilities = 18446744072103131135, protocol_version = 10, field_count = 18, server_status = 2, server_language = 45, warning_count = 0, options = { connect_timeout = 5, read_timeout = 0, write_timeout = 0, port = 0, protocol = 2, client_flag = 128, host = 0x0, user = 0x0, password = 0x0, unix_socket = 0x0, db = 0x0, init_commands = 0x5579726d68f8, my_cnf_file = 0x0, my_cnf_group = 0x0, charset_dir = 0x0, charset_name = 0x55797263b7f8 "latin1", ssl_key = 0x0, ssl_cert = 0x0, ssl_ca = 0x0, ssl_capath = 0x0, ssl_cipher = 0x0, shared_memory_base_name = 0x0, max_allowed_packet = 0, use_ssl = 0 '\000', compress = 0 '\000', named_pipe = 0 '\000', use_thread_specific_memory = 0 '\000', unused2 = 0 '\000', unused3 = 0 '\000', unused4 = 0 '\000', methods_to_use = MYSQL_OPT_GUESS_CONNECTION, client_ip = 0x0, secure_auth = 0 '\000', report_data_truncation = 1 '\001', local_infile_init = 0x0, local_infile_read = 0x0, local_infile_end = 0x0, local_infile_error = 0x0, local_infile_userdata = 0x0, extension = 0x5579726d69d8 }, status = MYSQL_STATUS_READY, free_me = 1 '\001', reconnect = 1 '\001', scramble = "L~[+`(AOJe<>_Dt>uT&^", unused1 = 0 '\000', unused2 = 0x0, unused3 = 0x0, unused4 = 0x0, unused5 = 0x0, stmts = 0x5579726fd850, methods = 0x7ff5a0c4edc0 <client_methods>, thd = 0x0, unbuffered_fetch_owner = 0x0, info_buffer = 0x0, extension = 0x0 } (gdb) set print pretty off (gdb) up #1 0x00007ff5a39f4d19 in isc::dhcp::MySqlHostDataSourceImpl::getHostCollection (this=0x5579726c59b0, stindex=isc::dhcp::MySqlHostDataSourceImpl::GET_HOST_SUBID4_DHCPID, bind=0x7ffd6ebfa770, exchange=..., result=std::vector of length 0, capacity 0, single=true) at ../../../../src/lib/dhcpsrv/mysql_host_data_source.cc:2262 2262 status = mysql_stmt_bind_result(conn_.statements_[stindex], &outbind[0]); (gdb) print stindex $12 = isc::dhcp::MySqlHostDataSourceImpl::GET_HOST_SUBID4_DHCPID (gdb) print/x ((char*)(&stmt->mysql->options) - (char*)(stmt->mysql)) $15 = 0x390 (gdb) print/x (char*)(&stmt->mysql->options.report_data_truncation) - (char*)&(stmt->mysql->options) $16 = 0xc1 (gdb) print/x ((char*)(&stmt->mysql->options) - (char*)(stmt->mysql)) + (char*)(&stmt->mysql->options.report_data_truncation) - (char*)&(stmt->mysql->options) $17 = 0x451 (gdb) x/6xb identifier_begin 0x557972673480: 0x00 0x01 0x04 0x1b 0x2c 0x1f ########### gdb -q --pid $(pidof kea-dhcp4) set width 0 set pagination off directory /home/benutzer/kea-dhcp4-server/orig/isc-kea-1.1.0/src/bin/dhcp4/tests directory /home/benutzer/mariadb-10.1/orig/mariadb-10.1-10.1.26 b isc::dhcp::MySqlHostDataSourceImpl::getHostCollection cont b isc::dhcp::MySqlLeaseMgr::addLeaseCommon b isc::dhcp::HostMgr::get4 b isc::dhcp::Dhcpv4Srv::processPacket