Possible error in the SparkJson library?

I have code that uses the SparkJson library. I have successfully compiled and loaded this code from the Web IDS onto my Argon device.

I am moving to VSCode, so I created a new project and used the VSCode/Particle tools to install the libraries locally.

When I CLOUD compile (tried with 2.0.0-rc2 and with 1.5.2), I get this warning/problem.

Problem:

Dynamic.JsonBuffer.h lib/SparkJson/src
deleting object of polymorphic class type 'ArduinoJson::DynamicJsonBuffer' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]

Output Error:

lib/SparkJson/src/././DynamicJsonBuffer.h: In destructor 'ArduinoJson::DynamicJsonBuffer::~DynamicJsonBuffer()':
lib/SparkJson/src/././DynamicJsonBuffer.h:20:33: warning: deleting object of polymorphic class type 'ArduinoJson::DynamicJsonBuffer' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   20 |   ~DynamicJsonBuffer() { delete _next; }
      |                                 ^~~~~

Building cpp file: lib/SparkJson/src/JsonVariant.cpp
Invoking: ARM GCC CPP Compiler
mkdir -p ../build/target/user/platform-12-mSparkJson/src/
arm-none-eabi-gcc -DSTM32_DEVICE -DnRF52840 -DNRF52840_XXAA -DPLATFORM_THREADING=1 -DPLATFORM_ID=12 -DPLATFORM_NAME=argon -DPLATFORM_GEN=3 -DUSBD_VID_SPARK=0x2B04 -DUSBD_PID_DFU=0xD00C -DUSBD_PID_CDC=0xC00C -DSP
	at makeError (/Users/XXX/.vscode/extensions/particle.particle-vscode-core-1.12.3/node_modules/execa/lib/error.js:58:11)
	at handlePromise (/Users/XXX/.vscode/extensions/particle.particle-vscode-core-1.12.3/node_modules/execa/index.js:114:26)
	at processTicksAndRejections (internal/process/task_queues.js:85:5)

- - - -

I am not sure how to deal with this. Stackoverflow has a couple threads with this error, but they basically say “Don’t use this class”.

As this works on the cloud, but not with the cloud compile command on VSCode.

Also… I just tried to do a local compile and it appears to have completed successfully. But I have not tested that code on a device yet.

Have you tried using the JsonParserGeneratorRK library instead?

That’s a warning, and won’t prevent the build from completing. There’s likely something else that’s an error in the build output.

I think I have used that in another project; I was hoping not to have to really dig into this code, since it compiles fine locally.

Yeah, that’s what I figured. I think the actual error may be getting cut off in the output…

Compiling code for argon
Targeting version: 2.0.0-rc.2

Including:
    lib/Adafruit_GFX/src/Adafruit_GFX.h
    lib/Adafruit_GFX/src/Adafruit_GFX/Adafruit_GFX.h
    lib/neomatrix/src/gamma.h
    lib/neomatrix/src/neomatrix.h
    lib/neopixel/src/neopixel.h
    lib/neopixel/src/neopixel/neopixel.h
    lib/SparkJson/src/ArduinoJson.h
    lib/SparkJson/src/DynamicJsonBuffer.h
    lib/SparkJson/src/IndentedPrint.h
    lib/SparkJson/src/JsonArray.h
    lib/SparkJson/src/JsonBuffer.h
    lib/SparkJson/src/JsonBufferAllocated.h
    lib/SparkJson/src/JsonObject.h
    lib/SparkJson/src/JsonPair.h
    lib/SparkJson/src/JsonParser.h
    lib/SparkJson/src/JsonPrintable.h
    lib/SparkJson/src/JsonVariant.h
    lib/SparkJson/src/JsonVariantContent.h
    lib/SparkJson/src/JsonVariantType.h
    lib/SparkJson/src/JsonWriter.h
    lib/SparkJson/src/List.h
    lib/SparkJson/src/ListConstIterator.h
    lib/SparkJson/src/ListIterator.h
    lib/SparkJson/src/ListNode.h
    lib/SparkJson/src/Prettyfier.h
    lib/SparkJson/src/Print.h
    lib/SparkJson/src/QuotedString.h
    lib/SparkJson/src/ReferenceType.h
    lib/SparkJson/src/SparkJson.h
    lib/SparkJson/src/StaticJsonBuffer.h
    lib/SparkJson/src/StringBuilder.h
    lib/SparkJson/examples/IndentedPrintExample/IndentedPrintExample.ino
    lib/SparkJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino
    lib/SparkJson/examples/JsonParserExample/JsonParserExample.ino
    lib/SparkJson/examples/JsonServer/JsonServer.ino
    lib/SparkJson/src/my-core.ino
    src/MatrixCollar.ino
    lib/Adafruit_GFX/src/Adafruit_GFX.cpp
    lib/neomatrix/examples/single-matrix.cpp
    lib/neomatrix/examples/tile-matrix.cpp
    lib/neomatrix/src/neomatrix.cpp
    lib/neopixel/examples/a-rainbow/a-rainbow.cpp
    lib/neopixel/examples/extra-examples/extra-examples.cpp
    lib/neopixel/examples/rgbw-strandtest/rgbw-strandtest.cpp
    lib/neopixel/src/neopixel.cpp
    lib/SparkJson/src/IndentedPrint.cpp
    lib/SparkJson/src/JsonArray.cpp
    lib/SparkJson/src/JsonBuffer.cpp
    lib/SparkJson/src/JsonObject.cpp
    lib/SparkJson/src/JsonParser.cpp
    lib/SparkJson/src/JsonVariant.cpp
    lib/SparkJson/src/List.cpp
    lib/SparkJson/src/Prettyfier.cpp
    lib/SparkJson/src/Print.cpp
    lib/SparkJson/src/QuotedString.cpp
    lib/SparkJson/src/SparkJson.cpp
    lib/SparkJson/src/StringBuilder.cpp
    src/MatrixCollar.cpp
    project.properties

