Arduino IDE is not working with Intel Curie Board on macos

Hello All,

I have a problem with one of my Arduino board that called "Arduino 101" (NOT Industrial 101).

I've tried several combination of Board Library(Intel Curie Board) and Arduino IDE version, however I couldn't succeed it.

The problem is, whenever I tried to compile a code (even sample blink project), I am getting below error;


fatal error: runtime: bsdthread_register error

runtime stack:
runtime.throw(0x1122f8, 0x21)
	/ssd/go/src/runtime/panic.go:566 +0x95 fp=0x7ff7bfeff5c0 sp=0x7ff7bfeff5a0
runtime.goenvs()
	/ssd/go/src/runtime/os_darwin.go:88 +0xa0 fp=0x7ff7bfeff5f0 sp=0x7ff7bfeff5c0
runtime.schedinit()
	/ssd/go/src/runtime/proc.go:450 +0x9c fp=0x7ff7bfeff630 sp=0x7ff7bfeff5f0
runtime.rt0_go(0x7ff7bfeff660, 0x4, 0x7ff7bfeff660, 0x1000, 0x4, 0x7ff7bfeff810, 0x7ff7bfeff86c, 0x7ff7bfeff86f, 0x7ff7bfeff8ee, 0x0, ...)
	/ssd/go/src/runtime/asm_amd64.s:145 +0x14f fp=0x7ff7bfeff638 sp=0x7ff7bfeff630

exit status 2

Compilation error: exit status 2

The strange thing is, Arduino IDE works great with Arduino UNO. No problem at all! Whenever, I tried to use Arduino 101, I am getting error.

Combination of Boards and IDEs version;

  • Arduino IDE 2.0 - Intel Curie Board 2.0.5 -> Failed Compile and Upload
  • Arduino IDE 2.0 - Intel Curie Board 2.0.4 -> Failed Compile and Upload
  • Arduino IDE 2.0 - Intel Curie Board 2.0.2-> Failed Compile and Upload
  • Arduino IDE 2.0 - Intel Curie Board 1.0.7-> Succeed Compile and Failed Upload
  • Arduino IDE 2.0 - Intel Curie Board 1.0.6-> Succeed Compile and Failed Upload

For Arduino Legacy IDE, exact same combinations were tried, still same result.

My concern is, I bought the Arduino 101 board for BLE works that needs occasionally. If every software update can broke the my boards integrity, I've a doubt to buy experimental Arduino product!

Thank you,
Best Regards.

Hi @beybi

I found some information about this error here:

I'm going to ask you to post some additional information that might help us to identify the specific tool that is producing this error.


:exclamation: NOTE: These instructions will not solve the problem. They are only intended to gather more information which might provide a clue that eventually leads to a solution.


Please do this:

  1. Select File > Preferences from the Arduino IDE menus.
  2. Check the box next to "Show verbose output during: ☐ compilation".
  3. Click the OK button.
  4. Select Sketch > Verify/Compile from the Arduino IDE menus.
  5. Wait for the compilation to fail.
  6. You will see a "Compilation error: ..." notification at the bottom right corner of the Arduino IDE window. Click the COPY ERROR MESSAGES button on that notification.
  7. Open a forum reply here by clicking the Reply button.
  8. Click the </> icon on the post composer toolbar.
    This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
    Code block
  9. Press Ctrl+V.
    This will paste the compilation output into the code block.
  10. Move the cursor outside of the code tags before you add any additional text to your reply.
  11. Click the Reply button to post the output.

In case the output is longer than the forum software will allow to be added to a post, you can instead save it to a .txt file and then attach that file to a reply here:

  1. Open any text editor program.
  2. Paste the copied output into the text editor.
  3. Save the file in .txt format.
  4. Open a forum reply here by clicking the Reply button.
  5. Click the "Upload" icon (image) on the post composer toolbar:
    image
  6. Select the .txt file you saved.
  7. Click the Open button.
  8. Click the Reply button to publish the post.

Alternatively, instead of using the "Upload" icon on the post composer toolbar as described in steps (5) - (7) above, you can simply drag and drop the .txt file onto the post composer field to attach it.

Hi @ptillisch,

