abseil / abseil/abseil-cpp

[Bug]: once_flag and call_once hangs when first invocation throws exception

Open
#1,823 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
18.1k
Forks
3.2k
Avg merge
20h 36m
Merged PRs (30d)
1

Description

### Describe the issue

gcc's STL implementation suffers the same problem, see [issue](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70298) for details.
I'm wondering if abseil team plans to resolve it.

### Steps to reproduce the problem

[This](https://gcc.gnu.org/bugzilla/attachment.cgi?id=38026) is the link to reproduce STL's issue, replacing with the abseil implementation could reproduce as well.

### What version of Abseil are you using?

20230802.1

### What operating system and version are you using?

```
[~/ray] (master)
ubuntu@hjiang-devbox-pg$ uname -a
Linux hjiang-devbox-pg 5.15.0-1056-aws #61~20.04.1-Ubuntu SMP Wed Mar 13 17:40:41 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
(myenv)
[~/ray] (master)
ubuntu@hjiang-devbox-pg$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 46 bits physical, 48 bits virtual
CPU(s): 32
On-line CPU(s) list: 0-31
Thread(s) per core: 2
Core(s) per socket: 16
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 85
Model name: Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
```

### What compiler and version are you using?

```
[~/ray] (master)
ubuntu@hjiang-devbox-pg$ g++ --version
g++ (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
```

### What build system are you using?

```
[~/ray] (master)
ubuntu@hjiang-devbox-pg$ bazel --version
bazel 6.5.0
```

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.