Shutdown unter gdb -> Absturz

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

Hat sich hier schon was getan ?
Soll ich meine VM mal entstauben und nochmal testen ?

Michael

Ja. Die neuste Version sollte diesen Fehler hoffentlich nicht mehr haben.

paresy

Hust, mal Staub gewischt. Man wird ja doch faul, seitdem es 4.0 unter Windows gibt :wink:

Die SEGV beim entfernen der ScriptEngine mit ’ Glue::PHPExtension::SetValueBoolean’ habe ich leider noch immer.
Der ‚Andere‘ tritt aktuell nicht auf.

Michael

Nun mal ein anderer Fehler beim Shutdown:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffdf7fe700 (LWP 24881)]
0x00000000009a3bab in Glue::PHP::IPS_GetObjectIDByIdent(int, _zval_struct*, _zval_struct**, _zval_struct*, int, void***) ()
(gdb) bt
#0  0x00000000009a3bab in Glue::PHP::IPS_GetObjectIDByIdent(int, _zval_struct*, _zval_struct**, _zval_struct*, int, void***) ()
#1  0x0000000000e303cf in zend_do_fcall_common_helper_SPEC (
    execute_data=<optimized out>, tsrm_ls=0x7fffd00008c0)
    at /home/symcon/php-5.5.26/Zend/zend_vm_execute.h:550
#2  0x0000000000da12f3 in execute_ex (execute_data=0x7fffd0006bc0, 
    tsrm_ls=0x7fffd00008c0)
    at /home/symcon/php-5.5.26/Zend/zend_vm_execute.h:363
#3  0x0000000000d789a8 in zend_execute_scripts (type=type@entry=8, 
    tsrm_ls=tsrm_ls@entry=0x7fffd00008c0, retval=retval@entry=0x0, 
    file_count=file_count@entry=3) at /home/symcon/php-5.5.26/Zend/zend.c:1327
#4  0x0000000000d1696a in php_execute_script (primary_file=0x7fffdf7fc360, 
    tsrm_ls=0x7fffd00008c0) at /home/symcon/php-5.5.26/main/main.c:2525
#5  0x0000000000bf6a4b in IPSScriptEngine::RunScriptThread(IPSScriptThreadEx&)
    ()
#6  0x00007ffff5dd5a40 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007ffff55f2182 in start_thread (arg=0x7fffdf7fe700)
    at pthread_create.c:312
#8  0x00007ffff531f47d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Und dann wieder der hier:


22:01:15 | 00000 | Kernel | Speichere Einstellungen...
22:01:15 | 00000 | Kernel | Beende Nachrichten-Thread ...
22:01:15 | 00000 | LicensePool | Entferne...
22:01:15 | 00000 | CategoryManager | Entferne...
22:01:15 | 00000 | ObjectManager | Entferne...
22:01:15 | 00000 | InstanceManager | Entferne...
22:01:15 | 00000 | VariableManager | Entferne...
22:01:15 | 00000 | ScriptManager | Entferne...
22:01:15 | 00000 | EventManager | Beende Ereignis Thread...
22:01:15 | 00000 | EventManager | Entferne...
22:01:15 | 00000 | MediaManager | Entferne...
[Thread 0x7fffc97fa700 (LWP 28219) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffedbcf700 (LWP 28184)]
0x0000000000a2e862 in Glue::PHPExtension::GetValueBoolean(int, _zval_struct*, _zval_struct**, _zval_struct*, int, void***) ()
(gdb) bt
#0  0x0000000000a2e862 in Glue::PHPExtension::GetValueBoolean(int, _zval_struct*, _zval_struct**, _zval_struct*, int, void***) ()
#1  0x0000000000e30a5f in zend_do_fcall_common_helper_SPEC (execute_data=<optimized out>, tsrm_ls=0x7fffe40008c0)
    at /home/symcon/php-5.5.26/Zend/zend_vm_execute.h:550
#2  0x0000000000da1983 in execute_ex (execute_data=0x7fffe4007640, tsrm_ls=0x7fffe40008c0)
    at /home/symcon/php-5.5.26/Zend/zend_vm_execute.h:363
#3  0x0000000000d79038 in zend_execute_scripts (type=type@entry=8, tsrm_ls=tsrm_ls@entry=0x7fffe40008c0, 
    retval=retval@entry=0x0, file_count=file_count@entry=3) at /home/symcon/php-5.5.26/Zend/zend.c:1327
#4  0x0000000000d16ffa in php_execute_script (primary_file=0x7fffedbcd360, tsrm_ls=0x7fffe40008c0)
    at /home/symcon/php-5.5.26/main/main.c:2525
#5  0x0000000000bf70db in IPSScriptEngine::RunScriptThread(IPSScriptThreadEx&) ()
#6  0x00007ffff5dd5a40 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007ffff55f2182 in start_thread (arg=0x7fffedbcf700) at pthread_create.c:312
#8  0x00007ffff531f47d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
Warning: the current language does not match this frame.
(gdb) 

Testsystem mit Ubuntu… die einzigen Scripte, welche hier laufen und dann diesen Fehler beim Shutdown werfen, sind aus dem FritzBox Project.

Irgendwie sind die Fehler ja ‚logisch‘, wenn der betreffende Ziel-Manager schon beendet wurde, kann er schlecht Daten für ein noch laufendes Script liefern. Aber warum läuft da noch ein Script, wenn der ScriptManager schon beendet wurde :confused:

Michael