attempting to compile firmware
Compile failed: Processing  lib/SparkJson/examples/IndentedPrintExample/IndentedPrintExample.ino
Processing  lib/SparkJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino
Processing  lib/SparkJson/examples/JsonParserExample/JsonParserExample.ino
Processing  lib/SparkJson/examples/JsonServer/JsonServer.ino
Processing  lib/SparkJson/src/my-core.ino
Processing  src/MatrixCollar.ino
Checking library neomatrix...
Checking library SparkJson...
Checking library neopixel...
Checking library Adafruit_GFX...
Installing library SparkJson 0.0.2 to lib/SparkJson ...
Installing library Adafruit_GFX 0.0.0 to lib/Adafruit_GFX ...
Installing library neomatrix 0.3.0 to lib/neomatrix ...
Installing library neopixel 1.0.0 to lib/neopixel ...
Library Adafruit_GFX 0.0.0 installed.
Library neomatrix 0.3.0 installed.
Library SparkJson 0.0.2 installed.
Library neopixel 1.0.0 installed.
make -C ../modules/argon/user-part all
make[1]: Entering directory '/firmware/modules/argon/user-part'

mkdir -p target/
make -f ../../../modules/shared/nRF52840/build_linker_script.mk PREBUILD=1
make[2]: Entering directory '/firmware/modules/argon/user-part'
Creating target/platform_user_ram.ld ...
make[2]: Leaving directory '/firmware/modules/argon/user-part'

