Nil Pointer Dereference in Watcher Executor -> dereference panic.
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 84/100
Línea de trabajo
Lee pkg/watcher/executor.go y comienza en TriggerImport, siguiendo la ruta de error de connectors.NewClient antes de que se llame a mc.UploadArtifact. Reproduce el problema con un context no válido o expirado y un cambio en un archivo observado; después, verifica que el watcher gestione el fallo del cliente sin un nil-pointer panic.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the bug
Diagram
sequenceDiagram
participant Watcher
participant Executor
participant Client as connectors.NewClient
Watcher->>Executor: TriggerImport(entry)
Executor->>Client: NewClient(*globalClientOpts)
Note over Client: Fails (e.g. invalid context)
Client-->>Executor: nil, err
Note over Executor: Logs error, but DOES NOT return!
Executor->>Executor: mc.UploadArtifact(entry.FilePath, entry.MainArtifact)
Note over Executor: Panic: nil pointer dereference (mc is nil)
Description
In pkg/watcher/executor.go, the TriggerImport function instantiates the Microcks client using connectors.NewClient. If this fails (e.g., due to an invalid context or server address), it prints an error message but continues execution instead of returning early. It subsequently calls mc.UploadArtifact(), causing a nil pointer dereference panic.
Impact
The watcher daemon crashes with a stack trace instead of handling the connection/context resolution failure gracefully.
Steps to Reproduce
- Configure a watch entry with an invalid or expired context.
- Modify the watched file to trigger an fsnotify event.
- The watch manager invokes
TriggerImport, which prints[ERROR] Cannot connect to Microcks client...and immediately panics with a segmentation fault.
- Lenguaje dominante
- Go
- Estrellas
- 52
- Forks
- 67
- Merge medio
- 1 d 1 h
- PR fusionados (30 d)
- 13
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microcks/microcks-cli
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
microcks/microcks-cli#536 · 1 comentario ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
microcks/microcks-cli#535 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
microcks/microcks-cli#534 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
microcks/microcks-cli#511 ·
-
component/cli kind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
microcks/microcks-cli#503 · 4 comentarios ·
Todos los issues de microcks/microcks-cli
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 84/100
-
enhancement needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
kind/cleanup
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
kubernetes-sigs/kueue#15947 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
sympozium-ai/sympozium#627 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100