Opened 10 years ago

Closed 10 years ago

#7292 closed Bugs (fixed)

exception thread_resource_error throw by boost_thread not seen exe (gcc-mingw-4.6.0)

Reported by: viboes Owned by: viboes
Milestone: Component: thread
Version: Boost 1.51.0 Severity: Problem
Keywords: Cc:

Description

The following throw exception

          boost::throw_exception(thread_resource_error(system::errc::resource_deadlock_would_occur, "boost thread: trying joining itself"));

thrown by boost_thread when a thread tries to join itself is not seen by the executable associated to the test threadjoin_p.test

gcc.link ..\..\..\bin.v2\libs\thread\test\thread__join_p.test\gcc-mingw-4.6.0\debug\threading-multi\thread__join_p.exe
testing.capture-output ..\..\..\bin.v2\libs\thread\test\thread__join_p.test\gcc-mingw-4.6.0\debug\threading-multi\thread__join_p.run
====== BEGIN OUTPUT ======
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::thread_resource_error> >'
  what():  boost thread: trying joining itself: Trop de fichiers ouverts pour un partage
 
EXIT STATUS: 3 
====== END OUTPUT ======

    set PATH=d:\boost\trunk\bin.v2\libs\chrono\build\gcc-mingw-4.6.0\debug\threading-multi;d:\boost\trunk\bin.v2\libs\system\build\gcc-mingw-4.6.0\debug\threading-multi;d:\boost\trunk\bin.v2\libs\thread\build\gcc-mingw-4.6.0\debug\threading-multi;c:\MINGW\gcc-4.6.0S\bin;c:\MINGW\gcc-4.6.0S\lib;c:\MINGW\gcc-4.6.0S\lib32;c:\MINGW\gcc-4.6.0S\lib64;%PATH%

     "..\..\..\bin.v2\libs\thread\test\thread__join_p.test\gcc-mingw-4.6.0\debug\threading-multi\thread__join_p.exe"   > "..\..\..\bin.v2\libs\thread\test\thread__join_p.test\gcc-mingw-4.6.0\debug\threading-multi\thread__join_p.output" 2>&1
    set status=%ERRORLEVEL%
    echo. >> "..\..\..\bin.v2\libs\thread\test\thread__join_p.test\gcc-mingw-4.6.0\debug\threading-multi\thread__join_p.output"
    echo EXIT STATUS: %status% >> "..\..\..\bin.v2\libs\thread\test\thread__join_p.test\gcc-mingw-4.6.0\debug\threading-multi\thread__join_p.output"
    if %status% EQU 0 (
        copy "..\..\..\bin.v2\libs\thread\test\thread__join_p.test\gcc-mingw-4.6.0\debug\threading-multi\thread__join_p.output" "..\..\..\bin.v2\libs\thread\test\thread__join_p.test\gcc-mingw-4.6.0\debug\threading-multi\thread__join_p.run"
    )
    set verbose=0
    if %status% NEQ 0 (
        set verbose=1
    )
    if %verbose% EQU 1 (
        echo ====== BEGIN OUTPUT ======
        type "..\..\..\bin.v2\libs\thread\test\thread__join_p.test\gcc-mingw-4.6.0\debug\threading-multi\thread__join_p.output"
        echo ====== END OUTPUT ======
    )
    exit %status%

...failed testing.capture-output ..\..\..\bin.v2\libs\thread\test\thread__join_p.test\gcc-mingw-4.6.0\debug\threading-multi\thread__join_p.run...

Change History (2)

comment:1 by viboes, 10 years ago

Owner: changed from Anthony Williams to viboes
Status: newassigned

comment:2 by viboes, 10 years ago

Milestone: To Be Determined
Resolution: fixed
Status: assignedclosed

This error has been fixed when moving the throw exception from the binary to the header files.

Note: See TracTickets for help on using tickets.