question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

IPFS Desktop stuck on "IPFS is Starting"

See original GitHub issue

It never gets past IPFS is Starting for me, unless I run ipfs daemon in a terminal window first…

This error also happens when pressing Check for Updates, while in this “IPFS is Starting” stuck state…

Specifications

  • OS: win32
  • IPFS Desktop Version: 0.13.2
  • Electron Version: 9.3.2
  • Chrome Version: 83.0.4103.122

Error

TypeError: ctx.manualCheckForUpdates is not a function
    at click (C:\Users\jjv36\AppData\Local\Programs\IPFS Desktop\resources\app.asar\src\tray.js:198:30)
    at MenuItem.click (electron/js2c/browser_init.js:65:1624)
    at Function.executeCommand (electron/js2c/browser_init.js:73:1102)

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:2
  • Comments:24 (10 by maintainers)

github_iconTop GitHub Comments

2reactions
UnKnoWn-Consortiumcommented, Jan 24, 2021

Okay further investigation suggests it is a rather complicated matters as there are a couple of things interleaving with each other…

Before the start method of the ipfsd-ctl controller instance is called, a checkPorts function is called to determine if the ports required by ipfs are available.

https://github.com/ipfs-shipyard/ipfs-desktop/blob/6dbfa13bfa0f80c490696818bbb5c4c42aeb22fe/src/daemon/daemon.js#L72-L75

Things was first stuck at this checkPorts function defined at config.js.

https://github.com/ipfs-shipyard/ipfs-desktop/blob/6dbfa13bfa0f80c490696818bbb5c4c42aeb22fe/src/daemon/config.js#L216-L231

The culprit is the checkIfAddrIsDaemon function. What it does is to make a POST request to the previously identified API address (which is usually 127.0.0.1:5001) with a specific path /api/v0/refs?arg=/ipfs/QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn and see if there is a daemon already running that would reply with 200. Simple but not so elegant.

https://github.com/ipfs-shipyard/ipfs-desktop/blob/6dbfa13bfa0f80c490696818bbb5c4c42aeb22fe/src/daemon/config.js#L156-L175

The request has no timeout explicitly set. There is supposed to be a default timeout value of 120,000ms (i.e. 2 minutes) in Node 12.14.1 that comes with Electron 9 where the request can resort to (P.S. This default value was dropped in Node 13. So it is no longer the case in Electron 10 which comes with Node 14. See: https://github.com/nodejs/node/pull/27558).

If there happens to be any service other than ipfs that listens to the API port (5001) but not replying to the request (properly a la HTTP). It should take the whole 2 minutes before the request timing out. But in my case the promise never gets resolved. The startup process is stuck there.

So I tried to get this fixed by adding back the timeout property at the request option and the listener for timeout event. But this is not the end. Continue next.

1reaction
jessicaschillingcommented, Jan 25, 2021

Apologies - you got there before I did. Thanks for the tidy summarization. Issue is https://github.com/ipfs-shipyard/ipfs-desktop/issues/1749.

Read more comments on GitHub >

github_iconTop Results From Across the Web

IPFS Desktop stuck on "IPFS is Starting" · Issue #1723 - GitHub
From the "IPFS icon" menu in your menubar/system tray, go to Advanced → Open Logs Directory · Find *.log files · Attach error.log...
Read more >
IPFS Desktop on macbook pro (Big Sur): stuck on "IPFS is starting ...
Hello, I installed successfully IPFS Desktop 0.18.1on my kid's macbook pro (Big Sur) using a dmg file. The same exact procedure on my...
Read more >
IPFS Freezing when uploading a folder - Reddit
I am new to IPFS, so I wanted to upload my NFT folder to the IPFS desktop version. But I am not able...
Read more >
Install Kubo on the command line - IPFS Docs
Kubo allows you to do everything that IPFS Desktop can do, but at a more granular ... To get started, familiarize yourself with...
Read more >
How to Make & Run a Public IPFS Gateway on AWS - DataStax
Let's start with an introduction to an IPFS gateway. ... If you run IPFS on your computer and upload a file to the...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found