Boost logo

Boost Users :

Subject: [Boost-users] crash using boost::interprocess
From: nevergone . (wangyongxina_at_[hidden])
Date: 2011-11-02 03:00:09


Hello,

I'm using boost::interprocess to share config information between processes
on windows platform. It random crash on custom pc.
I only have a minidump dump, here is the stack output by windbg:

001df6b0 65e49d45 001df758 00302c48 7721ee1e
XXXXPlugin!boost::interprocess::detail::emulation_recursive_mutex::lock+0xc
001df6f8 65e49c42 06750038 65e7b8b4 06750028
XXXXPlugin!boost::interprocess::scoped_lock<boost::interprocess::interprocess_recursive_mutex>::lock+0x15
001df720 65e494c1 06750008 00000001 6c1274eb
XXXXPlugin!boost::interprocess::segment_manager<wchar_t,boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family,boost::interprocess::offset_ptr<void>,0>,boost::interprocess::iset_index>::
priv_get_lock+0x42
001df76c 65e48239 65e7b8b4 001df798 001df794
XXXXPlugin!boost::interprocess::segment_manager<wchar_t,boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family,boost::interprocess::offset_ptr<void>,0>,boost::interprocess::iset_index>::
priv_generic_find<wchar_t>+0x31
001df7bc 65e70053 001df7dc 00000001 001df8c4
XXXXPlugin!boost::interprocess::segment_manager<wchar_t,boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family,boost::interprocess::offset_ptr<void>,0>,boost::interprocess::iset_index>::
priv_find_impl<ConfigFile::_CACHE_ITEM>+0xa9
001df800 65e720c8 01ff8670 65e7b8b4 001df8cc
XXXXPlugin!ConfigFile::CConfigCache::Read+0xc3
001df82c 65e5bbf5 65e7b8b4 001df8cc 00000004
XXXXPlugin!ConfigFile::CCommonConfig::Read+0x28
001dfb00 65e5e42e 020739b8 001dfb24 65e5e69a
XXXXPlugin!CXXXXXMng::bFindProcessInfo+0x55
001dfb0c 65e5e69a 0000001c 001dfba0 00000113
XXXXPlugin!CXXXXXMng::OnTimer+0x5e
001dfb24 756286ef 00020448 00000113 0000001c
XXXXPlugin!CXXXXXMng::StaticWndProc+0x2a
001dfb50 75628876 65e5e670 00020448 00000113 user32!InternalCallWinProc+0x23
001dfbc8 756289b5 00000000 65e5e670 00020448
user32!UserCallWinProcCheckWow+0x14b
001dfc28 75628e9c 65e5e670 00000000 001dfc70
user32!DispatchMessageWorker+0x35e
001dfc38 0137cf27 001dfc50 013eb5a8 013eb2d8 user32!DispatchMessageW+0xf
001dfc70 0134b2f5 8b56d422 013eb2d8 013eb2d8
xxxxMain!CXXXX::MessageLoop+0x97
001dfec8 67add2a7 013f11a4 00000001 00000000
xxxxMain!CXXXXApp::InitInstance+0x335
001dfecc 013f11a4 00000001 00000000 013787d8 mfc80u!AfxWinMain+0x48
[f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\winmain.cpp @ 37]
001dff6c 75b41114 7ffda000 001dffb8 7721b495 xxxxMain!__native_startup_lock
001dff78 7721b495 7ffda000 773d0f2e 00000000
kernel32!BaseThreadInitThunk+0xe
001dffb8 7721b468 01378944 7ffda000 00000000 ntdll!__RtlUserThreadStart+0x70
001dffd0 00000000 01378944 7ffda000 00000000 ntdll!_RtlUserThreadStart+0x1b

EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 72341bac
(XXXXPlugin!boost::interprocess::detail::emulation_recursive_mutex::lock+0x0000000c)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 00000000
   Parameter[1]: 06400030
Attempt to read from address 06400030

FOLLOWUP_IP:
XXXXPlugin!boost::interprocess::detail::emulation_recursive_mutex::lock+c
65e41bac 8b4608 mov eax,dword ptr [esi+8]

the code is:

PCACHE_ITEM CacheItem = m_SharedMemory.find<CACHE_ITEM>(lpszName).first;

Can anyone help me? thx



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