Sur ma machine de développement la fonction 'vishnu_save_configuration' entraine un segfault du serveur. Sur la machine d'intégration continue je n'ai pas pu le reproduire. Je laisse la trace ici si un jour on a un problème de ce type qui surgit.
La backtrace :
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb54ffb40 (LWP 6638)]
0xb7af6f90 in UMS_Data::UMS_DataFactory::convertToString (this=0xb29055c0,
_eDataType=0xb29114bc, _instanceValue=...)
at /home/keo/Bureau/depot_git_edf/vishnu/core/src/emfdata/UMS_Data/UMS_DataFactoryImpl.cpp:200
200 return _epkg->getPrivilegeType()->getEEnumLiteral(_value)->getName();
(gdb) where
0 0xb7af6f90 in UMS_Data::UMS_DataFactory::convertToString (this=0xb29055c0,
_eDataType=0xb29114bc, _instanceValue=...)
at /home/keo/Bureau/depot_git_edf/vishnu/core/src/emfdata/UMS_Data/UMS_DataFactoryImpl.cpp:200
1 0xb7f06849 in ecorecpp::serializer::serializer::serialize_node (
this=0xb54feb80, obj=0xb5507f48)
at /home/keo/Bureau/depot_git_edf/vishnu/core/deps/emf4cpp/ecorecpp/serializer/serializer.cpp:101
2 0xb7f065cf in ecorecpp::serializer::serializer::create_node (
this=0xb54feb80, parent_obj=0xb5505928, child_obj=0xb5507f48, ef=
0xb290d778)
at /home/keo/Bureau/depot_git_edf/vishnu/core/deps/emf4cpp/ecorecpp/serializer/serializer.cpp:56
3 0xb7f070b0 in ecorecpp::serializer::serializer::serialize_node (
this=0xb54feb80, obj=0xb5505928)
at /home/keo/Bureau/depot_git_edf/vishnu/core/deps/emf4cpp/ecorecpp/serializer/serializer.cpp:250
4 0xb7f07a54 in ecorecpp::serializer::serializer::serialize_str (
this=0xb54feb80, obj=0xb5505928)
at /home/keo/Bureau/depot_git_edf/vishnu/core/deps/emf4cpp/ecorecpp/serializer/serializer.cpp:330
5 0x0809403f in solveConfigurationSave (pb=0xb5505338)
at /home/keo/Bureau/depot_git_edf/vishnu/UMS/src/sed/internalApi.cpp:867
---Type to continue, or q to quit---
6 0x0808bd3b in boost::detail::function::function_invoker1<int ()(diet_profile_t), int, diet_profile_t*>::invoke (function_ptr=..., a0=0xb5505338)
at /usr/local/include/boost/function/function_template.hpp:95
7 0xb7d7fdc6 in boost::function1<int, diet_profile_t*>::operator() (
this=0xb54fee0c, a0=0xb5505338)
at /usr/local/include/boost/function/function_template.hpp:760
8 0xb7d7e58c in SeD::call (this=0x80ea178, profile=0xb5505338)
at /home/keo/Bureau/depot_git_edf/vishnu/communication/SeD.cpp:46
9 0xb7d7f47c in SeDWorker::doCall (this=0xb5500490, data=...)
at /home/keo/Bureau/depot_git_edf/vishnu/communication/SeDWorker.hpp:54
10 0xb7d7f045 in Worker::operator() (this=0xb5500490)
at /home/keo/Bureau/depot_git_edf/vishnu/communication/Worker.hpp:58
11 0xb7d82f38 in boost::detail::function::void_function_obj_invoker0<SeDWorker, void>::invoke (function_obj_ptr=...)
at /usr/local/include/boost/function/function_template.hpp:153
12 0xb7d8561b in boost::function0::operator() (this=0xb54ff1e0)
at /usr/local/include/boost/function/function_template.hpp:760
13 0xb7d840ef in ThreadPool::WorkerThread (this=0xbfffe5ec)
at /home/keo/Bureau/depot_git_edf/vishnu/communication/utils.cpp:39
14 0xb7d87a70 in boost::_mfi::mf0<void, ThreadPool>::operator() (
this=0x810df94, p=0xbfffe5ec)
at /usr/local/include/boost/bind/mem_fn_template.hpp:49
15 0xb7d879fe in boost::_bi::list1boost::_bi::value<ThreadPool* >::operator()---Type to continue, or q to quit---
<boost::_mfi::mf0<void, ThreadPool>, boost::_bi::list0> (this=0x810df9c,
f=..., a=...) at /usr/local/include/boost/bind/bind.hpp:253
16 0xb7d879b0 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ThreadPool>, boost::_bi::list1boost::_bi::value<ThreadPool* > >::operator() (
this=0x810df94) at /usr/local/include/boost/bind/bind_template.hpp:20
17 0xb7d87892 in boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ThreadPool>, boost::_bi::list1boost::_bi::value<ThreadPool* > > >::run (this=0x810de90) at /usr/local/include/boost/thread/detail/thread.hpp:61
18 0xb73b0856 in thread_proxy () from /usr/local/lib/libboost_thread.so.1.48.0
19 0xb7888d4c in start_thread (arg=0xb54ffb40) at pthread_create.c:308
20 0xb7518dde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Sur ma machine de développement la fonction 'vishnu_save_configuration' entraine un segfault du serveur. Sur la machine d'intégration continue je n'ai pas pu le reproduire. Je laisse la trace ici si un jour on a un problème de ce type qui surgit. La backtrace : Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb54ffb40 (LWP 6638)] 0xb7af6f90 in UMS_Data::UMS_DataFactory::convertToString (this=0xb29055c0, _eDataType=0xb29114bc, _instanceValue=...) at /home/keo/Bureau/depot_git_edf/vishnu/core/src/emfdata/UMS_Data/UMS_DataFactoryImpl.cpp:200 200 return _epkg->getPrivilegeType()->getEEnumLiteral(_value)->getName(); (gdb) where
0 0xb7af6f90 in UMS_Data::UMS_DataFactory::convertToString (this=0xb29055c0,
1 0xb7f06849 in ecorecpp::serializer::serializer::serialize_node (
2 0xb7f065cf in ecorecpp::serializer::serializer::create_node (
3 0xb7f070b0 in ecorecpp::serializer::serializer::serialize_node (
4 0xb7f07a54 in ecorecpp::serializer::serializer::serialize_str (
5 0x0809403f in solveConfigurationSave (pb=0xb5505338)
---Type to continue, or q to quit---
6 0x0808bd3b in boost::detail::function::function_invoker1<int ()(diet_profile_t), int, diet_profile_t*>::invoke (function_ptr=..., a0=0xb5505338)
7 0xb7d7fdc6 in boost::function1<int, diet_profile_t*>::operator() (
8 0xb7d7e58c in SeD::call (this=0x80ea178, profile=0xb5505338)
9 0xb7d7f47c in SeDWorker::doCall (this=0xb5500490, data=...)
10 0xb7d7f045 in Worker::operator() (this=0xb5500490)
11 0xb7d82f38 in boost::detail::function::void_function_obj_invoker0<SeDWorker, void>::invoke (function_obj_ptr=...)
12 0xb7d8561b in boost::function0::operator() (this=0xb54ff1e0)
13 0xb7d840ef in ThreadPool::WorkerThread (this=0xbfffe5ec)
14 0xb7d87a70 in boost::_mfi::mf0<void, ThreadPool>::operator() (
15 0xb7d879fe in boost::_bi::list1boost::_bi::value<ThreadPool* >::operator()---Type to continue, or q to quit---
<boost::_mfi::mf0<void, ThreadPool>, boost::_bi::list0> (this=0x810df9c, f=..., a=...) at /usr/local/include/boost/bind/bind.hpp:253
16 0xb7d879b0 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ThreadPool>, boost::_bi::list1boost::_bi::value<ThreadPool* > >::operator() (
17 0xb7d87892 in boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ThreadPool>, boost::_bi::list1boost::_bi::value<ThreadPool* > > >::run (this=0x810de90) at /usr/local/include/boost/thread/detail/thread.hpp:61
18 0xb73b0856 in thread_proxy () from /usr/local/lib/libboost_thread.so.1.48.0
19 0xb7888d4c in start_thread (arg=0xb54ffb40) at pthread_create.c:308
20 0xb7518dde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130