Re: [Boost-bugs] [Boost C++ Libraries] #11861: Using boost thread crash winrt store app on start on Windows 10 Phone devices

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