Versuche ich IPS unter gdb mit Signal 15 zu beenden, so schmiert der Dienst unregelmäßig mit ‚Segmentation fault‘ ab.
Variante 1 (vermutlich wenn noch ein Script läuft):
14:06:22 | 00000 | ScriptEngine | Entferne...
[Thread 0x7fffeebd1700 (LWP 4798) exited]
[Thread 0x7fffee3d0700 (LWP 4799) exited]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd67fc700 (LWP 4806)]
0x0000000000d00192 in Glue::PHPExtension::SetValueBoolean(int, _zval_struct*, _zval_struct**, _zval_struct*, int, void***) ()
(gdb) bt
#0 0x0000000000d00192 in Glue::PHPExtension::SetValueBoolean(int, _zval_struct*, _zval_struct**, _zval_struct*, int, void***) ()
#1 0x0000000000f710af in zend_do_fcall_common_helper_SPEC (
execute_data=<optimized out>, tsrm_ls=0x7fffcc1933a0)
at /home/symcon/php-5.5.26/Zend/zend_vm_execute.h:550
#2 0x0000000000ee1fd3 in execute_ex (execute_data=0x7fffcc19a5d8,
tsrm_ls=0x7fffcc1933a0)
at /home/symcon/php-5.5.26/Zend/zend_vm_execute.h:363
#3 0x0000000000eb9688 in zend_execute_scripts (type=type@entry=8,
tsrm_ls=tsrm_ls@entry=0x7fffcc1933a0, retval=retval@entry=0x0,
file_count=file_count@entry=3) at /home/symcon/php-5.5.26/Zend/zend.c:1327
#4 0x0000000000e5764a in php_execute_script (primary_file=0x7fffd67fa360,
tsrm_ls=0x7fffcc1933a0) at /home/symcon/php-5.5.26/main/main.c:2525
#5 0x0000000000d32a7c in IPSScriptEngine::RunScriptThread(IPSScriptThreadEx&)
()
#6 0x00007ffff5dd5a40 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7 0x00007ffff55f2182 in start_thread (arg=0x7fffd67fc700)
at pthread_create.c:312
#8 0x00007ffff531f47d in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
Variante 2 (noch keine Ursache erkennbar):
>> Request for shutdown received...
17:35:46 | 00000 | Kernel | Deinitialisiere...
17:35:46 | 00000 | DataServer | Stoppe Server...
[Thread 0x7fffbdfeb700 (LWP 4967) exited]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffb87e0700 (LWP 4978)]
0x000000000058fcc2 in boost::asio::detail::reactive_socket_service_base::start_op(boost::asio::detail::reactive_socket_service_base::base_implementation_type&, int, boost::asio::detail::reactor_op*, bool, bool, bool) ()
(gdb) bt
#0 0x000000000058fcc2 in boost::asio::detail::reactive_socket_service_base::start_op(boost::asio::detail::reactive_socket_service_base::base_implementation_type&, int, boost::asio::detail::reactor_op*, bool, bool, bool) ()
#1 0x000000000059720b in boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, boost::asio::detail::write_streambuf_handler<std::allocator<char>, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >::write_response(std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, std::shared_ptr<SimpleWeb::Request<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >)::{lambda(std::function<void (std::ostream&, std::shared_ptr<SimpleWeb::Request<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >)>)#1}::operator()(std::function<void (std::ostream&, std::shared_ptr<SimpleWeb::Request<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >)>) const::{lambda(boost::system::error_code const&, unsigned long)#1}> >::operator()(boost::system::error_code const, unsigned long, int) ()
---Type <return> to continue, or q <return> to quit---
#2 0x00000000005977ea in SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >::write_response(std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, std::shared_ptr<SimpleWeb::Request<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >)::{lambda(std::function<void (std::ostream&, std::shared_ptr<SimpleWeb::Request<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >)>)#1}::operator()(std::function<void (std::ostream&, std::shared_ptr<SimpleWeb::Request<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >)>) const
()
#3 0x0000000000597be6 in SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >::write_response(std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, std::shared_ptr<SimpleWeb::Request<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >) ()
#4 0x0000000000597eed in SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> ---Type <return> to continue, or q <return> to quit---
> >::read_request_and_content(std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >)::{lambda(boost::system::error_code const&, unsigned long)#1}::operator()(boost::system::error_code const&, unsigned long) const::{lambda(boost::system::error_code const&, unsigned long)#1}::operator()(boost::system::error_code const&, unsigned long) const ()
#5 0x0000000000598486 in boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_exactly_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >::read_request_and_content(std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >)::{lambda(boost::system::error_code const&, unsigned long)#1}::operator()(boost::system::error_code const&, unsigned long) const::{lambda(boost::system::error_code const&, unsigned long)#1}>::operator()(boost::system::error_code const&, unsigned long, int) ()
#6 0x00000000005986a3 in boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_exactly_t, ---Type <return> to continue, or q <return> to quit---
SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >::read_request_and_content(std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >)::{lambda(boost::system::error_code const&, unsigned long)#1}::operator()(boost::system::error_code const&, unsigned long) const::{lambda(boost::system::error_code const&, unsigned long)#1}> >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long)
()
#7 0x0000000000455ac0 in boost::asio::detail::task_io_service::run(boost::system::error_code&) ()
#8 0x0000000000590c86 in std::thread::_Impl<std::_Bind_simple<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >::start()::{lambda()#1} ()> >::_M_run()
()
#9 0x00007ffff5dd5a40 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x00007ffff55f2182 in start_thread (arg=0x7fffb87e0700)
at pthread_create.c:312
#11 0x00007ffff531f47d in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
(gdb)
Michael