Boost logo

Boost Users :

Subject: Re: [Boost-users] boost.mpi serialization... error?
From: Jacques C. Richard (richard_at_[hidden])
Date: 2011-11-02 11:46:50


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_at_[hidden]> wrote:
>> On Tue, Nov 1, 2011 at 14:31, Jacques C. Richard <richard_at_[hidden]> 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_at_[hidden]
> 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_at_[hidden] 979-845-3916 (fax 6051) http://aeweb.tamu.edu/Richard/



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net