[Bug libstdc++/118854] ASAN heap-after-use in shared_ptr copy constructor when copying a shared_ptr constructed with make_shared

2025-02-12 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118854 Nicholas Williams changed: What|Removed |Added Attachment #60483|0 |1 is obsolete|

[Bug libstdc++/118854] ASAN heap-after-use in shared_ptr copy constructor when copying a shared_ptr constructed with make_shared

2025-02-12 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118854 Nicholas Williams changed: What|Removed |Added Attachment #60482|0 |1 is obsolete|

[Bug libstdc++/118854] ASAN heap-after-use in shared_ptr copy constructor when copying a shared_ptr constructed with make_shared

2025-02-12 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118854 Nicholas Williams changed: What|Removed |Added Attachment #60481|0 |1 is obsolete|

[Bug libstdc++/118854] ASAN heap-after-use in shared_ptr copy constructor when copying a shared_ptr constructed with make_shared

2025-02-12 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118854 --- Comment #18 from Nicholas Williams --- (In reply to Jonathan Wakely from comment #17) > > You must stop accessing a global object while it's being destroyed in > another thread. I really don't know why this needs to be repeated so many > t

[Bug libstdc++/118854] ASAN heap-after-use in shared_ptr copy constructor when copying a shared_ptr constructed with make_shared

2025-02-12 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118854 --- Comment #13 from Nicholas Williams --- (In reply to Jonathan Wakely from comment #10) > If you need to make copies of a shared_ptr while also modifying it, you need > to use std::atomic> (or > std::experimental::atomic_shared_ptr). Using s

[Bug libstdc++/118854] ASAN heap-after-use in shared_ptr copy constructor when copying a shared_ptr constructed with make_shared

2025-02-12 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118854 --- Comment #8 from Nicholas Williams --- (In reply to Andrew Pinski from comment #4) > fsanitize=address just changes timing slightly to give a race condition > between the thread and the constructor to show up. That's what I had assumed. (In

[Bug libstdc++/118854] ASAN heap-after-use in shared_ptr copy constructor when copying a shared_ptr constructed with make_shared

2025-02-12 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118854 --- Comment #2 from Nicholas Williams --- Created attachment 60482 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60482&action=edit runtime_output.txt

[Bug libstdc++/118854] ASAN heap-after-use in shared_ptr copy constructor when copying a shared_ptr constructed with make_shared

2025-02-12 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118854 --- Comment #1 from Nicholas Williams --- Created attachment 60481 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60481&action=edit gcc_output.txt

[Bug libstdc++/118854] New: ASAN heap-after-use in shared_ptr copy constructor when copying a shared_ptr constructed with make_shared

2025-02-12 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118854 Bug ID: 118854 Summary: ASAN heap-after-use in shared_ptr copy constructor when copying a shared_ptr constructed with make_shared Product: gcc Version: 14.2.1 Status: UN

[Bug libstdc++/118811] SIGABRT (or ASAN heap-use-after-free) in chrono::locate_zone--chrono::tzdb_list during exit handlers

2025-02-11 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118811 --- Comment #22 from Nicholas Williams --- (In reply to Jonathan Wakely from comment #20) > Because the constructors for globals in the libstdc++.so shared library are > run before the ones in your program. This happens when the shared library

[Bug libstdc++/118811] SIGABRT (or ASAN heap-use-after-free) in chrono::locate_zone--chrono::tzdb_list during exit handlers

2025-02-11 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118811 --- Comment #19 from Nicholas Williams --- 'm having a hard time wrapping my head around why static vs dynamic would cause this bug to reveal.

[Bug libstdc++/118811] SIGABRT (or ASAN heap-use-after-free) in chrono::locate_zone--chrono::tzdb_list during exit handlers

2025-02-11 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118811 --- Comment #18 from Nicholas Williams --- (In reply to Jonathan Wakely from comment #17) > (In reply to Nicholas Williams from comment #1) > > Created attachment 60438 [details] > > gcc -v output from buggy RHEL/GCC14 > > The reason this does

