Subject: Re: [Boost-bugs] [Boost C++ Libraries] #11861: Using boost thread crash winrt store app on start on Windows 10 Phone devices
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-01-04 18:44:25
#11861: Using boost thread crash winrt store app on start on Windows 10 Phone
devices
------------------------------------+-------------------------
Reporter: Mathieu <mvillegas@â¦> | Owner: viboes
Type: Bugs | Status: assigned
Milestone: To Be Determined | Component: thread
Version: Boost 1.60.0 | Severity: Showstopper
Resolution: | Keywords:
------------------------------------+-------------------------
Comment (by Mathieu <mvillegas@â¦>):
Hi,
Actually, based on my knowledge, I can't debug the code.
In a 100% C++ app, the application crashes on load, before the debugger
can attach to the process. I start with a "step in", and it crashes before
it can break on the first line.
Using a C# app which load and uses the dll compiled with boost thread in
it, it seems to crash when it loads the dll (the first time I access a
managed C++ class of the DLL). If I debug native only, it porposes to
break on the exception, and open the assembly code where it broke (in what
look like the exception code (__imp_RtlRaiseException_at_4)). The call stack
to this exception is:
KernelBase.dll!_RaiseException_at_16()[[BR]]
msvcrt.dll!__CxxThrowException_at_8()[[BR]]
coreclr.dll!6aa05ad9()[[BR]]
[Frames below may be incorrect and/or missing, no symbols loaded
for coreclr.dll] [[BR]]
coreclr.dll!6a8dfc09()[[BR]]
coreclr.dll!6a9ef3f5()[[BR]]
[External Code] [[BR]]
coreclr.dll!6aaf30cf()[[BR]]
coreclr.dll!6a8c83f3()[[BR]]
coreclr.dll!6a8c8662()[[BR]]
coreclr.dll!6a9efe97()[[BR]]
coreclr.dll!6a9eff43()[[BR]]
coreclr.dll!6a9f0ae2()[[BR]]
mscorlib.ni.dll!6a2f272e()[[BR]]
mscorlib.ni.dll!6a2f28b4()[[BR]]
mscorlib.ni.dll!6a31dc84()[[BR]]
mscorlib.ni.dll!6a31dbfc()[[BR]]
[External Code] [[BR]]
mscorlib.ni.dll!6a441b29()[[BR]]
[External Code] [[BR]]
coreclr.dll!6aaf33cc()[[BR]]
[External Code] [[BR]]
coreclr.dll!6aaf33cc()[[BR]]
[External Code] [[BR]]
There is no reference to my own DLL which can't be loaded in this stack.
The app crash when the Cpp code is loaded, before "boost::thread
workerThread(workerFunc);" is called, maybe because boost thread or one of
the other libs used by boost thread ( chrono, date_time, regex or system)
try to load a dll which doesn't exists, or because it tries to use a
banned API.
I've run microsoft test suite used to validate app for store, and it
reported no call to a banned API. However, I don't know if test validate
used dll and API for phones (it runs only on desktop environment), and if
it checks all the dll dynamically loaded.
In the build command, I set compilation for store, but there is no
specific parameter to say it is for Windows 10 (UAP) and not Windows 8.1
or 8.0. I tried to use the compile parameter "/D_WIN32_WINNT=0x0A00", but
it seems it changes nothing. BOOST_WINAPI_VERSION_WIN10 is set to 0x0A00
in config.hpp, but it seems it is never used in boost.
I tried to build for Windows Phone with the parameter windows-api=phone,
but it crashes the same way. Note that I had to remove the parameter
/Zm800 in msvc.jam since it was not recognized.
This is where I am right now. If you have any suggestions regarding build
parameters or ways to check a specific thing, I will be pleased to try
them.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/11861#comment:2> 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:19 UTC