[Solved] Arduino Create Loading Forever

Attempting to use Arduino IDE for the first time in several years, albeit with a new Uno R3. Previously I used a locally installed IDE but now I'm attempting to use the online IDE with no success.

I have tried this on two different Windows PCs (both Windows 7) and get the same result. Navigating to Arduino Create displays a page which indicates Loading Arduino Create... but doesn't move beyond that points, even after several minutes. The browser, BTW, is Chrome and, not sure if it matters at this point but the serial comms plugin was already (and apparently successfully) installed. However, Windows did attempt, and fail, to install a driver for the Uno. It seems astonishing that well respected and regularly used software can give this results on two separate PCs. Any pointers would be very much appreciated.

The driver fail is often down to the UAC or driver permission settings on windows computers.
Its not a fault of the Arduino software but the security settings of the computer.

If the plugin cannot do any of the items it prompts you for then quite simply it will fail.
Most often running the installer as ADMINISTRATOR is best as that can quite often alleviate matters.

In some cases Antivirus can also cause issues in which case the Arduino agent should be added to the exclusions / whitelist.

The posts at the top of this section are also worth your time to read as often there are helpful hints and clues in there.

Bob.

Just locking up and not displaying any meaningful error message or hint clearly seems like a fault of the Arduino software to me.

Are you saying this state is indeed the expected behavior in the case of driver issues?

I'd expect driver issues to only cause problems for uploading, not for the Arduino Web Editor to load.