make -C ../../../user 
make[2]: Entering directory '/firmware/user'
Building cpp file: src/MatrixCollar.cpp
Invoking: ARM GCC CPP Compiler
mkdir -p ../build/target/user/platform-12-msrc/
arm-none-eabi-gcc -DSTM32_DEVICE -DnRF52840 -DNRF52840_XXAA -DPLATFORM_THREADING=1 -DPLATFORM_ID=12 -DPLATFORM_NAME=argon -DPLATFORM_GEN=3 -DUSBD_VID_SPARK=0x2B04 -DUSBD_PID_DFU=0xD00C -DUSBD_PID_CDC=0xC00C -DSPARK_PLATFORM -g3 -gdwarf-2 -Os -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfloat-abi=hard -mfpu=fpv4-sp-d16 --specs=nano.specs -DINCLUDE_PLATFORM=1 -DSOFTDEVICE_PRESENT=1 -DS140 -DPRODUCT_ID=12 -DPRODUCT_FIRMWARE_VERSION=65535 -D_WIZCHIP_=W5500 -DUSE_STDPERIPH_DRIVER -DDFU_BUILD_ENABLE -DLFS_CONFIG=lfs_config.h -DSYSTEM_VERSION_STRING=2.0.0-rc.2 -DRELEASE_BUILD -I./inc -I../wiring/inc -I../system/inc -I../services/inc -I../third_party/nanopb/nanopb -I../communication/inc -I../hal/inc -I../hal/shared -I../hal/src/argon -I../hal/network/lwip/esp32 -I../hal/src/nRF52840 -I../hal/src/armv7 -I../hal/src/nRF52840 -I../hal/src/nRF52840/lwip -I../hal/src/nRF52840/freertos -I../hal/src/nRF52840/mbedtls -I../hal/src/nRF52840/littlefs -I../hal -I../hal/src/nRF52840/posix -I../hal/network -I../hal/network/api -I../hal/network/lwip -I../hal/network/lwip/posix -I../hal/network/lwip/wiznet -I../hal/network/ncp -I../hal/network/ncp/at_parser -I../hal/network/util -I../third_party/lwip/lwip/src/include -I../third_party/freertos/freertos/FreeRTOS/Source/include -I../third_party/nrf5_sdk/nrf5_sdk/external/freertos/portable/GCC/nrf52 -I../third_party/nrf5_sdk/nrf5_sdk/external/freertos/portable/CMSIS/nrf52 -I../third_party/wiznet_driver/wiznet_driver/Ethernet -I../gsm0710muxer/gsm0710muxer/include -I../platform/shared/inc -I../third_party/nrf5_sdk -I../third_party/nrf5_sdk/nrf5_sdk/components/toolchain/cmsis/include -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/drivers -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/drivers/include -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/hal -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/mdk -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/hal -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/drivers/src/prs -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/util -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140/headers -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140/headers/nrf52 -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/common -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/mbr/nrf52840/headers -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/fstorage -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/experimental_section_vars -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/atomic -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/crc32 -I../third_party/nrf5_sdk/nrf5_sdk/integration/nrfx/legacy -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/delay -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/log -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/log -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/log/src -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/experimental_section_vars -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/atomic -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/delay -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/queue -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/common -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140 -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140/headers -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140/headers/nrf52 -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/fifo -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/atomic_fifo -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/strerror -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/fstorage -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/atomic_flags -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/usbd -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/usbd/class/cdc -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/usbd/class/cdc/acm -I../third_party/nrf5_sdk/nrf5_sdk/components/ble/common -I../third_party/nrf5_sdk/nrf5_sdk/components/ble/nrf_ble_gatt -I../third_party/nrf5_sdk/nrf5_sdk/components/ble/ble_advertising -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/t2t_lib -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/platform -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/generic/message -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/generic/record -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/lauchapp -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/text -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/uri -I../third_party/nrf5_sdk/nrf5_sdk/external/nrf_cc310/include -I../third_party/nrf5_sdk/nrf5_sdk/external/utf_converter -I../third_party/littlefs/littlefs -I../third_party/miniz/miniz -I../platform/MCU/nRF52840/inc -I../dynalib/inc -Isrc -I./libraries -Ilib/SparkJson/src -Ilib/neomatrix/src -Ilib/neopixel/src -Ilib/Adafruit_GFX/src -I. -MD -MP -MF ../build/target/user/platform-12-msrc/MatrixCollar.o.d -ffunction-sections -fdata-sections -Wall -Wno-switch -Wno-error=deprecated-declarations -fmessage-length=0 -fno-strict-aliasing -DSPARK=1 -DPARTICLE=1 -Wundef -DSTART_DFU_FLASHER_SERIAL_SPEED=14400 -DSTART_YMODEM_FLASHER_SERIAL_SPEED=28800 -DSPARK_PLATFORM_NET=ESP32 -fno-builtin-malloc -fno-builtin-free -fno-builtin-realloc  -DLOG_INCLUDE_SOURCE_INFO=1 -DPARTICLE_USER_MODULE -DUSER_FIRMWARE_IMAGE_SIZE=0x20000 -DUSER_FIRMWARE_IMAGE_LOCATION=0xD4000 -DMODULAR_FIRMWARE=1 -DMODULE_VERSION=6 -DMODULE_FUNCTION=5 -DMODULE_INDEX=1 -DMODULE_DEPENDENCY=4,1,2005 -DMODULE_DEPENDENCY2=0,0,0 -D_GNU_SOURCE -DLOG_MODULE_CATEGORY="\"app\""  -fno-exceptions -fno-rtti -fcheck-new -std=gnu++14 -c -o ../build/target/user/platform-12-msrc/MatrixCollar.o src/MatrixCollar.cpp
In file included from lib/SparkJson/src/./ArduinoJson.h:7,
                 from lib/SparkJson/src/SparkJson.h:13,
                 from src/MatrixCollar.ino:9:
