ODR issue for gcc san with CRAN version

Aperta
#152 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
cpp
Ambito
build-system

Direzione di ricerca

Start with src/tbb/tools_api/ittnotify_static.c at line 231 and the sanitizer traces for libtbbmalloc.so.2 and libtbb.so.2. Investigate why both libraries register __itt__ittapi_global when loaded together under CRAN's GCC sanitizer environment. Done means the reported ODR violation no longer occurs in that environment.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

I am getting the following ODR violation; CRAN asked me to fix ODR violations in my package, and this one came up:

==136164==ERROR: AddressSanitizer: odr-violation (0x7efd2f2f1240):
  [1] size=168 '__itt__ittapi_global' ../../src/tbb/tools_api/ittnotify_static.c:231:14
  [2] size=168 '__itt__ittapi_global' ../../src/tbb/tools_api/ittnotify_static.c:231:14
These globals were registered at these points:
  [1]:
    #0 0x7efd3c896b78  (/usr/lib/x86_64-linux-gnu/libasan.so.6+0x37b78)
    #1 0x7efd2f24ab91 in _sub_I_00099_1 (/usr/local/RDsan/lib/R/site-library/RcppParallel/lib/libtbbmalloc.so.2+0xd6b91)
    #2 0x7efd3d244dbd  (/lib64/ld-linux-x86-64.so.2+0x11dbd)

  [2]:
    #0 0x7efd3c896b78  (/usr/lib/x86_64-linux-gnu/libasan.so.6+0x37b78)
    #1 0x7efd2f5dec70 in _sub_I_00099_1 (/usr/local/RDsan/lib/R/site-library/RcppParallel/lib/libtbb.so.2+0x240c70)
    #2 0x7efd3d244dbd  (/lib64/ld-linux-x86-64.so.2+0x11dbd)
Lingua principale
C++
Stelle
173
Fork
60
Merge medio
1h 55m
PR unite (30g)
2

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di RcppCore/RcppParallel

Tutte le issue di RcppCore/RcppParallel

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.