Thanks for answering quickly :slightly_smiling_face:
I could not upload any file, system said that I am new user and so on... I'll upload it in nasty way. So sorry!

The thing is that bothers me, How the IDE finds the /ssd/go directory and try to use go in there. Do you have any idea?

{\rtf1\ansi\ansicpg1252\cocoartf2639
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
\paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0

\f0\fs24 \cf0 Using board 'arduino_101' from platform in folder: /Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4\
Using core 'arduino' from platform in folder: /Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4\
Detecting libraries used...\
/Users/x-user/Library/Arduino15/packages/Intel/tools/arc-elf32/1.6.9+1.0.1/bin/arc-elf32-g++ -c -mcpu=quarkse_em -mlittle-endian -g -Os -Wall -fno-reorder-functions -fno-asynchronous-unwind-tables -fno-omit-frame-pointer -fno-defer-pop -Wno-unused-but-set-variable -Wno-main -ffreestanding -fno-stack-protector -mno-sdata -ffunction-sections -fdata-sections -fsigned-char -fno-rtti -fno-exceptions -fcheck-new -D__ARDUINO_ARC__ -std=c++11 -DCONFIG_BLUETOOTH_PERIPHERAL -DCONFIG_BLUETOOTH_CENTRAL -DCONFIG_BLUETOOTH_GATT_CLIENT -w -x c++ -E -CC -DF_CPU=32000000L -DARDUINO=10607 -DARDUINO_ARC32_TOOLS -DARDUINO_ARCH_ARC32 -D__CPU_ARC__ -DCLOCK_SPEED=32 -DCONFIG_SOC_GPIO_32 -DCONFIG_SOC_GPIO_AON -DINFRA_MULTI_CPU_SUPPORT -DCFW_MULTI_CPU_SUPPORT -DHAS_SHARED_MEM -I/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/system/libarc32_arduino101/common -I/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/system/libarc32_arduino101/drivers -I/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/system/libarc32_arduino101/bootcode -I/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/system/libarc32_arduino101/framework/include -I/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/cores/arduino -I/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/variants/arduino_101 /private/var/folders/dl/cdjfr_wx1lv48vd5mzr4klj80000gp/T/arduino-sketch-5CEDF04D633012E523AC2E5C948FE18F/sketch/Blink.ino.cpp -o /dev/null\
Generating function prototypes...\
/Users/x-user/Library/Arduino15/packages/Intel/tools/arc-elf32/1.6.9+1.0.1/bin/arc-elf32-g++ -c -mcpu=quarkse_em -mlittle-endian -g -Os -Wall -fno-reorder-functions -fno-asynchronous-unwind-tables -fno-omit-frame-pointer -fno-defer-pop -Wno-unused-but-set-variable -Wno-main -ffreestanding -fno-stack-protector -mno-sdata -ffunction-sections -fdata-sections -fsigned-char -fno-rtti -fno-exceptions -fcheck-new -D__ARDUINO_ARC__ -std=c++11 -DCONFIG_BLUETOOTH_PERIPHERAL -DCONFIG_BLUETOOTH_CENTRAL -DCONFIG_BLUETOOTH_GATT_CLIENT -w -x c++ -E -CC -DF_CPU=32000000L -DARDUINO=10607 -DARDUINO_ARC32_TOOLS -DARDUINO_ARCH_ARC32 -D__CPU_ARC__ -DCLOCK_SPEED=32 -DCONFIG_SOC_GPIO_32 -DCONFIG_SOC_GPIO_AON -DINFRA_MULTI_CPU_SUPPORT -DCFW_MULTI_CPU_SUPPORT -DHAS_SHARED_MEM -I/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/system/libarc32_arduino101/common -I/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/system/libarc32_arduino101/drivers -I/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/system/libarc32_arduino101/bootcode -I/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/system/libarc32_arduino101/framework/include -I/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/cores/arduino -I/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/variants/arduino_101 /private/var/folders/dl/cdjfr_wx1lv48vd5mzr4klj80000gp/T/arduino-sketch-5CEDF04D633012E523AC2E5C948FE18F/sketch/Blink.ino.cpp -o /private/var/folders/dl/cdjfr_wx1lv48vd5mzr4klj80000gp/T/arduino-sketch-5CEDF04D633012E523AC2E5C948FE18F/preproc/ctags_target_for_gcc_minus_e.cpp\
/Users/x-user/Library/Arduino15/packages/builtin/tools/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /private/var/folders/dl/cdjfr_wx1lv48vd5mzr4klj80000gp/T/arduino-sketch-5CEDF04D633012E523AC2E5C948FE18F/preproc/ctags_target_for_gcc_minus_e.cpp\
Compiling sketch...\
/Users/x-user/Library/Arduino15/packages/Intel/tools/arc-elf32/1.6.9+1.0.1/bin/arc-elf32-g++ -c -mcpu=quarkse_em -mlittle-endian -g -Os -Wall -fno-reorder-functions -fno-asynchronous-unwind-tables -fno-omit-frame-pointer -fno-defer-pop -Wno-unused-but-set-variable -Wno-main -ffreestanding -fno-stack-protector -mno-sdata -ffunction-sections -fdata-sections -fsigned-char -MMD -fno-rtti -fno-exceptions -fcheck-new -D__ARDUINO_ARC__ -std=c++11 -DCONFIG_BLUETOOTH_PERIPHERAL -DCONFIG_BLUETOOTH_CENTRAL -DCONFIG_BLUETOOTH_GATT_CLIENT -DF_CPU=32000000L -DARDUINO=10607 -DARDUINO_ARC32_TOOLS -DARDUINO_ARCH_ARC32 -D__CPU_ARC__ -DCLOCK_SPEED=32 -DCONFIG_SOC_GPIO_32 -DCONFIG_SOC_GPIO_AON -DINFRA_MULTI_CPU_SUPPORT -DCFW_MULTI_CPU_SUPPORT -DHAS_SHARED_MEM -I/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/system/libarc32_arduino101/common -I/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/system/libarc32_arduino101/drivers -I/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/system/libarc32_arduino101/bootcode -I/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/system/libarc32_arduino101/framework/include -I/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/cores/arduino -I/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/variants/arduino_101 /private/var/folders/dl/cdjfr_wx1lv48vd5mzr4klj80000gp/T/arduino-sketch-5CEDF04D633012E523AC2E5C948FE18F/sketch/Blink.ino.cpp -o /private/var/folders/dl/cdjfr_wx1lv48vd5mzr4klj80000gp/T/arduino-sketch-5CEDF04D633012E523AC2E5C948FE18F/sketch/Blink.ino.cpp.o\
Compiling libraries...\
Compiling core...\
Using previously compiled file: /private/var/folders/dl/cdjfr_wx1lv48vd5mzr4klj80000gp/T/arduino-sketch-5CEDF04D633012E523AC2E5C948FE18F/core/variant.cpp.o\
Using precompiled core: /private/var/folders/dl/cdjfr_wx1lv48vd5mzr4klj80000gp/T/arduino-core-cache/core_Intel_arc32_arduino_101_01b564c4638b6e541d134848e8773c99.a\
Linking everything together...\
/Users/x-user/Library/Arduino15/packages/Intel/tools/arc-elf32/1.6.9+1.0.1/bin/arc-elf32-gcc -nostartfiles -nodefaultlibs -nostdlib -static -Wl,-X -Wl,-N -Wl,-mcpu=quarkse_em -Wl,-marcelf -Wl,--gc-sections -T/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/variants/arduino_101/linker_scripts/flash.ld -Wl,-Map,/private/var/folders/dl/cdjfr_wx1lv48vd5mzr4klj80000gp/T/arduino-sketch-5CEDF04D633012E523AC2E5C948FE18F/Blink.ino.map -o /private/var/folders/dl/cdjfr_wx1lv48vd5mzr4klj80000gp/T/arduino-sketch-5CEDF04D633012E523AC2E5C948FE18F/Blink.ino.elf -L/private/var/folders/dl/cdjfr_wx1lv48vd5mzr4klj80000gp/T/arduino-sketch-5CEDF04D633012E523AC2E5C948FE18F -L/Users/x-user/Library/Arduino15/packages/Intel/hardware/arc32/2.0.4/variants/arduino_101 -Wl,--no-whole-archive -Wl,--start-group -lnsim -lc -lm -lgcc -larc32drv_arduino101 /private/var/folders/dl/cdjfr_wx1lv48vd5mzr4klj80000gp/T/arduino-sketch-5CEDF04D633012E523AC2E5C948FE18F/sketch/Blink.ino.cpp.o /private/var/folders/dl/cdjfr_wx1lv48vd5mzr4klj80000gp/T/arduino-sketch-5CEDF04D633012E523AC2E5C948FE18F/core/variant.cpp.o /private/var/folders/dl/cdjfr_wx1lv48vd5mzr4klj80000gp/T/arduino-sketch-5CEDF04D633012E523AC2E5C948FE18F/../arduino-core-cache/core_Intel_arc32_arduino_101_01b564c4638b6e541d134848e8773c99.a\
fatal error: runtime: bsdthread_register error\
/Users/x-user/Library/Arduino15/packages/Intel/tools/arduino101load/2.0.1/arduino101load -c "-from=\\"/private/var/folders/dl/cdjfr_wx1lv48vd5mzr4klj80000gp/T/arduino-sketch-5CEDF04D633012E523AC2E5C948FE18F/Blink.ino.elf\\"" "-to=\\"/private/var/folders/dl/cdjfr_wx1lv48vd5mzr4klj80000gp/T/arduino-sketch-5CEDF04D633012E523AC2E5C948FE18F/../arduino101_sketch.debug.elf\\""\
\
runtime stack:\
runtime.throw(0x1122f8, 0x21)\
	/ssd/go/src/runtime/panic.go:566 +0x95 fp=0x7ff7bfeff5c0 sp=0x7ff7bfeff5a0\
runtime.goenvs()\
	/ssd/go/src/runtime/os_darwin.go:88 +0xa0 fp=0x7ff7bfeff5f0 sp=0x7ff7bfeff5c0\
runtime.schedinit()\
	/ssd/go/src/runtime/proc.go:450 +0x9c fp=0x7ff7bfeff630 sp=0x7ff7bfeff5f0\
runtime.rt0_go(0x7ff7bfeff660, 0x4, 0x7ff7bfeff660, 0x1000, 0x4, 0x7ff7bfeff810, 0x7ff7bfeff86c, 0x7ff7bfeff86f, 0x7ff7bfeff8ee, 0x0, ...)\
	/ssd/go/src/runtime/asm_amd64.s:145 +0x14f fp=0x7ff7bfeff638 sp=0x7ff7bfeff630\
\
exit status 2\
\
Compilation error: exit status 2}

Hi. I apologize for the inconvenience with the forum's new user restrictions. The software will automatically promote you to "trust level 1" after you use the forum for only a little while, after which the restriction will be lifted.

From this output, I can see the error is with the arduino101load tool, which is hosted in this repository:

You are welcome to submit a bug report there. However, we can see from looking at that repository and at the arduino/ArduinoCore-arc32 repository of the "Intel Curie Boards" platform of the retired Arduino 101 board that there has not been any development activity in many years, and you can see there are many unacknowledged bug reports in the latter repository. So I'm afraid it might be quite some time, if ever, before the Arduino company provides a fix. Of course the Arduino community is amazing so it might well be that they will come to the rescue of those affected with a community solution.

If you have purchased this board recently enough that it is still under warranty, my recommendation is to contact the seller and request a return. You will probably be happier spending that money on another product that is not in a retired status.

I have now submitted a formal bug report to the issue tracker for the problematic arduino101load tool dependency:

I didn't submit a report to the "Intel Curie Boards" platform because I saw there was an existing report:

But I did add a comment there with more details about the problem.

If anyone else is experiencing this problem, there is a workaround, which is to build arduino101load from the source code using Go.

This "DIY" workaround is a bit involved, but if anyone is interested I would be happy to provide instructions.

I have good news to share. This bug has been fixed in the latest 2.0.6 release of the "Intel Curie Boards" platform. The error should no longer occur after you use the Arduino IDE Boards Manager to install or update the platform to version 2.0.6.

Please let me know if you have any questions or problems when updating or using "Intel Curie Boards" 2.0.6.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.