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

Add a way to test if a capture group has been defined in current scope

Aperta
#267 6 commenti 4 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
go
Ambito
compilers

Direzione di ricerca

Riproduci il fallimento con examples/apache_common.mtail e internal/mtail/testdata/apache-common.log, quindi prova il programma e l'input semplificati dell'issue. Leggi in vm.go intorno all'errore di runtime segnalato e traccia come una cattura non corrispondente raggiunge l'istruzione s2i. Il lavoro è completato quando un gruppo di cattura può essere verificato prima dell'uso senza che il valore non definito causi un errore di analisi a runtime, con copertura di regressione sia per l'input corrispondente sia per quello non corrispondente.

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

Descrizione

enhancement mtail-Language/VM

Hi

When using a syntax like ((?P<response_size>\d+)|-) on a line containing a - instead of a digit, the variable response_time is undefined. When attempting to use that variable, mtail throws an error.

This error can be reproduced using apache_common.mtail and testdata/apache-common.log

...or this simplified test

Program
counter total

/^[a-z]+ ((?P<response_size>\d+)|-)$/ {

    $response_size > 0 {
            total = $response_size
    }
}
input log
test 99
test -
mtail output log
vm.go:92] test.mtail: Runtime error: strconv.ParseInt: parsing "": invalid syntax
vm.go:93] Error occurred at instruction 5 {s2i, <nil>}, originating in test.mtail at line 5
vm.go:95] Full input text from "log" was "test -"

I'am using mtail v3.0.0-rc33 (I tested rc16 and rc25 which have a similar behaviur)

Lingua principale
Go
Stelle
4k
Fork
393
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

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 google/mtail

Tutte le issue di google/mtail

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.