http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53377
Bug #: 53377
Summary: Thread Cancellation causing aborts due to improper
handling of abi::__forced_unwind
Classification: Unclassified
Product: gcc
Version: 4.6.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53377
--- Comment #1 from Mike Dalpee mikedalpee at enginsol dot com 2012-05-16
13:38:57 UTC ---
Created attachment 27424
-- http://gcc.gnu.org/bugzilla/attachment.cgi?id=27424
Cancelling thread in function with throw() specification causes abort
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53377
--- Comment #2 from Mike Dalpee mikedalpee at enginsol dot com 2012-05-16
13:40:38 UTC ---
Created attachment 27425
-- http://gcc.gnu.org/bugzilla/attachment.cgi?id=27425
Cancelling a thread while in an exception handler causes abort
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53377
--- Comment #3 from Mike Dalpee mikedalpee at enginsol dot com 2012-05-16
13:43:33 UTC ---
Please refer to this thread in gcc-help for a lot more information:
GCC 4.6.2 C++ thread cancellation issue
--- Comment #11 from mikedalpee at enginsol dot com 2010-09-02 13:43
---
Created an attachment (id=21663)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21663action=view)
Workaround for the problem.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45479
--- Comment #12 from mikedalpee at enginsol dot com 2010-09-02 13:44
---
Created an attachment (id=21664)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21664action=view)
output of the workaround
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45479
--- Comment #13 from mikedalpee at enginsol dot com 2010-09-02 13:46
---
Simply adding an additional scope to the catch part of the function f2 try
block caused the program to execute properly. So is this a code generation bug
or a glibc bug?
--
http://gcc.gnu.org/bugzilla
--- Comment #14 from mikedalpee at enginsol dot com 2010-09-03 00:05
---
Created an attachment (id=21679)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21679action=view)
Program that demostrates the bug
--
mikedalpee at enginsol dot com changed:
What|Removed
--- Comment #15 from mikedalpee at enginsol dot com 2010-09-03 00:24
---
I have spent a lot more time playing around with this, and after running the
exception1 program numerous times, the behaviour oscillates between working
correctly or not working at all. So there appears
: mikedalpee at enginsol dot com
GCC build triplet: x86_64-unknown-linux
GCC host triplet: x86_64-unknown-linux
GCC target triplet: x86_64-unknown-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45479
--- Comment #1 from mikedalpee at enginsol dot com 2010-09-01 13:13 ---
Created an attachment (id=21633)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21633action=view)
Program that demonstrates the bug
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45479
--- Comment #2 from mikedalpee at enginsol dot com 2010-09-01 13:13 ---
Created an attachment (id=21634)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21634action=view)
script that builds the bug program
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45479
--- Comment #3 from mikedalpee at enginsol dot com 2010-09-01 13:16 ---
Created an attachment (id=21635)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21635action=view)
output of the bug program
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45479
--- Comment #4 from mikedalpee at enginsol dot com 2010-09-01 13:27 ---
Created an attachment (id=21637)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21637action=view)
Expected output of bug program - generated on Solaris 9 using Sun Studio 12.
--
http://gcc.gnu.org/bugzilla
--- Comment #5 from mikedalpee at enginsol dot com 2010-09-01 13:32 ---
This bug occurs across all versions of the compiler I have tested - 4.3, 4.4,
4.5, and 4.6. The bug is preventing me from porting software, because correct
destructor excecution in a cancelled thread is fundamental
++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mikedalpee at enginsol dot com
GCC build triplet: x86_64-unknown-linux
GCC host triplet: x86_64-unknown-linux
GCC target triplet: x86_64-unknown-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45481
--- Comment #1 from mikedalpee at enginsol dot com 2010-09-01 13:36 ---
Created an attachment (id=21638)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21638action=view)
Program that demonstrates the bug
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45481
--- Comment #2 from mikedalpee at enginsol dot com 2010-09-01 13:36 ---
Created an attachment (id=21639)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21639action=view)
script that builds the bug program
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45481
--- Comment #3 from mikedalpee at enginsol dot com 2010-09-01 13:38 ---
Created an attachment (id=21640)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21640action=view)
output of the bug program
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45481
--- Comment #4 from mikedalpee at enginsol dot com 2010-09-01 13:41 ---
Created an attachment (id=21641)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21641action=view)
Expected output of bug program
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45481
--- Comment #9 from mikedalpee at enginsol dot com 2010-09-02 01:13 ---
That fix didn't change the behaviour one bit for me - was there more to it than
just moving the two lines from where they were to the exception handler? Also,
as I am new to this venue, could you please tell me
--- Comment #7 from mikedalpee at enginsol dot com 2010-09-02 01:16 ---
Ah, ok, that makes good sense. Thanks for the clarification.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45481
22 matches
Mail list logo