crowdsecurity/crowdsec · error

could not parse max_buffer_size %s: %w

Error message

could not parse max_buffer_size %s: %w

What it means

ConfigureByDSN of the file source expects the 'max_buffer_size' DSN parameter to be an integer; strconv.Atoi failed on the given value (non-numeric or out of range), so the DSN is rejected with the offending value embedded.

Source

Thrown at pkg/acquisition/modules/file/config.go:193

			case "log_level":
				if len(value) != 1 {
					return errors.New("expected zero or one value for 'log_level'")
				}

				lvl, err := log.ParseLevel(value[0])
				if err != nil {
					return fmt.Errorf("unknown level %s: %w", value[0], err)
				}

				s.logger.Logger.SetLevel(lvl)
			case "max_buffer_size":
				if len(value) != 1 {
					return errors.New("expected zero or one value for 'max_buffer_size'")
				}

				maxBufferSize, err := strconv.Atoi(value[0])
				if err != nil {
					return fmt.Errorf("could not parse max_buffer_size %s: %w", value[0], err)
				}

				s.config.MaxBufferSize = maxBufferSize
			default:
				return fmt.Errorf("unknown parameter %s", key)
			}
		}
	}

	s.config.Labels = labels
	s.config.Mode = configuration.CAT_MODE
	s.config.UniqueId = uuid

	s.logger.Debugf("Will try pattern %s", args[0])

	files, err := filepath.Glob(args[0])
	if err != nil {
		return fmt.Errorf("glob failure: %w", err)

View on GitHub (pinned to 909b515798)

Solutions

  1. Provide max_buffer_size as a plain integer, e.g. max_buffer_size=100 (megabytes)
  2. Remove the max_buffer_size parameter to use the default buffer size
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at pkg/acquisition/modules/file/config.go:193 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/7e90c0ba63e04469. Report an issue: GitHub.