Skip to content

Kconfig symbol collision: coreHTTP using DEVICE_SHADOW_LOG_* symbols (CA-367) #251

@rodmaz

Description

@rodmaz

Checklist

  • Checked the issue tracker for similar issues to ensure this is not a duplicate
  • Read the documentation to confirm the issue is not addressed there and your configuration is set correctly
  • Tested with the latest version to ensure the issue hasn't been fixed

How often does this bug occurs?

always

Expected behavior

  • Each library in esp-aws-iot should define unique Kconfig symbols for its configuration options
  • The coreHTTP library should either:
    • Not have Kconfig logging configuration (since it uses its own logging system via core_http_config.h,
      logging_levels.h, and logging_stack.h), OR
    • Define HTTP-specific symbols like COREHTTP_LOG_ERROR, COREHTTP_LOG_WARN, etc.
  • The Device Shadow library should be the only component defining DEVICE_SHADOW_LOG_* symbols
  • Build configuration should complete without Kconfig symbol collision warnings

Actual behavior (suspected bug)

  • The coreHTTP library's Kconfig file (libraries/coreHTTP/Kconfig) incorrectly defines DEVICE_SHADOW_LOG_*
    configuration symbols (lines 5, 9, 13, 17)
  • These symbols collide with the legitimate Device Shadow library's symbols in
    libraries/Device-Shadow-for-AWS-IoT-embedded-sdk/Kconfig
  • The coreHTTP library doesn't actually use these Kconfig symbols anywhere in its codebase
  • This appears to be a copy-paste error, likely introduced in commit 0588b8d ("Enable Info and Error logs by
    default for all LTS libraries")

Error logs or terminal output

[1510/1514] Generating esp-idf/esp_system/ld/sections.ld
  info: INFO: Symbol DEVICE_SHADOW_LOG_ERROR defined in multiple locations (see below). Please check if this is
  a correct behavior or a random name match:
      /path/to/esp-aws-iot/libraries/coreHTTP/Kconfig:5
      /path/to/esp-aws-iot/libraries/Device-Shadow-for-AWS-IoT-embedded-sdk/Kconfig:5
  info: INFO: Symbol DEVICE_SHADOW_LOG_WARN defined in multiple locations (see below). Please check if this is a
   correct behavior or a random name match:
      /path/to/esp-aws-iot/libraries/Device-Shadow-for-AWS-IoT-embedded-sdk/Kconfig:9
      /path/to/esp-aws-iot/libraries/coreHTTP/Kconfig:9
  info: INFO: Symbol DEVICE_SHADOW_LOG_INFO defined in multiple locations (see below). Please check if this is a
   correct behavior or a random name match:
      /path/to/esp-aws-iot/libraries/Device-Shadow-for-AWS-IoT-embedded-sdk/Kconfig:13
      /path/to/esp-aws-iot/libraries/coreHTTP/Kconfig:13
  info: INFO: Symbol DEVICE_SHADOW_LOG_DEBUG defined in multiple locations (see below). Please check if this is
  a correct behavior or a random name match:
      /path/to/esp-aws-iot/libraries/coreHTTP/Kconfig:17
      /path/to/esp-aws-iot/libraries/Device-Shadow-for-AWS-IoT-embedded-sdk/Kconfig:17

Steps to reproduce the behavior

  1. Clone the esp-aws-iot repository (commit 134bcd2 or later)
  2. Set up an ESP-IDF project that includes both:
    - libraries/coreHTTP component
    - libraries/Device-Shadow-for-AWS-IoT-embedded-sdk component
  3. Run the build configuration command:
    idf.py reconfigure
  4. or
    idf.py build
  5. Observe the Kconfig symbol collision warnings during the configuration phase

Project release version

202210.01-LTS (commit 134bcd2 and later)

System architecture

ARM 64-bit (Apple M1/M2, Raspberry Pi 4/5)

Operating system

Linux

Operating system version

macOS

Shell

ZSH

Additional context

Environment:

  • Repository: espressif/esp-aws-iot
  • Version: 202210.01-LTS (commit 134bcd2 and later)
  • ESP-IDF: v5.x
  • Affected file: libraries/coreHTTP/Kconfig

Suggested Fix:

Remove the unused "Logging" menu section (lines 3-21) from libraries/coreHTTP/Kconfig, leaving only:
menu "coreHTTP"
endmenu # coreHTTP

Impact:

  • Severity: Low (warning-level only, no functional impact on builds)
  • May cause confusion during configuration or hide real Kconfig issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions