boost.mpi serialization... error?

I am trying boost::mpi on a big code & getting the following error message from mac mpiC++ (same from an intel super-computer). Can anyone pick out something quickly from that to help please or do you need to see more? I'd like to figure out what I did to not do it! :) Thanks! Jacques Process=1's mpe_decomp1d MiniGridSize= 3 3 3 Pause @ "main: 879: Domain decomposition" if 1 process: <Enter> or <Return> continues; ^C aborts: init_internal_neighbors_wf: Process 1 of 2 exchanging (if necessary) w/+/-1! Sender=1, Receiver=0 [jacques-richards-mac-mini:00474] *** Process received signal *** [jacques-richards-mac-mini:00474] Signal: Segmentation fault (11) [jacques-richards-mac-mini:00474] Signal code: Address not mapped (1) [jacques-richards-mac-mini:00474] Failing at address: 0x200000001 [jacques-richards-mac-mini:00474] [ 0] 2 libSystem.B.dylib 0x00007fff86fa51ba _sigtramp + 26 [jacques-richards-mac-mini:00474] [ 1] 3 ??? 0x0000000000000000 0x0 + 0 [jacques-richards-mac-mini:00474] [ 2] 4 Mg 0x000000010010ff0e _ZN5boost3mpi6detail24ignore_skeleton_oarchiveINS1_16content_oarchiveEE13save_overrideIP12lattice_typeEEvRKT_i + 40 [jacques-richards-mac-mini:00474] [ 3] 5 Mg 0x000000010010ff3a _ZN5boost7archive6detail18interface_oarchiveINS_3mpi6detail16content_oarchiveEElsIKP12lattice_typeEERS5_RT_ + 42 [jacques-richards-mac-mini:00474] [ 4] 6 Mg 0x000000010010ff6e _ZNK5boost13serialization3nvpIKP12lattice_typeE4saveINS_3mpi6detail16content_oarchiveEEEvRT_j + 40 [jacques-richards-mac-mini:00474] [ 5] 7 Mg 0x000000010010ff93 _ZN5boost13serialization6access1 ... .. .

On Tue, Nov 1, 2011 at 14:31, Jacques C. Richard <richard@tamu.edu> wrote:
I am trying boost::mpi on a big code & getting the following error message from mac mpiC++ (same from an intel super-computer). Can anyone pick out something quickly from that to help please or do you need to see more? I'd like to figure out what I did to not do it! :) Thanks! Jacques
Process=1's mpe_decomp1d MiniGridSize= 3 3 3 Pause @ "main: 879: Domain decomposition" if 1 process: <Enter> or <Return> continues; ^C aborts: init_internal_neighbors_wf: Process 1 of 2 exchanging (if necessary) w/+/-1! Sender=1, Receiver=0 [jacques-richards-mac-mini:00474] *** Process received signal *** [jacques-richards-mac-mini:00474] Signal: Segmentation fault (11) [jacques-richards-mac-mini:00474] Signal code: Address not mapped (1) [jacques-richards-mac-mini:00474] Failing at address: 0x200000001 [jacques-richards-mac-mini:00474] [ 0] 2 libSystem.B.dylib 0x00007fff86fa51ba _sigtramp + 26 [jacques-richards-mac-mini:00474] [ 1] 3 ??? 0x0000000000000000 0x0 + 0 [jacques-richards-mac-mini:00474] [ 2] 4 Mg 0x000000010010ff0e _ZN5boost3mpi6detail24ignore_skeleton_oarchiveINS1_16content_oarchiveEE13save_overrideIP12lattice_typeEEvRKT_i + 40 [jacques-richards-mac-mini:00474] [ 3] 5 Mg 0x000000010010ff3a _ZN5boost7archive6detail18interface_oarchiveINS_3mpi6detail16content_oarchiveEElsIKP12lattice_typeEERS5_RT_ + 42 [jacques-richards-mac-mini:00474] [ 4] 6 Mg 0x000000010010ff6e _ZNK5boost13serialization3nvpIKP12lattice_typeE4saveINS_3mpi6detail16content_oarchiveEEEvRT_j + 40 [jacques-richards-mac-mini:00474] [ 5] 7 Mg 0x000000010010ff93 _ZN5boost13serialization6access1 ...
It would be nice if you used nm -C to get namespace::class::method instead of gcc's mangled mess. How do you do this? $nm -C prog_or_lib | grep $(nm prog_or_lib | grep _Z[gcc mangle] | cut -d' ' -f1) in terminal. All I can see is boost::mpi::detail::ignore_skeleton_oarchive followed by template args and overloads, boost::archive::detail::interface_oarchive followed by template args and overloads, and boost::serialization followed by template args and overloads. Run nm -C to get human-useful symbol names in the backtrace.