lib/SparkJson/src/././DynamicJsonBuffer.h: In destructor 'ArduinoJson::DynamicJsonBuffer::~DynamicJsonBuffer()':
lib/SparkJson/src/././DynamicJsonBuffer.h:20:33: warning: deleting object of polymorphic class type 'ArduinoJson::DynamicJsonBuffer' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   20 |   ~DynamicJsonBuffer() { delete _next; }
      |                                 ^~~~~

Building cpp file: lib/SparkJson/src/JsonVariant.cpp
Invoking: ARM GCC CPP Compiler
mkdir -p ../build/target/user/platform-12-mSparkJson/src/
arm-none-eabi-gcc -DSTM32_DEVICE -DnRF52840 -DNRF52840_XXAA -DPLATFORM_THREADING=1 -DPLATFORM_ID=12 -DPLATFORM_NAME=argon -DPLATFORM_GEN=3 -DUSBD_VID_SPARK=0x2B04 -DUSBD_PID_DFU=0xD00C -DUSBD_PID_CDC=0xC00C -DSP
Error: Command failed with exit code 1: /Users/jed/.vscode/extensions/particle.particle-vscode-core-1.12.3/src/cli/bin/darwin/amd64/particle cloud compile argon --target 2.0.0-rc.2 --no-update-check

Compiling code for argon
Targeting version: 2.0.0-rc.2

Including:
    lib/Adafruit_GFX/src/Adafruit_GFX.h
    lib/Adafruit_GFX/src/Adafruit_GFX/Adafruit_GFX.h
    lib/neomatrix/src/gamma.h
    lib/neomatrix/src/neomatrix.h
    lib/neopixel/src/neopixel.h
    lib/neopixel/src/neopixel/neopixel.h
    lib/SparkJson/src/ArduinoJson.h
    lib/SparkJson/src/DynamicJsonBuffer.h
    lib/SparkJson/src/IndentedPrint.h
    lib/SparkJson/src/JsonArray.h
    lib/SparkJson/src/JsonBuffer.h
    lib/SparkJson/src/JsonBufferAllocated.h
    lib/SparkJson/src/JsonObject.h
    lib/SparkJson/src/JsonPair.h
    lib/SparkJson/src/JsonParser.h
    lib/SparkJson/src/JsonPrintable.h
    lib/SparkJson/src/JsonVariant.h
    lib/SparkJson/src/JsonVariantContent.h
    lib/SparkJson/src/JsonVariantType.h
    lib/SparkJson/src/JsonWriter.h
    lib/SparkJson/src/List.h
    lib/SparkJson/src/ListConstIterator.h
    lib/SparkJson/src/ListIterator.h
    lib/SparkJson/src/ListNode.h
    lib/SparkJson/src/Prettyfier.h
    lib/SparkJson/src/Print.h
    lib/SparkJson/src/QuotedString.h
    lib/SparkJson/src/ReferenceType.h
    lib/SparkJson/src/SparkJson.h
    lib/SparkJson/src/StaticJsonBuffer.h
    lib/SparkJson/src/StringBuilder.h
    lib/SparkJson/examples/IndentedPrintExample/IndentedPrintExample.ino
    lib/SparkJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino
    lib/SparkJson/examples/JsonParserExample/JsonParserExample.ino
    lib/SparkJson/examples/JsonServer/JsonServer.ino
    lib/SparkJson/src/my-core.ino
    src/MatrixCollar.ino
    lib/Adafruit_GFX/src/Adafruit_GFX.cpp
    lib/neomatrix/examples/single-matrix.cpp
    lib/neomatrix/examples/tile-matrix.cpp
    lib/neomatrix/src/neomatrix.cpp
    lib/neopixel/examples/a-rainbow/a-rainbow.cpp
    lib/neopixel/examples/extra-examples/extra-examples.cpp
    lib/neopixel/examples/rgbw-strandtest/rgbw-strandtest.cpp
    lib/neopixel/src/neopixel.cpp
    lib/SparkJson/src/IndentedPrint.cpp
    lib/SparkJson/src/JsonArray.cpp
    lib/SparkJson/src/JsonBuffer.cpp
    lib/SparkJson/src/JsonObject.cpp
    lib/SparkJson/src/JsonParser.cpp
    lib/SparkJson/src/JsonVariant.cpp
    lib/SparkJson/src/List.cpp
    lib/SparkJson/src/Prettyfier.cpp
    lib/SparkJson/src/Print.cpp
    lib/SparkJson/src/QuotedString.cpp
    lib/SparkJson/src/SparkJson.cpp
    lib/SparkJson/src/StringBuilder.cpp
    src/MatrixCollar.cpp
    project.properties

