Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[RDataFrame] Code that transforms `#var` alias to `R_rdf_sizeof_var` does not respect string literals

Aperta
#23,790 0 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@vepadulano ci sta già lavorando.

Dal 22/10/2026.

  • #23800 di @muntasir-396 — aperta
  • #23804 di @vepadulano — aperta

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
71/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
cpp, python
Ambito
data

Direzione di ricerca

Start with the alias transformation near line 183 of tree/dataframe/src/RDFInterfaceUtils.cxx and reproduce the problem with the provided RDataFrame example. Check how the transformation handles string literals containing #; done means the example prints and stores the original strings, and relevant tests cover this behavior.

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

Descrizione

bug in:RDataFrame
Check duplicate issues.
  • Checked for duplicates
Description

The code before
https://github.com/root-project/root/blob/72f8ef3b95285bb0bb61bc8310701021ab52fad8/tree/dataframe/src/RDFInterfaceUtils.cxx#L183
fails when the RDataFrame expression preProcessedExpr contains string literals that contain # characters. In this case, the string literal is wrongly modified altering data used in the expression.

Reproducer
#!/usr/bin/env python3

import ROOT


CPP_CODE = """
std::string
printString(const std::string& s)
{
  std::cout << s << std::endl;
  return s;
}
"""
ROOT.gInterpreter.Declare(CPP_CODE)


ROOT.RDataFrame(1) \
    .Define("col", 'printString("#a")') \
    .Filter('printString("#b"); return true') \
    .Display(("col", )).Print()
# should print "#a" and "#b" to the console and `col` should contain "#a"
# instead, it prints "R_rdf_sizeof_b" and "R_rdf_sizeof_a" to the console and `col` contains "R_rdf_sizeof_a"
ROOT version

This was introduced by 819a3829cc350bc69386a201ee59340f61c35342 and affects all ROOT versions since 6.25.02. Verified using 6.32.20 and 6.40.04.

Installation method

built from source

Operating system

AlmaLinux 9.8

Additional context

No response

Lingua principale
C++
Stelle
3.3k
Fork
1.6k
Merge medio
2g 16h
PR unite (30g)
194

Preparare l'ambiente

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 root-project/root

Tutte le issue di root-project/root

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.