I got a no -C option but trying others. Thanks! On Nov 1, 2011, at 7:03 PM, Andrey Moshbear wrote:
On Tue, Nov 1, 2011 at 14:31, Jacques C. Richard <richard@tamu.edu> wrote:
I am trying boost::mpi on a big code & getting the following error message from mac mpiC++ (same from an intel super-computer). Can anyone pick out something quickly from that to help please or do you need to see more? I'd like to figure out what I did to not do it! :) Thanks! Jacques
Process=1's mpe_decomp1d MiniGridSize= 3 3 3 Pause @ "main: 879: Domain decomposition" if 1 process: <Enter> or <Return> continues; ^C aborts: init_internal_neighbors_wf: Process 1 of 2 exchanging (if necessary) w/+/-1! Sender=1, Receiver=0 [jacques-richards-mac-mini:00474] *** Process received signal *** [jacques-richards-mac-mini:00474] Signal: Segmentation fault (11) [jacques-richards-mac-mini:00474] Signal code: Address not mapped (1) [jacques-richards-mac-mini:00474] Failing at address: 0x200000001 [jacques-richards-mac-mini:00474] [ 0] 2 libSystem.B.dylib 0x00007fff86fa51ba _sigtramp + 26 [jacques-richards-mac-mini:00474] [ 1] 3 ??? 0x0000000000000000 0x0 + 0 [jacques-richards-mac-mini:00474] [ 2] 4 Mg 0x000000010010ff0e _ZN5boost3mpi6detail24ignore_skeleton_oarchiveINS1_16content_oarchiveEE13save_overrideIP12lattice_typeEEvRKT_i + 40 [jacques-richards-mac-mini:00474] [ 3] 5 Mg 0x000000010010ff3a _ZN5boost7archive6detail18interface_oarchiveINS_3mpi6detail16content_oarchiveEElsIKP12lattice_typeEERS5_RT_ + 42 [jacques-richards-mac-mini:00474] [ 4] 6 Mg 0x000000010010ff6e _ZNK5boost13serialization3nvpIKP12lattice_typeE4saveINS_3mpi6detail16content_oarchiveEEEvRT_j + 40 [jacques-richards-mac-mini:00474] [ 5] 7 Mg 0x000000010010ff93 _ZN5boost13serialization6access1 ...
It would be nice if you used nm -C to get namespace::class::method instead of gcc's mangled mess.
How do you do this? $nm -C prog_or_lib | grep $(nm prog_or_lib | grep _Z[gcc mangle] | cut -d' ' -f1) in terminal.
All I can see is boost::mpi::detail::ignore_skeleton_oarchive followed by template args and overloads, boost::archive::detail::interface_oarchive followed by template args and overloads, and boost::serialization followed by template args and overloads. Run nm -C to get human-useful symbol names in the backtrace. _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users

