Modify

Ticket #4907 (closed Bugs: fixed)

Opened 3 years ago

Last modified 2 years ago

message queue temp dir inconsistent if WMI calls fail.

Reported by: rick.meier@… Owned by: igaztanaga
Milestone: To Be Determined Component: interprocess
Version: Boost 1.45.0 Severity: Showstopper
Keywords: Cc:

Description

If the WMI call to get the latest boot time fails then a temporary dir under boost_interprocess is not created. This is problematic since subsequent calls to the WMI can succeed and you end up with message queues that can't connect to each other.

I have seen this happen consistently on XP when the app creating the message queue is a service.

Attachments

Change History

comment:1 Changed 3 years ago by anonymous

You can see this happen by trying to create two message queues in two simultaneous threads on XP. The call to CoInitializeSecurity?() is not multithread safe under XP and will cause the retrieval of the boot time to fail. See win32_api.hpp:1457

comment:2 Changed 3 years ago by anonymous

This seems like the same problem as ticket:4895.

I hope it is fixed soon, because I'm unable to use boost::interprocess. If a patch is submitted here, I can test it on Windows XP and Windows 7.

comment:3 Changed 3 years ago by igaztanaga

Please try SVN for recent changes. I'm not an expert in COM issues, so I would need some help with this issue. Thanks for the report.

comment:4 Changed 3 years ago by igaztanaga

  • Status changed from new to closed
  • Resolution set to fixed

WMI is provoking a lot of problems for Boost Interprocess users. I've decided to remove bootstamp use in windows to obtain kernel persistence in Windows. This means that windows shared memory/queues will survive to reboots, but this behaviour is allowed by POSIX. Using bootstamps to detect reboots is doing more harm than good.

WMI is removed in Boost 1.47

comment:5 Changed 3 years ago by Kai K.

Since WMI usage was not removed for 1.47.0 please have a look at my additions to #5392!

comment:6 Changed 2 years ago by anonymous

It was removed in Boost 1.48.

View

Add a comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.