crowdsecurity/crowdsec · error

while adding event handler for namespace=%q selector=%q: %w

Error message

while adding event handler for namespace=%q selector=%q: %w

What it means

In Stream, inf.AddEventHandler rejected the pod event handlers (typically called after the informer has already started); the source cannot track pod add/update/delete, so startup fails for this namespace/selector.

Source

Thrown at pkg/acquisition/modules/kubernetes/run.go:158

		},
		DeleteFunc: func(obj any) {
			pod, ok := obj.(*corev1.Pod)
			if !ok {
				t, _ := obj.(cache.DeletedFinalStateUnknown)
				pod, _ = t.Obj.(*corev1.Pod)
				s.logger.Debugf("DELETE(tombstone) %s", podRef(pod))
			} else {
				s.logger.Debugf("DELETE %s", podRef(pod))
			}

			if pod != nil {
				s.stopPod(pod)
			}
		},
	})

	if err != nil {
		return fmt.Errorf("while adding event handler for namespace=%q selector=%q: %w", s.config.Namespace, s.config.Selector, err)
	}
	f.Start(informerCtx.Done())
	if !cache.WaitForCacheSync(informerCtx.Done(), inf.HasSynced) {
		select {
		case watchErr := <-watchErrCh:
			return watchErr
		default:
		}
		return fmt.Errorf("cache sync failed for namespace=%q selector=%q", s.config.Namespace, s.config.Selector)
	}

	select {
	case <-ctx.Done():
	case watchErr := <-watchErrCh:
		s.stopPods()
		wg.Wait()
		return watchErr
	}

View on GitHub (pinned to 909b515798)

Solutions

  1. Restart crowdsec to recreate the informer
  2. Report a bug if it occurs at normal startup
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at pkg/acquisition/modules/kubernetes/run.go:158 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of crowdsecurity/crowdsec@909b515798 (2026-09-06). Data as JSON: /api/errors/30d20378a8aee62f. Report an issue: GitHub.