On Tue, Nov 1, 2011 at 20:03, Andrey Moshbear <andrey.vul@gmail.com> wrote: > On Tue, Nov 1, 2011 at 14:31, Jacques C. Richard <richard@tamu.edu> wrote: >> I am trying boost::mpi on a big code & getting the following error message from mac mpiC++ (same from an intel super-computer). Can anyone pick out something quickly from that to help please or do you need to see more? I'd like to figure out what I did to not do it! :) >> Thanks! >> Jacques >> [snip] > > It would be nice if you used nm -C to get namespace::class::method > instead of gcc's mangled mess. > > How do you do this? > $nm -C prog_or_lib | grep $(nm prog_or_lib | grep _Z[gcc mangle] | cut > -d' ' -f1) in terminal. > > All I can see is boost::mpi::detail::ignore_skeleton_oarchive followed > by template args and overloads, > boost::archive::detail::interface_oarchive followed by template args > and overloads, and boost::serialization followed by template args and > overloads. > Run nm -C to get human-useful symbol names in the backtrace. > c++filt is your friend. Demangled backtrace: >> Process=1's mpe_decomp1d MiniGridSize= 3 3 3 >> Pause @ "main: 879: Domain decomposition" if 1 process: <Enter> or <Return> continues; ^C aborts: >> init_internal_neighbors_wf: Process 1 of 2 exchanging (if necessary) w/+/-1! Sender=1, Receiver=0 >> [jacques-richards-mac-mini:00474] *** Process received signal *** >> [jacques-richards-mac-mini:00474] Signal: Segmentation fault (11) >> [jacques-richards-mac-mini:00474] Signal code: Address not mapped (1) >> [jacques-richards-mac-mini:00474] Failing at address: 0x200000001 >> [jacques-richards-mac-mini:00474] [ 0] 2 libSystem.B.dylib 0x00007fff86fa51ba _sigtramp + 26 >> [jacques-richards-mac-mini:00474] [ 1] 3 ??? 0x0000000000000000 0x0 + 0 >> [jacques-richards-mac-mini:00474] [ 2] 4 Mg 0x000000010010ff0e void boost::mpi::detail::ignore_skeleton_oarchive<boost::mpi::detail::content_oarchive>::save_override<lattice_type*>(lattice_type* const&, int) + 40 >> [jacques-richards-mac-mini:00474] [ 3] 5 Mg 0x000000010010ff3a boost::mpi::detail::content_oarchive& boost::archive::detail::interface_oarchive<boost::mpi::detail::content_oarchive>::operator<< <lattice_type* const>(lattice_type* const&) + 42 >> [jacques-richards-mac-mini:00474] [ 4] 6 Mg 0x000000010010ff6e void boost::serialization::nvp<lattice_type* const>::save<boost::mpi::detail::content_oarchive>(boost::mpi::detail::content_oarchive&, unsigned int) const + 40 >> [jacques-richards-mac-mini:00474] [ 5] 7 Mg 0x000000010010ff93 boost::serialization::access::??incomplete_name?? >> ...

