vsomeip
vsomeip copied to clipboard
Heap-buffer-overflow in vsomeip_v3::deserializer::look_ahead
trafficstars
There is a heap-buffer-overflow bug and the detailed ASAN report is shown below:
=================================================================
==13535==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x606000006538 at pc 0x7f4685133846 bp 0x7f467c2eed80 sp 0x7f467c2eed78
READ of size 1 at 0x606000006538 thread T6 (1277_io01)
#0 0x7f4685133845 in vsomeip_v3::deserializer::look_ahead(unsigned long, unsigned char&) const /root/vsomeip/implementation/message/src/deserializer.cpp:141:14
#1 0x7f467dd45057 in vsomeip_v3::sd::message_impl::deserialize_option(vsomeip_v3::deserializer*) /root/vsomeip/implementation/service_discovery/src/message_impl.cpp:373:16
#2 0x7f467dd44292 in vsomeip_v3::sd::message_impl::deserialize(vsomeip_v3::deserializer*) /root/vsomeip/implementation/service_discovery/src/message_impl.cpp:315:52
#3 0x7f467dd1e241 in vsomeip_v3::sd::deserializer::deserialize_sd_message() /root/vsomeip/implementation/service_discovery/src/deserializer.cpp:31:44
#4 0x7f467dd99c64 in vsomeip_v3::sd::service_discovery_impl::on_message(unsigned char const*, unsigned int, boost::asio::ip::address const&, boost::asio::ip::address const&) /root/vsomeip/implementation/service_discovery/src/service_discovery_impl.cpp:1007:28
#5 0x7f46852a67f6 in vsomeip_v3::routing_manager_impl::on_message(unsigned char const*, unsigned int, vsomeip_v3::endpoint*, boost::asio::ip::address const&, unsigned short, std::pair<unsigned int, unsigned int>, boost::asio::ip::address const&, unsigned short) /root/vsomeip/implementation/routing/src/routing_manager_impl.cpp:1319:37
#6 0x7f46850fdb44 in vsomeip_v3::udp_server_endpoint_impl::on_message_received(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, std::vector<unsigned char, std::allocator<unsigned char> > const&) /root/vsomeip/implementation/endpoints/src/udp_server_endpoint_impl.cpp:651:39
#7 0x7f46850eab6b in vsomeip_v3::udp_server_endpoint_impl::on_unicast_received(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&) /root/vsomeip/implementation/endpoints/src/udp_server_endpoint_impl.cpp:496:13
#8 0x7f46851125b3 in void std::_Bind<std::_Mem_fn<void (vsomeip_v3::udp_server_endpoint_impl::*)(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&)> (std::shared_ptr<vsomeip_v3::udp_server_endpoint_impl>, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>::operator()<boost::system::error_code const&, unsigned long const&, boost::asio::ip::address const&, void>(boost::system::error_code const&, unsigned long const&, boost::asio::ip::address const&) /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional:1131:17
#9 0x7f46851125b3 in boost::asio::detail::binder3<std::_Bind<std::_Mem_fn<void (vsomeip_v3::udp_server_endpoint_impl::*)(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&)> (std::shared_ptr<vsomeip_v3::udp_server_endpoint_impl>, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>, boost::system::error_code, unsigned long, boost::asio::ip::address>::operator()() /usr/include/boost/asio/detail/bind_handler.hpp:213:5
#10 0x7f46851125b3 in void boost::asio::asio_handler_invoke<boost::asio::detail::binder3<std::_Bind<std::_Mem_fn<void (vsomeip_v3::udp_server_endpoint_impl::*)(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&)> (std::shared_ptr<vsomeip_v3::udp_server_endpoint_impl>, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>, boost::system::error_code, unsigned long, boost::asio::ip::address> >(boost::asio::detail::binder3<std::_Bind<std::_Mem_fn<void (vsomeip_v3::udp_server_endpoint_impl::*)(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&)> (std::shared_ptr<vsomeip_v3::udp_server_endpoint_impl>, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>, boost::system::error_code, unsigned long, boost::asio::ip::address>&, ...) /usr/include/boost/asio/handler_invoke_hook.hpp:69:3
#11 0x7f46851125b3 in void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder3<std::_Bind<std::_Mem_fn<void (vsomeip_v3::udp_server_endpoint_impl::*)(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&)> (std::shared_ptr<vsomeip_v3::udp_server_endpoint_impl>, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>, boost::system::error_code, unsigned long, boost::asio::ip::address>, std::_Bind<std::_Mem_fn<void (vsomeip_v3::udp_server_endpoint_impl::*)(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&)> (std::shared_ptr<vsomeip_v3::udp_server_endpoint_impl>, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)> >(boost::asio::detail::binder3<std::_Bind<std::_Mem_fn<void (vsomeip_v3::udp_server_endpoint_impl::*)(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&)> (std::shared_ptr<vsomeip_v3::udp_server_endpoint_impl>, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>, boost::system::error_code, unsigned long, boost::asio::ip::address>&, std::_Bind<std::_Mem_fn<void (vsomeip_v3::udp_server_endpoint_impl::*)(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&)> (std::shared_ptr<vsomeip_v3::udp_server_endpoint_impl>, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>&) /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37:3
#12 0x7f4685111a58 in boost::asio::detail::reactive_socket_recvfrom_op_ext<boost::asio::mutable_buffers_1, boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::_Bind<std::_Mem_fn<void (vsomeip_v3::udp_server_endpoint_impl::*)(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&)> (std::shared_ptr<vsomeip_v3::udp_server_endpoint_impl>, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)> >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) /root/vsomeip/implementation/helper/1.55/boost/asio/detail/reactive_socket_recvfrom_op_ext.hpp:121:7
#13 0x7f4684eb9890 in boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/task_io_service_operation.hpp:38:5
#14 0x7f4684eb9890 in boost::asio::detail::epoll_reactor::descriptor_state::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:651:11
#15 0x7f468556cdc6 in boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/task_io_service_operation.hpp:38:5
#16 0x7f468556cdc6 in boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:372:12
#17 0x7f468556b503 in boost::asio::detail::task_io_service::run(boost::system::error_code&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:149:10
#18 0x7f468555104d in boost::asio::io_service::run() /usr/include/boost/asio/impl/io_service.ipp:59:25
#19 0x7f468554606d in vsomeip_v3::application_impl::start()::$_1::operator()() const /root/vsomeip/implementation/runtime/src/application_impl.cpp:420:27
#20 0x7f468554606d in void std::_Bind_simple<vsomeip_v3::application_impl::start()::$_1 ()>::_M_invoke<>(std::_Index_tuple<>) /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional:1530:18
#21 0x7f468554606d in std::_Bind_simple<vsomeip_v3::application_impl::start()::$_1 ()>::operator()() /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional:1520:16
#22 0x7f468554606d in std::thread::_Impl<std::_Bind_simple<vsomeip_v3::application_impl::start()::$_1 ()> >::_M_run() /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread:115:13
#23 0x7f4683994c7f (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xb8c7f)
#24 0x7f4683e696b9 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76b9)
#25 0x7f46830fa4dc in clone (/lib/x86_64-linux-gnu/libc.so.6+0x1074dc)
0x606000006538 is located 0 bytes to the right of 56-byte region [0x606000006500,0x606000006538)
allocated by thread T0 here:
#0 0x7f4685c8492d in operator new(unsigned long) /local/mnt/workspace/bcain_clang_bcain-ubuntu_23113/llvm/utils/release/final/llvm.src/projects/compiler-rt/lib/asan/asan_new_delete.cc:99:3
#1 0x7f468513eb9d in __gnu_cxx::new_allocator<unsigned char>::allocate(unsigned long, void const*) /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h:104:27
#2 0x7f468513eb9d in std::allocator_traits<std::allocator<unsigned char> >::allocate(std::allocator<unsigned char>&, unsigned long) /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h:491:20
#3 0x7f468513eb9d in std::_Vector_base<unsigned char, std::allocator<unsigned char> >::_M_allocate(unsigned long) /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h:170:20
#4 0x7f468513eb9d in unsigned char* std::vector<unsigned char, std::allocator<unsigned char> >::_M_allocate_and_copy<unsigned char const*>(unsigned long, unsigned char const*, unsigned char const*) /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h:1224:29
#5 0x7f468513e5de in void std::vector<unsigned char, std::allocator<unsigned char> >::_M_assign_aux<unsigned char const*>(unsigned char const*, unsigned char const*, std::forward_iterator_tag) /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/vector.tcc:273:20
#6 0x7f4685134482 in void std::vector<unsigned char, std::allocator<unsigned char> >::_M_assign_dispatch<unsigned char const*>(unsigned char const*, unsigned char const*, std::__false_type) /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h:1336:4
#7 0x7f4685134482 in void std::vector<unsigned char, std::allocator<unsigned char> >::assign<unsigned char const*, void>(unsigned char const*, unsigned char const*) /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h:508:11
#8 0x7f4685134482 in vsomeip_v3::deserializer::set_data(unsigned char const*, unsigned long) /root/vsomeip/implementation/message/src/deserializer.cpp:182:15
#9 0x7f467dd99c0c in vsomeip_v3::sd::service_discovery_impl::on_message(unsigned char const*, unsigned int, boost::asio::ip::address const&, boost::asio::ip::address const&) /root/vsomeip/implementation/service_discovery/src/service_discovery_impl.cpp:1005:20
#10 0x7f46852a67f6 in vsomeip_v3::routing_manager_impl::on_message(unsigned char const*, unsigned int, vsomeip_v3::endpoint*, boost::asio::ip::address const&, unsigned short, std::pair<unsigned int, unsigned int>, boost::asio::ip::address const&, unsigned short) /root/vsomeip/implementation/routing/src/routing_manager_impl.cpp:1319:37
#11 0x7f46850fdb44 in vsomeip_v3::udp_server_endpoint_impl::on_message_received(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, std::vector<unsigned char, std::allocator<unsigned char> > const&) /root/vsomeip/implementation/endpoints/src/udp_server_endpoint_impl.cpp:651:39
#12 0x7f46850eab6b in vsomeip_v3::udp_server_endpoint_impl::on_unicast_received(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&) /root/vsomeip/implementation/endpoints/src/udp_server_endpoint_impl.cpp:496:13
#13 0x7f46851125b3 in void std::_Bind<std::_Mem_fn<void (vsomeip_v3::udp_server_endpoint_impl::*)(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&)> (std::shared_ptr<vsomeip_v3::udp_server_endpoint_impl>, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>::operator()<boost::system::error_code const&, unsigned long const&, boost::asio::ip::address const&, void>(boost::system::error_code const&, unsigned long const&, boost::asio::ip::address const&) /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional:1131:17
#14 0x7f46851125b3 in boost::asio::detail::binder3<std::_Bind<std::_Mem_fn<void (vsomeip_v3::udp_server_endpoint_impl::*)(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&)> (std::shared_ptr<vsomeip_v3::udp_server_endpoint_impl>, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>, boost::system::error_code, unsigned long, boost::asio::ip::address>::operator()() /usr/include/boost/asio/detail/bind_handler.hpp:213:5
#15 0x7f46851125b3 in void boost::asio::asio_handler_invoke<boost::asio::detail::binder3<std::_Bind<std::_Mem_fn<void (vsomeip_v3::udp_server_endpoint_impl::*)(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&)> (std::shared_ptr<vsomeip_v3::udp_server_endpoint_impl>, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>, boost::system::error_code, unsigned long, boost::asio::ip::address> >(boost::asio::detail::binder3<std::_Bind<std::_Mem_fn<void (vsomeip_v3::udp_server_endpoint_impl::*)(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&)> (std::shared_ptr<vsomeip_v3::udp_server_endpoint_impl>, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>, boost::system::error_code, unsigned long, boost::asio::ip::address>&, ...) /usr/include/boost/asio/handler_invoke_hook.hpp:69:3
#16 0x7f46851125b3 in void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder3<std::_Bind<std::_Mem_fn<void (vsomeip_v3::udp_server_endpoint_impl::*)(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&)> (std::shared_ptr<vsomeip_v3::udp_server_endpoint_impl>, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>, boost::system::error_code, unsigned long, boost::asio::ip::address>, std::_Bind<std::_Mem_fn<void (vsomeip_v3::udp_server_endpoint_impl::*)(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&)> (std::shared_ptr<vsomeip_v3::udp_server_endpoint_impl>, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)> >(boost::asio::detail::binder3<std::_Bind<std::_Mem_fn<void (vsomeip_v3::udp_server_endpoint_impl::*)(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&)> (std::shared_ptr<vsomeip_v3::udp_server_endpoint_impl>, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>, boost::system::error_code, unsigned long, boost::asio::ip::address>&, std::_Bind<std::_Mem_fn<void (vsomeip_v3::udp_server_endpoint_impl::*)(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&)> (std::shared_ptr<vsomeip_v3::udp_server_endpoint_impl>, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)>&) /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37:3
#17 0x7f4685111a58 in boost::asio::detail::reactive_socket_recvfrom_op_ext<boost::asio::mutable_buffers_1, boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::_Bind<std::_Mem_fn<void (vsomeip_v3::udp_server_endpoint_impl::*)(boost::system::error_code const&, unsigned long, boost::asio::ip::address const&)> (std::shared_ptr<vsomeip_v3::udp_server_endpoint_impl>, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>)> >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) /root/vsomeip/implementation/helper/1.55/boost/asio/detail/reactive_socket_recvfrom_op_ext.hpp:121:7
#18 0x7f4684eb9890 in boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/task_io_service_operation.hpp:38:5
#19 0x7f4684eb9890 in boost::asio::detail::epoll_reactor::descriptor_state::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:651:11
#20 0x7f468556cdc6 in boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/task_io_service_operation.hpp:38:5
#21 0x7f468556cdc6 in boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:372:12
#22 0x7f468556b503 in boost::asio::detail::task_io_service::run(boost::system::error_code&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:149:10
#23 0x7f468555104d in boost::asio::io_service::run() /usr/include/boost/asio/impl/io_service.ipp:59:25
#24 0x7f46854d5948 in vsomeip_v3::application_impl::start() /root/vsomeip/implementation/runtime/src/application_impl.cpp:460:13
#25 0x55927500de6f in service_sample::start() /root/vsomeip/examples/notify-sample.cpp:79:15
#26 0x55927500de6f in main /root/vsomeip/examples/notify-sample.cpp:270:20
#27 0x7f468301383f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f)
Thread T6 (1277_io01) created by T0 here:
#0 0x7f4685c62eda in pthread_create /local/mnt/workspace/bcain_clang_bcain-ubuntu_23113/llvm/utils/release/final/llvm.src/projects/compiler-rt/lib/asan/asan_interceptors.cc:209:3
#1 0x7f4683994dc2 in std::thread::_M_start_thread(std::shared_ptr<std::thread::_Impl_base>, void (*)()) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xb8dc2)
SUMMARY: AddressSanitizer: heap-buffer-overflow /root/vsomeip/implementation/message/src/deserializer.cpp:141:14 in vsomeip_v3::deserializer::look_ahead(unsigned long, unsigned char&) const
Shadow bytes around the buggy address:
0x0c0c7fff8c50: fd fd fd fa fa fa fa fa fd fd fd fd fd fd fd fa
0x0c0c7fff8c60: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa
0x0c0c7fff8c70: 00 00 00 00 00 00 00 00 fa fa fa fa fd fd fd fd
0x0c0c7fff8c80: fd fd fd fd fa fa fa fa fd fd fd fd fd fd fd fd
0x0c0c7fff8c90: fa fa fa fa fd fd fd fd fd fd fd fa fa fa fa fa
=>0x0c0c7fff8ca0: 00 00 00 00 00 00 00[fa]fa fa fa fa 00 00 00 00
0x0c0c7fff8cb0: 00 00 00 fa fa fa fa fa fd fd fd fd fd fd fd fa
0x0c0c7fff8cc0: fa fa fa fa fd fd fd fd fd fd fd fd fa fa fa fa
0x0c0c7fff8cd0: fd fd fd fd fd fd fd fa fa fa fa fa fd fd fd fd
0x0c0c7fff8ce0: fd fd fd fa fa fa fa fa fd fd fd fd fd fd fd fa
0x0c0c7fff8cf0: fa fa fa fa fd fd fd fd fd fd fd fd fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==13535==ABORTING
@fouzhe Can you describe how this is triggered?
@fouzhe: I would be interested as well:
- What are the parameters you call
notify-samplewith? - Could you provide the source code of your example? Is it notify-sample.cpp?
- Which vsomeip commit are you working on?
@attritionorg @cfanatic Sorry for my late!
notify.json:
{
"unicast" : "172.19.0.2",
"logging" :
{
"level" : "debug",
"console" : "true",
"file" : { "enable" : "false", "path" : "/tmp/vsomeip.log" },
"dlt" : "false"
},
"applications" :
[
{
"name" : "service-sample",
"id" : "0x1277"
},
{
"name" : "client-sample",
"id" : "0x1344"
}
],
"services" :
[
{
"service" : "0x1234",
"instance" : "0x5678",
"unreliable" : "30509",
"multicast" :
{
"address" : "224.225.226.233",
"port" : "32344"
},
"events" :
[
{
"event" : "0x0777",
"is_field" : "true",
"update-cycle" : 2000
},
{
"event" : "0x0778",
"is_field" : "true",
"update-cycle" : 0
},
{
"event" : "0x0779",
"is_field" : "true"
}
],
"eventgroups" :
[
{
"eventgroup" : "0x4455",
"events" : [ "0x777", "0x778" ]
},
{
"eventgroup" : "0x4465",
"events" : [ "0x778", "0x779" ],
"is_multicast" : "true"
},
{
"eventgroup" : "0x4555",
"events" : [ "0x777", "0x779" ]
}
]
}
],
"routing" : "service-sample",
"service-discovery" :
{
"enable" : "true",
"multicast" : "224.244.224.245",
"port" : "30490",
"protocol" : "udp",
"initial_delay_min" : "10",
"initial_delay_max" : "100",
"repetitions_base_delay" : "200",
"repetitions_max" : "3",
"ttl" : "3",
"cyclic_offer_delay" : "2000",
"request_response_delay" : "1500"
}
}
- Parameters
VSOMEIP_CONFIGURATION=./notify.json VSOMEIP_APPLICATION_NAME=service-sample ./notify-sample
- It is notify-sample.cpp
- Commit version:
46e6856a1a61f4b24e29c1f2d3ed0b4ee7da0ede
Any followup on this? Was it an actual bug? I've had some crashes that sometimes suggested look_ahead was a culprit.