There have been multiple other reports in the last day of this issue (one of them @haustein's):

@haustein and/or @MikeBedford, are you still having the same problem?

I'm able to load Arduino Web Editor with no issues. I know there have been issues in the past that only affected some users, so it working for me is no guarantee it's working for everyone.

I've had issues loading the Arduino Web Editor caused by my NoScript browser extension. I'd guess other similar browser extensions and ad blockers would cause similar problems. If you have any such extensions installed in your browser, try disabling them to see if it's the cause of the problem.

I don't have an ad blocker installed and to rule out problems with my particular browser (Chrome Version 73.0.3683.103 (Official Build) (64-bit)) I have tried FireFox on two different machines (which I don't use regularily and where I don't have any plugins installed).

FireFox displays "A web page is slowing down your browser. What would you like to do?"

I tried to figure out where it is stuck with the Chrome Profiler, but the page crashes the dev tools -- I can't even close the tab any more after a few seconds. Something seems to be seriously wrong in the code (active waiting in JS or similar)

I am logged in via the google login option if that is relevant -- that's the only thing common between various tries on different computers, operating systems and browsers.

I am happy to try a test account if a login is provided. I won't set up an additional account for testing purposes.

haustein:
Are you saying this state is indeed the expected behavior in the case of driver issues?

Certainly not !

Per is correct in that NO problem for one user is not indicative of it being the same for all users.

Can you try using the INCOGNITO page load of Chrome to rule out parts of the browser structure ?

Some (very very few) have had issues with the following:- ISP’s, VPN’s, Wireless strength/type/conditions, EDU and Company networks, Externally Managed routers, Just to name a few so those should be looked at too as they are outside the control of the software.

Which version of the plugin are you currently showing ? ( right click the plugin in the taskbar)

You can also use the built in DEBUG of the plugin to send additional details.
Right click and select Open Debug Console
That will open a mostly blank web page that you should leave alone for the moment.
Try to connect to create and perform a few actions (if you can)
Close the CREATE windows then copy the contents of the DEBUG browser panel back here.
PLEASE use code tags to post that information ( </> )

Or add it as a text attachment if it exceeds the character limit for the forum.

Bob.

PS we cannot and do not provide additional “test accounts”
We are just users of the Arduino ecosphere like yourself.

  • I have already tried Incognito, it does not help.
  • For the debug output, I think you are describing the windows version? Why should it matter if there should be an error message in the case of plugin issues? Doesn't the plugin only become relevant at deployment stage?
  • Re: Corp network, VPN, whatever: I have tried this at home and at work. What are the chances that I get this issue affecting "very very few" users in two completely different network setups?
  • I am trying to file a bug here. If this is not the right place, please advise. In no case or error condition should any web software block the browser in a way that brings up the "unrsponsive" warning.

If you have installed the create agent then you have already deployed it as it is sat there running silently just waiting for its connections to the web side.

The agents own debug output can also provide clues as to issues.
However if you don't want to do that there is little I can offer on that aspect.

You also have Chromes developer tools that also has a console that can also provide clues as to what you are seeing.

Those two options can help rule out specific network issues or connection issues to the web side.

You are in the correct place to file a report but you really have to help us to help you.
Right now there is not really enough information to do more than make best judgement guesses.

Additionally what is your computers security such as antivirus etc. ?

As a side thought you did say you were using the google sign in.

You may want to use those very same credentials to sign into create via the normal sign in method as they should work the same.

That would help rule out any issue with the google sign in API as that is a relatively new feature and if you find that it works not using the google sign in you might have found a bug with the API !

Bob.

"You also have Chromes developer tools that also has a console that can also provide clues as to what you are seeing."

See screenshot attached here: http://forum.arduino.cc/index.php?topic=608251. I have tried to get a performance capture but it crashes before I can.

"As a side thought you did say you were using the google sign in. You may want to use those very same credentials to sign into create via the normal sign in method as they should work the same."

How is that supposed to work at all? Are you asking me to enter my Google account password into your site? I think that would be a quite bad advice.

"You are in the correct place to file a report but you really have to help us to help you.
Right now there is not really enough information to do more than make best judgement guesses."

I am happy to provide anything I can get from the chrome console before the browser tab locks up. I'll get you the detailed plugin output when back home, but IIRC it just showed that the server is up, no connection information.

"Additionally what is your computers security such as antivirus etc. ?"

None installed on Linux, ESET Antivirus on Mac. Not sure how this can be relevant for a web page lockup though.

That pic need some serious cropping.
Better to CP the contents of a new screen and post the information inside code tags ( </> ) or as a text attachment.

Using your google PW as the regular password is NOT a “bad idea” Chrome passes your password to the Arduino site anyway you are just cutting out the API with my suggestion.

There have been instances of security slowing down traffic to CREATE or blocking the agent.
If what I ask is not relevant in trying to help I think it is time I moved along to help others.

Bob.

"That pic need some serious cropping."

Tell me which part you need and I am happy to copy-paste the text.

"Using your google PW as the regular password is NOT a "bad idea" Chrome passes your password to the Arduino site anyway you are just cutting out the API with my suggestion."

If Chrome or the Google login dialog passes on my Google password to your site, that would expose my Google password to third parties and constitute a serious security breach. If you are sure this happens, please report the security issue in the appropriate program here: Reward Programs – Application Security – Google

The Agent output:

haustein@zbox:~/bin/ArduinoCreateAgent-1.1$ ./Arduino_Create_Bridge_cli 
INFO[0000] Version:1.1.85                               
INFO[0000] Hostname: zbox                               
INFO[0000] Garbage collection is on using Standard mode, meaning we just let Golang determine when to garbage collect. 
INFO[0000] You specified a serial port regular expression filter: usb|acm|com 
INFO[0000] Your serial ports:                           
INFO[0000] 	There are no serial ports to list.          
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:	export GIN_MODE=release
 - using code:	gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET    /                         --> main.homeHandler (2 handlers)
[GIN-debug] GET    /certificate.crt          --> main.certHandler (2 handlers)
[GIN-debug] DELETE /certificate.crt          --> main.deleteCertHandler (2 handlers)
[GIN-debug] POST   /upload                   --> main.uploadHandler (2 handlers)
[GIN-debug] GET    /socket.io/               --> main.(*WsServer).ServeHTTP-fm (2 handlers)
[GIN-debug] POST   /socket.io/               --> main.(*WsServer).ServeHTTP-fm (2 handlers)
[GIN-debug] WS     /socket.io/               --> main.(*WsServer).ServeHTTP-fm (2 handlers)
[GIN-debug] WSS    /socket.io/               --> main.(*WsServer).ServeHTTP-fm (2 handlers)
[GIN-debug] GET    /info                     --> main.infoHandler (2 handlers)
[GIN-debug] POST   /killbrowser              --> main.killBrowserHandler (2 handlers)
[GIN-debug] POST   /pause                    --> main.pauseHandler (2 handlers)
[GIN-debug] POST   /update                   --> main.updateHandler (2 handlers)
[GIN-debug] GET    /v2/*path                 --> github.com/arduino/arduino-create-agent/vendor/github.com/gin-gonic/gin.WrapH.func1 (2 handlers)
[GIN-debug] POST   /v2/*path                 --> github.com/arduino/arduino-create-agent/vendor/github.com/gin-gonic/gin.WrapH.func1 (2 handlers)
[GIN-debug] PUT    /v2/*path                 --> github.com/arduino/arduino-create-agent/vendor/github.com/gin-gonic/gin.WrapH.func1 (2 handlers)
[GIN-debug] PATCH  /v2/*path                 --> github.com/arduino/arduino-create-agent/vendor/github.com/gin-gonic/gin.WrapH.func1 (2 handlers)
[GIN-debug] HEAD   /v2/*path                 --> github.com/arduino/arduino-create-agent/vendor/github.com/gin-gonic/gin.WrapH.func1 (2 handlers)
[GIN-debug] OPTIONS /v2/*path                 --> github.com/arduino/arduino-create-agent/vendor/github.com/gin-gonic/gin.WrapH.func1 (2 handlers)
[GIN-debug] DELETE /v2/*path                 --> github.com/arduino/arduino-create-agent/vendor/github.com/gin-gonic/gin.WrapH.func1 (2 handlers)
[GIN-debug] CONNECT /v2/*path                 --> github.com/arduino/arduino-create-agent/vendor/github.com/gin-gonic/gin.WrapH.func1 (2 handlers)
[GIN-debug] TRACE  /v2/*path                 --> github.com/arduino/arduino-create-agent/vendor/github.com/gin-gonic/gin.WrapH.func1 (2 handlers)
[GIN-debug] Listening and serving HTTP on 127.0.0.1:8991

There is no additional output when I try to open the online IDE, which seems to suggest that it doesn't get that far...

When I set the developer console to stop on caught exceptions, it stops multiple times:

  • "ReferenceError: ActiveXObject is not defined" (trying to load flash -- several times?)
  • "TypeError: Array.prototype.filter called on null or undefined"
  • Multiple more attempts to call functions on null

Output from the CREATE debug should look something along these lines on Chrome at least.
What switches did you use for your output ?

{"Version" : "1.1.85"} 
{"Commands" : ["list", "open [portName] [baud] [bufferAlgorithm (optional)]", "send [portName] [cmd]", "sendnobuf [portName] [cmd]", "close [portName]", "bufferalgorithms", "baudrates", "restart", "exit", "program [portName] [board:name] [$path/to/filename/without/extension]", "programfromurl [portName] [board:name] [urlToHexFile]"]} 
{"Hostname" : "Bob-PC"} 
{"OS" : "windows"} 
downloadtool windows-drivers latest arduino keep
downloadtool bossac 1.7.0 arduino keep
list
{ "Ports": [], "Network": true }
{ "Ports": [ { "Name": "COM32", "SerialNumber": "", "DeviceClass": "", "IsOpen": false, "IsPrimary": false, "Baud": 0, "BufferAlgorithm": "", "Ver": "1.1.85", "NetworkPort": false, "VendorID": "0x1A86", "ProductID": "0x7523" }, { "Name": "COM33", "SerialNumber": "", "DeviceClass": "", "IsOpen": false, "IsPrimary": false, "Baud": 0, "BufferAlgorithm": "", "Ver": "1.1.85", "NetworkPort": false, "VendorID": "0x1A86", "ProductID": "0x7523" } ], "Network": false }
close COM32
{"Error" : "We could not find the serial port COM32 that you were trying to close."}
close COM33
{"Error" : "We could not find the serial port COM33 that you were trying to close."}
{"DownloadStatus":"Pending","Msg":"The tool is already present on the system"}
{"DownloadStatus":"Pending","Msg":"The tool is already present on the system"}
{"DownloadStatus":"Success","Msg":"Map Updated"}
{"DownloadStatus":"Success","Msg":"Map Updated"}
list
{ "Ports": [], "Network": true }
{ "Ports": [ { "Name": "COM32", "SerialNumber": "", "DeviceClass": "", "IsOpen": false, "IsPrimary": false, "Baud": 0, "BufferAlgorithm": "", "Ver": "1.1.85", "NetworkPort": false, "VendorID": "0x1A86", "ProductID": "0x7523" }, { "Name": "COM33", "SerialNumber": "", "DeviceClass": "", "IsOpen": false, "IsPrimary": false, "Baud": 0, "BufferAlgorithm": "", "Ver": "1.1.85", "NetworkPort": false, "VendorID": "0x1A86", "ProductID": "0x7523" } ], "Network": false }
list
{ "Ports": [], "Network": true }
{ "Ports": [ { "Name": "COM32", "SerialNumber": "", "DeviceClass": "", "IsOpen": false, "IsPrimary": false, "Baud": 0, "BufferAlgorithm": "", "Ver": "1.1.85", "NetworkPort": false, "VendorID": "0x1A86", "ProductID": "0x7523" }, { "Name": "COM33", "SerialNumber": "", "DeviceClass": "", "IsOpen": false, "IsPrimary": false, "Baud": 0, "BufferAlgorithm": "", "Ver": "1.1.85", "NetworkPort": false, "VendorID": "0x1A86", "ProductID": "0x7523" } ], "Network": false }
list

Sorry I don't have access to any windows machine. The output is from the linux agent. As you can see in the command that I have included in the quoted console log, there are no switches -- it says it's in "debug mode" anyway.

I have tried the 127.0.0.1:8991 manually and the browser displays:

{"Version" : "1.1.85"} 
{"Commands" : ["list", "open [portName] [baud] [bufferAlgorithm (optional)]", "send [portName] [cmd]", "sendnobuf [portName] [cmd]", "close [portName]", "bufferalgorithms", "baudrates", "restart", "exit", "program [portName] [board:name] [$path/to/filename/without/extension]", "programfromurl [portName] [board:name] [urlToHexFile]"]} 
{"Hostname" : "zbox"} 
{"OS" : "linux"}

The plugin install page is able to recognize the plugin Arduino Cloud - Getting started -- it says "Plugin correctly installed!" in the last step and I can see in the JS console how it tries different ports.

I tend to share @pert's assessment that this is unlikely to be related to the driver/plugin/agent, as the IDE doesn't show up at all -- opposed to failing in upload. That said, it would be nice if somebody could confirm that the IDE is expected to show up without the driver and the failure mode with driver issues is not an infinite loading screen.

That IP is normally a NULL IP or LOOPBACK. (google it)

In this case its the loopback for the debug page that I mentioned and it is safe to leave that page open for a while when testing as that's the console output I was looking for.
If you leave it open long enough and try use CREATE as normal in another window/tab it will gather more information as you try to connect to the web side.

If the agent is not correctly installed the error is usually seen when you try to open the CREATE web page itself which most often tells you that it cannot find it and will hint to install it. That your debug says it WAS correctly installed tells us we should be able to avoid any further discussion in that area.

The agent does use its own drivers and not the ones from the desktop IDE and on some OS you must give it permissions to do so.
I tend to agree with Per that it does not look like a driver issue at this stage.

I often refer to the continual loading screen as the COD (Circle of doom) and have seen it myself as a tester.
Sometimes it can be fixed by clearing the browsers cache (not always) but clearing is best done with the browser closed.
Chrome does have the ability to clean itself up but that is usually a final resort and something I very rarely use.

If I keep the localhost window open while starting the IDE, I get this

{"Version" : "1.1.85"} 
{"Commands" : ["list", "open [portName] [baud] [bufferAlgorithm (optional)]", "send [portName] [cmd]", "sendnobuf [portName] [cmd]", "close [portName]", "bufferalgorithms", "baudrates", "restart", "exit", "program [portName] [board:name] [$path/to/filename/without/extension]", "programfromurl [portName] [board:name] [urlToHexFile]"]} 
{"Hostname" : "zbox"} 
{"OS" : "linux"} 
downloadtool windows-drivers latest arduino keep
downloadtool bossac 1.7.0 arduino keep
list
{ "Ports": [], "Network": false }
{ "Ports": [], "Network": true }
{"DownloadStatus":"Pending","Msg":"The tool is already present on the system"}
{"DownloadStatus":"Success","Msg":"Map Updated"}
{"DownloadStatus":"Pending","Msg":"We couldn't find a tool with the name windows-drivers and version latest packaged by arduino"}
{"DownloadStatus":"Success","Msg":"Map Updated"}

Is the request for "windows-drivers" expected on a Linux system?

To make sure this is not a cookie problem, I have tried an incognito window and a different browser.

This is what I see on Ubuntu:

The "downloadtool windows-drivers latest arduino keep" message is seen here as well.

{"Version" : "1.1.85"}
{"Commands" : ["list", "open [portName] [baud] [bufferAlgorithm (optional)]", "send [portName] [cmd]", "sendnobuf [portName] [cmd]", "close [portName]", "bufferalgorithms", "baudrates", "restart", "exit", "program [portName] [board:name] [$path/to/filename/without/extension]", "programfromurl [portName] [board:name] [urlToHexFile]"]}
{"Hostname" : "jomo-hp"}
{"OS" : "linux"}
downloadtool windows-drivers latest arduino keep
downloadtool bossac 1.7.0 arduino keep
list
{ "Ports": [], "Network": true }
{"DownloadStatus":"Pending","Msg":"We couldn't find a tool with the name windows-drivers and version latest packaged by arduino"}
{"DownloadStatus":"Success","Msg":"Map Updated"}
{ "Ports": [ { "Name": "/dev/ttyACM0", "SerialNumber": "DFA8772051503235314A2020FF012033", "DeviceClass": "", "IsOpen": false, "IsPrimary": false, "Baud": 0, "BufferAlgorithm": "", "Ver": "1.1.85", "NetworkPort": false, "VendorID": "0x2341", "ProductID": "0x804e" }, { "Name": "/dev/ttyUSB0", "SerialNumber": "FTG96GEU", "DeviceClass": "", "IsOpen": false, "IsPrimary": false, "Baud": 0, "BufferAlgorithm": "", "Ver": "1.1.85", "NetworkPort": false, "VendorID": "0x0403", "ProductID": "0x6001" } ], "Network": false }
{"DownloadStatus":"Pending","Msg":"The tool is already present on the system"}
{"DownloadStatus":"Success","Msg":"Map Updated"}
close /dev/ttyACM0
{"Error" : "We could not find the serial port /dev/ttyACM0 that you were trying to close."}
close /dev/ttyUSB0
{"Error" : "We could not find the serial port /dev/ttyUSB0 that you were trying to close."}
list
{ "Ports": [ { "Name": "/dev/ttyACM0", "SerialNumber": "DFA8772051503235314A2020FF012033", "DeviceClass": "", "IsOpen": false, "IsPrimary": false, "Baud": 0, "BufferAlgorithm": "", "Ver": "1.1.85", "NetworkPort": false, "VendorID": "0x2341", "ProductID": "0x804e" }, { "Name": "/dev/ttyUSB0", "SerialNumber": "FTG96GEU", "DeviceClass": "", "IsOpen": false, "IsPrimary": false, "Baud": 0, "BufferAlgorithm": "", "Ver": "1.1.85", "NetworkPort": false, "VendorID": "0x0403", "ProductID": "0x6001" } ], "Network": false }
{ "Ports": [], "Network": true }

Thanks Joe...And your Linux deploy is OK with Create IIRC ?

@haustein

Maybe leave your debug tab open a little longer for some more output if you could please.

Not worried too much about the windows driver call as I suspect its just a name convention call out.

From the version numbers we are all on the same page so we can discount that in any way.

BTW the team is not in until Monday so all this is a good advance heads up for them if we don't get to the bottom of thing.

ballscrewbob:
Thanks Joe...And your Linux deploy is OK with Create IIRC ?

Yes, my config is working fine.