nm -Cspl ./Mg | grep lattice | c++filt shows boost files & a few of mine where serialized/archived neighbors is called & maybe the index is out of range in these other files, where I did not intend to interfere, for a process there: struct lattice_type { /* must have serialize: AND in this order/syntax: http://www.boost.org/doc/libs/1_47_0/libs/serialization/doc/ */ #ifdef BOOST_MPI_HPP private: friend class boost::serialization::access; #endif /* BOOST_MPI_HPP */ public: lattice_type* neighbors[ en - 1 ]; /* must have serialize; helps too w/IO? https://groups.google.com/group/boost-list/browse_thread/thread/95a8eb0570fd6ffe?hl=en */ #ifdef BOOST_MPI_HPP protected: template<class Archive> inline void serialize( Archive & ar , const unsigned int version) //http://www.boost.org/doc/libs/1_46_1/doc/html/mpi/tutorial.html { ar & neighbors ; // for 'packing' (& who knows what else) for message-passing (void)(version) ; // ends "unused parameter 'version'" warnings } public: #endif otherwise. nm -Cspl ./Mg | grep ignore_skeleton_oarchive | c++filt and other similar ones w/different names have shown me line #'s from boost code but I'm pretty sure the error is in my code & I'm trying to track to which line in which of my files. I suspect it has to do w/serialization (or maybe I need to spell out how to de-serialize somewhere) but I haven't pinned it down yet but this is helping so far. Thanks! Jacques On Nov 1, 2011, at 11:52 PM, Andrey Moshbear wrote: > On Tue, Nov 1, 2011 at 20:03, Andrey Moshbear <andrey.vul@gmail.com> wrote: >> On Tue, Nov 1, 2011 at 14:31, Jacques C. Richard <richard@tamu.edu> wrote: >>> I am trying boost::mpi on a big code & getting the following error message from mac mpiC++ (same from an intel super-computer). Can anyone pick out something quickly from that to help please or do you need to see more? I'd like to figure out what I did to not do it! :) >>> Thanks! >>> Jacques >>> > [snip] >> >> It would be nice if you used nm -C to get namespace::class::method >> instead of gcc's mangled mess. >> >> How do you do this? >> $nm -C prog_or_lib | grep $(nm prog_or_lib | grep _Z[gcc mangle] | cut >> -d' ' -f1) in terminal. >> >> All I can see is boost::mpi::detail::ignore_skeleton_oarchive followed >> by template args and overloads, >> boost::archive::detail::interface_oarchive followed by template args >> and overloads, and boost::serialization followed by template args and >> overloads. >> Run nm -C to get human-useful symbol names in the backtrace. >> > > c++filt is your friend. > > Demangled backtrace: >>> Process=1's mpe_decomp1d MiniGridSize= 3 3 3 >>> Pause @ "main: 879: Domain decomposition" if 1 process: <Enter> or <Return> continues; ^C aborts: >>> init_internal_neighbors_wf: Process 1 of 2 exchanging (if necessary) w/+/-1! Sender=1, Receiver=0 >>> [jacques-richards-mac-mini:00474] *** Process received signal *** >>> [jacques-richards-mac-mini:00474] Signal: Segmentation fault (11) >>> [jacques-richards-mac-mini:00474] Signal code: Address not mapped (1) >>> [jacques-richards-mac-mini:00474] Failing at address: 0x200000001 >>> [jacques-richards-mac-mini:00474] [ 0] 2 libSystem.B.dylib 0x00007fff86fa51ba _sigtramp + 26 >>> [jacques-richards-mac-mini:00474] [ 1] 3 ??? 0x0000000000000000 0x0 + 0 >>> [jacques-richards-mac-mini:00474] [ 2] 4 Mg 0x000000010010ff0e void boost::mpi::detail::ignore_skeleton_oarchive<boost::mpi::detail::content_oarchive>::save_override<lattice_type*>(lattice_type* const&, int) + 40 >>> [jacques-richards-mac-mini:00474] [ 3] 5 Mg 0x000000010010ff3a boost::mpi::detail::content_oarchive& boost::archive::detail::interface_oarchive<boost::mpi::detail::content_oarchive>::operator<< <lattice_type* const>(lattice_type* const&) + 42 >>> [jacques-richards-mac-mini:00474] [ 4] 6 Mg 0x000000010010ff6e void boost::serialization::nvp<lattice_type* const>::save<boost::mpi::detail::content_oarchive>(boost::mpi::detail::content_oarchive&, unsigned int) const > + 40 >>> [jacques-richards-mac-mini:00474] [ 5] 7 Mg 0x000000010010ff93 boost::serialization::access::??incomplete_name?? >>> ... > _______________________________________________ > Boost-users mailing list > Boost-users@lists.boost.org > http://lists.boost.org/mailman/listinfo.cgi/boost-users Dr. Jacques C. Richard NSF Research Experiences for Undergraduates (REU) Sites Sr. Lecturer/Research Associate, Aerospace Engineering Dept. Texas A & M University, College Station, TX 77843-3141 richard@tamu.edu 979-845-3916 (fax 6051) http://aeweb.tamu.edu/Richard/
participants (2)
-
Andrey Moshbear
-
Jacques C. Richard