[Boost-bugs] [Boost C++ Libraries] #12137: boost::interprocess::intermodule_singleton initialization failed

Subject: [Boost-bugs] [Boost C++ Libraries] #12137: boost::interprocess::intermodule_singleton initialization failed
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-04-18 23:01:55


#12137: boost::interprocess::intermodule_singleton initialization failed
-------------------------------------------------+-------------------------
 Reporter: Valentin Shtronda <valiko.ua@…> | Owner: igaztanaga
     Type: Bugs | Status: new
Milestone: To Be Determined | Component:
  Version: Boost 1.61.0 | interprocess
 Keywords: System EventLog | Severity: Showstopper
  get_last_bootup_time get_shared_dir |
-------------------------------------------------+-------------------------
 I'm getting exception "boost::interprocess::intermodule_singleton
 initialization failed" when trying to use Boost Interprocess library, even
 when I run any example from the library doc.
 Debugging showed that the library fails to find event 6005 in System's
 EventLog, so it cannot obtain system boot-up time, which it uses to create
 shared dir.

 I used Windows Event Viewer to check that indeed, there is no such event
 in my system at this moment. I didn't delete it, so I suppose that Windows
 itself cleans old events. My system's uptime is more than 40 days. I see
 that my System Event Log is configured to be maximum 20MB (it's default, I
 didn't change it) and it's currently 20MB, so it explains everything.

 Since it's normal situation, I believe the library should use other way
 (in addition to, or instead of current way) to get bootup time. For
 example, GetTickCount64 or System Up Time performance counter
 (https://msdn.microsoft.com/en-
 us/library/windows/desktop/ms725496(v=vs.85).aspx).

 What is worse, I cannot reboot at the moment and need to proof-of-concept
 IPC on Windows for our project, and this is my only Windows box...

 The only quick workaround I see is to patch get_last_bootup_time function
 to use GetTickCount64.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/12137>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:20 UTC