"Filename too long" when running check

Hi

I’m no python expert, so I’m assuming I’m doing something wrong …so how can I fix this problem?

When i try to run clangtidy check from the Advanced Project task menu, it ends in a FileNotFoundError: [WinError 206] The filename or extension is too long with the stacktrace posted below. Normal build runs without any problems

Checking debug > clangtidy (platform: espressif32@^5.0.0; board: esp32dev; framework: arduino)
------------------------------------------------------------------------------------------------------------Error: Traceback (most recent call last):
  File "C:\Users\Bas\.platformio\penv\lib\site-packages\platformio\__main__.py", line 102, in main
    cli()  # pylint: disable=no-value-for-parameter
  File "C:\Users\Bas\.platformio\penv\lib\site-packages\click\core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\Bas\.platformio\penv\lib\site-packages\click\core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "C:\Users\Bas\.platformio\penv\lib\site-packages\platformio\cli.py", line 71, in invoke
    return super().invoke(ctx)
  File "C:\Users\Bas\.platformio\penv\lib\site-packages\click\core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\Bas\.platformio\penv\lib\site-packages\click\core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\Bas\.platformio\penv\lib\site-packages\click\core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\Bas\.platformio\penv\lib\site-packages\platformio\check\cli.py", line 136, in cli
    rc = ct.check(
  File "C:\Users\Bas\.platformio\penv\lib\site-packages\platformio\check\tools\base.py", line 236, in check 
    self.execute_check_cmd(cmd)
  File "C:\Users\Bas\.platformio\penv\lib\site-packages\platformio\check\tools\base.py", line 185, in execute_check_cmd
    result = proc.exec_command(
  File "C:\Users\Bas\.platformio\penv\lib\site-packages\platformio\proc.py", line 114, in exec_command      
    with subprocess.Popen(*args, **kwargs) as p:
  File "C:\Users\Bas\.platformio\python3\lib\subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Users\Bas\.platformio\python3\lib\subprocess.py", line 1420, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 206] The filename or extension is too long

I have a similar issue here, any resolutions?

Checking gpt_pcb > clangtidy (board: pico32; framework: arduino; platform: espressif32@5.1.1)
-----------------------------------------------------------------------------------------------------------------------------
Error: Traceback (most recent call last):
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\platformio\__main__.py", line 102, in main
    cli()  # pylint: disable=no-value-for-parameter
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\click\core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\click\core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\platformio\cli.py", line 71, in invoke
    return super().invoke(ctx)
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\click\core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\click\core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\click\core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\platformio\check\cli.py", line 136, in cli
    rc = ct.check(
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\platformio\check\tools\base.py", line 236, in check       
    self.execute_check_cmd(cmd)
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\platformio\check\tools\base.py", line 185, in execute_check_cmd
    result = proc.exec_command(
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\platformio\proc.py", line 114, in exec_command
    with subprocess.Popen(*args, **kwargs) as p:
  File "C:\Users\GregRavikovich\.platformio\python3\lib\subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Users\GregRavikovich\.platformio\python3\lib\subprocess.py", line 1420, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 206] The filename or extension is too long

============================================================

Same with Win32 long paths enabled? See https://www.thewindowsclub.com/how-to-enable-or-disable-win32-long-paths-in-windows-11-10 section Enable Win32 Long Paths through Local Group Policy Editor and reboot machine thereafter.

Yes, I have long paths enabled:

Does it also not work on the latest dev core version? CLIpio upgrade --dev.

If not, can you file an issue at Issues · platformio/platformio-core · GitHub with a project to reproduce it?

Indeed doesn’t work with the latest dev version, same result:

Checking gpt_pcb > cppcheck (board: pico32; framework: arduino; platform: espressif32)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
No defects found
=========================================================================== [PASSED] Took 76.57 seconds ===========================================================================
Checking gpt_pcb > clangtidy (board: pico32; framework: arduino; platform: espressif32)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Tool Manager: Installing platformio/tool-clangtidy @ ~1.120001.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Tool Manager: tool-clangtidy@1.120001.0 has been installed!
Error: Traceback (most recent call last):
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\platformio\__main__.py", line 102, in main
    cli()  # pylint: disable=no-value-for-parameter
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\click\core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\click\core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\platformio\cli.py", line 71, in invoke
    return super().invoke(ctx)
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\click\core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\click\core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\click\core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\platformio\check\cli.py", line 136, in cli
    rc = ct.check(
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\platformio\check\tools\base.py", line 236, in check
    self.execute_check_cmd(cmd)
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\platformio\check\tools\base.py", line 185, in execute_check_cmd
    result = proc.exec_command(
  File "C:\Users\GregRavikovich\.platformio\penv\lib\site-packages\platformio\proc.py", line 114, in exec_command
    with subprocess.Popen(*args, **kwargs) as p:
  File "C:\Users\GregRavikovich\.platformio\python3\lib\subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Users\GregRavikovich\.platformio\python3\lib\subprocess.py", line 1420, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 206] The filename or extension is too long

============================================================

An unexpected error occurred. Further steps:

* Verify that you have the latest version of PlatformIO using
  `pip install -U platformio` command

* Try to find answer in FAQ Troubleshooting section
  https://docs.platformio.org/page/faq/index.html

* Report this problem to the developers
  https://github.com/platformio/platformio-core/issues

============================================================

Can’t submit a full repro project, it’s large and proprietary, but will open an issue.