attempting to compile firmware
Compile failed: Processing  lib/SparkJson/examples/IndentedPrintExample/IndentedPrintExample.ino
Processing  lib/SparkJson/examples/JsonGeneratorExample/JsonGeneratorExample.ino
Processing  lib/SparkJson/examples/JsonParserExample/JsonParserExample.ino
Processing  lib/SparkJson/examples/JsonServer/JsonServer.ino
Processing  lib/SparkJson/src/my-core.ino
Processing  src/MatrixCollar.ino
Checking library neomatrix...
Checking library SparkJson...
Checking library neopixel...
Checking library Adafruit_GFX...
Installing library SparkJson 0.0.2 to lib/SparkJson ...
Installing library Adafruit_GFX 0.0.0 to lib/Adafruit_GFX ...
Installing library neomatrix 0.3.0 to lib/neomatrix ...
Installing library neopixel 1.0.0 to lib/neopixel ...
Library Adafruit_GFX 0.0.0 installed.
Library neomatrix 0.3.0 installed.
Library SparkJson 0.0.2 installed.
Library neopixel 1.0.0 installed.
make -C ../modules/argon/user-part all
make[1]: Entering directory '/firmware/modules/argon/user-part'

mkdir -p target/
make -f ../../../modules/shared/nRF52840/build_linker_script.mk PREBUILD=1
make[2]: Entering directory '/firmware/modules/argon/user-part'
Creating target/platform_user_ram.ld ...
make[2]: Leaving directory '/firmware/modules/argon/user-part'

