Custom baords not working in latest Core

Previously compiling custom board (defined in /boards/name.json) no longer compiling. Was able to re-create the issue from scratch with a fresh project following these instructions: Custom Embedded Boards — PlatformIO latest documentation and copying the referenced boards definition json from the linked article here: https://github.com/platformio/platform-nxplpc/blob/develop/examples/mbed-custom-target/boards/my_custom_board.json

when in build; i get the following error:

IndexError: list index out of range:
  File "/Users/pinchy/.platformio/penv/lib/python2.7/site-packages/platformio/builder/main.py", line 156:
    env.SConscript("$BUILD_SCRIPT")
  File "/Users/pinchy/.platformio/packages/tool-scons/script/../engine/SCons/Script/SConscript.py", line 541:
    return _SConscript(self.fs, *files, **subst_kw)
  File "/Users/pinchy/.platformio/packages/tool-scons/script/../engine/SCons/Script/SConscript.py", line 250:
    exec _file_ in call_stack[-1].globals
  File "/Users/pinchy/.platformio/platforms/nordicnrf52/builder/main.py", line 193:
    target_elf = env.BuildProgram()
  File "/Users/pinchy/.platformio/packages/tool-scons/script/../engine/SCons/Environment.py", line 224:
    return self.method(*nargs, **kwargs)
  File "/Users/seb/.platformio/penv/lib/python2.7/site-packages/platformio/builder/tools/platformio.py", line 61:
    env.ProcessProgramDeps()
  File "/Users/pinchy/.platformio/packages/tool-scons/script/../engine/SCons/Environment.py", line 224:
    return self.method(*nargs, **kwargs)
  File "/Users/seb/.platformio/penv/lib/python2.7/site-packages/platformio/builder/tools/platformio.py", line 118:
    env.BuildFrameworks(env.get("PIOFRAMEWORK"))
  File "/Users/pinchy/.platformio/packages/tool-scons/script/../engine/SCons/Environment.py", line 224:
    return self.method(*nargs, **kwargs)
  File "/Users/seb/.platformio/penv/lib/python2.7/site-packages/platformio/builder/tools/platformio.py", line 330:
    SConscript(env.GetFrameworkScript(f), exports="env")
  File "/Users/pinchy/.platformio/packages/tool-scons/script/../engine/SCons/Script/SConscript.py", line 604:
    return method(*args, **kw)
  File "/Users/pinchy/.platformio/packages/tool-scons/script/../engine/SCons/Script/SConscript.py", line 541:
    return _SConscript(self.fs, *files, **subst_kw)
  File "/Users/pinchy/.platformio/packages/tool-scons/script/../engine/SCons/Script/SConscript.py", line 250:
    exec _file_ in call_stack[-1].globals
  File "/Users/pinchy/.platformio/platforms/nordicnrf52/builder/frameworks/arduino.py", line 31:
    env.SConscript("arduino/nrf5.py")
  File "/Users/pinchy/.platformio/packages/tool-scons/script/../engine/SCons/Script/SConscript.py", line 541:
    return _SConscript(self.fs, *files, **subst_kw)
  File "/Users/pinchy/.platformio/packages/tool-scons/script/../engine/SCons/Script/SConscript.py", line 250:
    exec _file_ in call_stack[-1].globals
  File "/Users/pinchy/.platformio/platforms/nordicnrf52/builder/frameworks/arduino/nrf5.py", line 158:
    mcu_family = board.get("build.arduino.ldscript", "").split("_")[1]

When I run pio boards in terminal, the following error message appears:

Error: Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/platformio/__main__.py", line 102, in main
    cli()  # pylint: disable=no-value-for-parameter
  File "/Library/Python/2.7/site-packages/click/core.py", line 700, in __call__
    return self.main(*args, **kwargs)
  File "/Library/Python/2.7/site-packages/click/core.py", line 680, in main
    rv = self.invoke(ctx)
  File "/Library/Python/2.7/site-packages/platformio/commands/__init__.py", line 44, in invoke
    return super(PlatformioCLI, self).invoke(ctx)
  File "/Library/Python/2.7/site-packages/click/core.py", line 1027, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Library/Python/2.7/site-packages/click/core.py", line 873, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Library/Python/2.7/site-packages/click/core.py", line 508, in invoke
    return callback(*args, **kwargs)
  File "/Library/Python/2.7/site-packages/platformio/commands/boards.py", line 34, in cli
    for board in _get_boards(installed):
  File "/Library/Python/2.7/site-packages/platformio/commands/boards.py", line 75, in _get_boards
    return pm.get_installed_boards() if installed else pm.get_all_boards()
  File "/Library/Python/2.7/site-packages/platformio/managers/platform.py", line 205, in get_all_boards
    boards = self.get_installed_boards()
  File "/Library/Python/2.7/site-packages/platformio/util.py", line 59, in wrapper
    self.cache[key] = (time.time(), func(*args, **kwargs))
  File "/Library/Python/2.7/site-packages/platformio/managers/platform.py", line 194, in get_installed_boards
    for config in p.get_boards().values():
  File "/Users/seb/.platformio/platforms/atmelsam/platform.py", line 98, in get_boards
    result[key] = self._add_default_debug_tools(result[key])
  File "/Users/seb/.platformio/platforms/atmelsam/platform.py", line 141, in _add_default_debug_tools
    assert openocd_chipname
AssertionError

I have a work-around (to override an existing boards definition with my custom variants), but that’s not ideal. Any ideas?

So why is attempting to get the linker script for the Arduino framework here? Your referenced file is not a board which supports arduino. Do you have ‘arduino’ in the supported frameworks list but not a ldscript?

Can you upload your complete project for reproduction?

Weird, I don’t get such an error in for the Atmel SAM boards. Do you have the latest PIO + latest Atmel SAM platform version installed?