Boost logo

Boost Users :

From: Sascha Lumma (s.lumma_at_[hidden])
Date: 2006-07-07 07:36:54


Hi, I get an error when I try to close the shared memory segment. My
destructor calls simply mysegm.close(). I get the message below, but I can't
interpret it so that I can do anything with it. It happens only if before a
child process, that works in this segment too, is terminated erroneous and
subsequently a faultless run was done. But to close the segment should be
possible after errors too and at any time. When I restart my application
without deleting the segment by hand it hangs in the constructor and I can
wait forever, without any message.

Thanks a lot, Sascha

boost/shmem/detail/segment_manager.hpp:698: bool
boost::shmem::detail::segment_manager<CharType, MemoryAlgorithm,
IndexType>::priv_generic_named_destroy(const CharT*, typename
boost::shmem::detail::segment_manager<CharType, MemoryAlgorithm,
IndexType>::index_traits<CharT>::index_type&) [with T = std::pair<int, int>,
CharT = char, CharType = char, MemoryAlgorithm =
boost::shmem::simple_seq_fit<boost::shmem::shared_mutex_family,
boost::shmem::offset_ptr<void, boost::shmem::offset_1_null_ptr> >, IndexType
= boost::shmem::flat_map_index]: Assertion `0' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 1076082048 (LWP 6141)]
0xffffe410 in ?? ()
(gdb) backtrace
#0 0xffffe410 in ?? ()
#1 0xbfffead0 in ?? ()
#2 0x00000006 in ?? ()
#3 0x000017fd in ?? ()
#4 0x4014d7a1 in raise () from /lib/tls/libc.so.6
#5 0x4014ef79 in abort () from /lib/tls/libc.so.6
#6 0x40146fe3 in __assert_fail () from /lib/tls/libc.so.6
#7 0x41b6f53e in priv_generic_named_destroy<std::pair<int, int>, char>
(this=0x30000008,
    name=Variable "name" is not available.
) at lock.hpp:85
#8 0x41b64c45 in ~Mosilapy (this=Variable "this" is not available.
) at segment_manager.hpp:432


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