make -C ../../../user 
make[2]: Entering directory '/firmware/user'
Building cpp file: src/MatrixCollar.cpp
Invoking: ARM GCC CPP Compiler
mkdir -p ../build/target/user/platform-12-msrc/
arm-none-eabi-gcc -DSTM32_DEVICE -DnRF52840 -DNRF52840_XXAA -DPLATFORM_THREADING=1 -DPLATFORM_ID=12 -DPLATFORM_NAME=argon -DPLATFORM_GEN=3 -DUSBD_VID_SPARK=0x2B04 -DUSBD_PID_DFU=0xD00C -DUSBD_PID_CDC=0xC00C -DSPARK_PLATFORM -g3 -gdwarf-2 -Os -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfloat-abi=hard -mfpu=fpv4-sp-d16 --specs=nano.specs -DINCLUDE_PLATFORM=1 -DSOFTDEVICE_PRESENT=1 -DS140 -DPRODUCT_ID=12 -DPRODUCT_FIRMWARE_VERSION=65535 -D_WIZCHIP_=W5500 -DUSE_STDPERIPH_DRIVER -DDFU_BUILD_ENABLE -DLFS_CONFIG=lfs_config.h -DSYSTEM_VERSION_STRING=2.0.0-rc.2 -DRELEASE_BUILD -I./inc -I../wiring/inc -I../system/inc -I../services/inc -I../third_party/nanopb/nanopb -I../communication/inc -I../hal/inc -I../hal/shared -I../hal/src/argon -I../hal/network/lwip/esp32 -I../hal/src/nRF52840 -I../hal/src/armv7 -I../hal/src/nRF52840 -I../hal/src/nRF52840/lwip -I../hal/src/nRF52840/freertos -I../hal/src/nRF52840/mbedtls -I../hal/src/nRF52840/littlefs -I../hal -I../hal/src/nRF52840/posix -I../hal/network -I../hal/network/api -I../hal/network/lwip -I../hal/network/lwip/posix -I../hal/network/lwip/wiznet -I../hal/network/ncp -I../hal/network/ncp/at_parser -I../hal/network/util -I../third_party/lwip/lwip/src/include -I../third_party/freertos/freertos/FreeRTOS/Source/include -I../third_party/nrf5_sdk/nrf5_sdk/external/freertos/portable/GCC/nrf52 -I../third_party/nrf5_sdk/nrf5_sdk/external/freertos/portable/CMSIS/nrf52 -I../third_party/wiznet_driver/wiznet_driver/Ethernet -I../gsm0710muxer/gsm0710muxer/include -I../platform/shared/inc -I../third_party/nrf5_sdk -I../third_party/nrf5_sdk/nrf5_sdk/components/toolchain/cmsis/include -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/drivers -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/drivers/include -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/hal -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/mdk -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/hal -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/drivers/src/prs -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/util -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140/headers -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140/headers/nrf52 -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/common -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/mbr/nrf52840/headers -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/fstorage -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/experimental_section_vars -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/atomic -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/crc32 -I../third_party/nrf5_sdk/nrf5_sdk/integration/nrfx/legacy -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/delay -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/log -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/log -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/log/src -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/experimental_section_vars -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/atomic -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/delay -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/queue -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/common -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140 -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140/headers -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140/headers/nrf52 -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/fifo -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/atomic_fifo -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/strerror -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/fstorage -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/atomic_flags -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/usbd -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/usbd/class/cdc -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/usbd/class/cdc/acm -I../third_party/nrf5_sdk/nrf5_sdk/components/ble/common -I../third_party/nrf5_sdk/nrf5_sdk/components/ble/nrf_ble_gatt -I../third_party/nrf5_sdk/nrf5_sdk/components/ble/ble_advertising -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/t2t_lib -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/platform -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/generic/message -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/generic/record -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/lauchapp -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/text -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/uri -I../third_party/nrf5_sdk/nrf5_sdk/external/nrf_cc310/include -I../third_party/nrf5_sdk/nrf5_sdk/external/utf_converter -I../third_party/littlefs/littlefs -I../third_party/miniz/miniz -I../platform/MCU/nRF52840/inc -I../dynalib/inc -Isrc -I./libraries -Ilib/SparkJson/src -Ilib/neomatrix/src -Ilib/neopixel/src -Ilib/Adafruit_GFX/src -I. -MD -MP -MF ../build/target/user/platform-12-msrc/MatrixCollar.o.d -ffunction-sections -fdata-sections -Wall -Wno-switch -Wno-error=deprecated-declarations -fmessage-length=0 -fno-strict-aliasing -DSPARK=1 -DPARTICLE=1 -Wundef -DSTART_DFU_FLASHER_SERIAL_SPEED=14400 -DSTART_YMODEM_FLASHER_SERIAL_SPEED=28800 -DSPARK_PLATFORM_NET=ESP32 -fno-builtin-malloc -fno-builtin-free -fno-builtin-realloc  -DLOG_INCLUDE_SOURCE_INFO=1 -DPARTICLE_USER_MODULE -DUSER_FIRMWARE_IMAGE_SIZE=0x20000 -DUSER_FIRMWARE_IMAGE_LOCATION=0xD4000 -DMODULAR_FIRMWARE=1 -DMODULE_VERSION=6 -DMODULE_FUNCTION=5 -DMODULE_INDEX=1 -DMODULE_DEPENDENCY=4,1,2005 -DMODULE_DEPENDENCY2=0,0,0 -D_GNU_SOURCE -DLOG_MODULE_CATEGORY="\"app\""  -fno-exceptions -fno-rtti -fcheck-new -std=gnu++14 -c -o ../build/target/user/platform-12-msrc/MatrixCollar.o src/MatrixCollar.cpp
In file included from lib/SparkJson/src/./ArduinoJson.h:7,
                 from lib/SparkJson/src/SparkJson.h:13,
                 from src/MatrixCollar.ino:9:
lib/SparkJson/src/././DynamicJsonBuffer.h: In destructor 'ArduinoJson::DynamicJsonBuffer::~DynamicJsonBuffer()':
lib/SparkJson/src/././DynamicJsonBuffer.h:20:33: warning: deleting object of polymorphic class type 'ArduinoJson::DynamicJsonBuffer' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
   20 |   ~DynamicJsonBuffer() { delete _next; }
      |                                 ^~~~~

Building cpp file: lib/SparkJson/src/JsonVariant.cpp
Invoking: ARM GCC CPP Compiler
mkdir -p ../build/target/user/platform-12-mSparkJson/src/
arm-none-eabi-gcc -DSTM32_DEVICE -DnRF52840 -DNRF52840_XXAA -DPLATFORM_THREADING=1 -DPLATFORM_ID=12 -DPLATFORM_NAME=argon -DPLATFORM_GEN=3 -DUSBD_VID_SPARK=0x2B04 -DUSBD_PID_DFU=0xD00C -DUSBD_PID_CDC=0xC00C -DSP
	at makeError (/Users/jed/.vscode/extensions/particle.particle-vscode-core-1.12.3/node_modules/execa/lib/error.js:58:11)
	at handlePromise (/Users/jed/.vscode/extensions/particle.particle-vscode-core-1.12.3/node_modules/execa/index.js:114:26)
	at runMicrotasks (<anonymous>)
	at processTicksAndRejections (internal/process/task_queues.js:85:5)

- - - -