[Bug libstdc++/118811] SIGABRT (or ASAN heap-use-after-free) in chrono::locate_zone--chrono::tzdb_list during exit handlers

2025-02-10 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118811 --- Comment #16 from Nicholas Williams --- (In reply to Jonathan Wakely from comment #13) > Unrelated to the lifetime bug, but why not just use utc_clock here? > > auto timestamp( std::chrono::duration_cast< std::chrono::nanoseconds >( >

[Bug libstdc++/118811] SIGABRT (or ASAN heap-use-after-free) in chrono::locate_zone--chrono::tzdb_list during exit handlers

2025-02-10 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118811 --- Comment #15 from Nicholas Williams --- (In reply to Jonathan Wakely from comment #12) > As a workaround you can add this non-static data member to your > BackgroundThread class: > > namespace Logger > { > class EXPORT BackgroundThread >

[Bug libstdc++/118811] SIGABRT (or ASAN heap-use-after-free) in chrono::locate_zone--chrono::tzdb_list during exit handlers

2025-02-10 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118811 --- Comment #14 from Nicholas Williams --- (In reply to Jonathan Wakely from comment #11) > (In reply to Nicholas Williams from comment #0) > > Created attachment 60437 [details] > > Minimal reproduction application > > > > I have discovered a

[Bug libstdc++/118811] SIGABRT (or ASAN heap-use-after-free) in chrono::locate_zone--chrono::tzdb_list during exit handlers

2025-02-09 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118811 --- Comment #5 from Nicholas Williams --- Created attachment 60442 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60442&action=edit .ii file from buggy RHEL/GCC14

[Bug libstdc++/118811] SIGABRT (or ASAN heap-use-after-free) in chrono::locate_zone--chrono::tzdb_list during exit handlers

2025-02-09 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118811 --- Comment #7 from Nicholas Williams --- I think I have now attached everything. Under the "What we do not want" on the bug reporting instructions, it says "An attached archive (tar, zip, shar, whatever) containing all (or some) of the above."

[Bug libstdc++/118811] SIGABRT (or ASAN heap-use-after-free) in chrono::locate_zone--chrono::tzdb_list during exit handlers

2025-02-09 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118811 --- Comment #6 from Nicholas Williams --- Created attachment 60443 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60443&action=edit .ii file from working Ubuntu/GCC13

[Bug libstdc++/118811] SIGABRT (or ASAN heap-use-after-free) in chrono::locate_zone--chrono::tzdb_list during exit handlers

2025-02-09 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118811 --- Comment #4 from Nicholas Williams --- Created attachment 60441 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60441&action=edit runtime output from working Ubuntu/GCC13

[Bug libstdc++/118811] SIGABRT (or ASAN heap-use-after-free) in chrono::locate_zone--chrono::tzdb_list during exit handlers

2025-02-09 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118811 --- Comment #3 from Nicholas Williams --- Created attachment 60440 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60440&action=edit runtime output from buggy RHEL/GCC14

[Bug libstdc++/118811] SIGABRT (or ASAN heap-use-after-free) in chrono::locate_zone--chrono::tzdb_list during exit handlers

2025-02-09 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118811 --- Comment #2 from Nicholas Williams --- Created attachment 60439 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60439&action=edit gcc -v output from working Ubuntu/GCC13

[Bug libstdc++/118811] SIGABRT (or ASAN heap-use-after-free) in chrono::locate_zone--chrono::tzdb_list during exit handlers

2025-02-09 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118811 --- Comment #1 from Nicholas Williams --- Created attachment 60438 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60438&action=edit gcc -v output from buggy RHEL/GCC14

[Bug libstdc++/118811] New: SIGABRT (or ASAN heap-use-after-free) in chrono::locate_zone--chrono::tzdb_list during exit handlers

2025-02-09 Thread nicholas at nicholaswilliams dot net via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118811 Bug ID: 118811 Summary: SIGABRT (or ASAN heap-use-after-free) in chrono::locate_zone--chrono::tzdb_list during exit handlers Product: gcc Version: 14.2.1