boostorg / boostorg/program_options

[Regression 1.69.0] Clang UBSan triggers when std::string is used in notify()

Ouverte
#76 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
C++
Étoiles
136
Forks
117
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

We found that clang UBSan shows undefined behaviour when we use an option of type std::string with po::notify(). Please see https://stackoverflow.com/q/55064334/2375725 for more details and a minimal working example.
My colleague has already bisected the issue in [this comment](https://stackoverflow.com/questions/55064334/ubsan-boostprogram-options-with-stdstring?noredirect=1#comment96884751_55064334) and it seems to be related to activating ``-fvisibility-inlines-hidden`` and ``-fvisibility=hidden``.
Unfortunately we have no idea where to go from here...

We will also open a ticket at clang as we are really not sure whether this is a false positive in clang UBSan or actual undefined behaviour.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par l’exemple minimal fonctionnel de Stack Overflow indiqué et reproduisez la régression de 1.69.0 avec Clang UBSan en utilisant les visibility flags spécifiés. Déterminez si le rapport reflète réellement un comportement indéfini ou un faux positif de UBSan ; la finalisation nécessite un diagnostic confirmé et une correction documentée ou une résolution upstream.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp
Domaine
cli
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.