Skip to content

Start-up crashing due to Error: root can't be a file (unixfs type: File) [possibly related to recent Kubo 0.34.0 upgrade] #10762

Open
@vorburger

Description

@vorburger

Checklist

Installation method

third-party binary

Version

$ ipfs version --all
Kubo version: 0.34.0
Repo version: 16
System version: amd64/linux
Golang version: go1.24.1

$ which ipfs
/usr/bin/ipfs

$ rpm -qf /usr/bin/ipfs
kubo-0.34.0-0.1.testing.rp.fc41.taw.x86_64


This is the binary from https://github.com/taw00/ipfs-rpm.

Config

$ ipfs config show
{
  "API": {
    "HTTPHeaders": {
      "Access-Control-Allow-Origin": [
        "https://webui.ipfs.io",
        "http://webui.ipfs.io.ipns.localhost:8080"
      ]
    }
  },
  "Addresses": {
    "API": "/ip4/127.0.0.1/tcp/5001",
    "Announce": [],
    "AppendAnnounce": [],
    "Gateway": "/ip4/127.0.0.1/tcp/8080",
    "NoAnnounce": [],
    "Swarm": [
      "/ip4/0.0.0.0/tcp/4001",
      "/ip6/::/tcp/4001",
      "/ip4/0.0.0.0/udp/4001/webrtc-direct",
      "/ip4/0.0.0.0/udp/4001/quic-v1",
      "/ip4/0.0.0.0/udp/4001/quic-v1/webtransport",
      "/ip6/::/udp/4001/webrtc-direct",
      "/ip6/::/udp/4001/quic-v1",
      "/ip6/::/udp/4001/quic-v1/webtransport"
    ]
  },
  "AutoNAT": {},
  "AutoTLS": {},
  "Bootstrap": [
    "/dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN",
    "/dnsaddr/bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa",
    "/dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb",
    "/dnsaddr/bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt",
    "/ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ",
    "/ip4/104.131.131.82/udp/4001/quic-v1/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ",
    "/dnsaddr/bootstrap.libp2p.io/ipfs/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb"
  ],
  "DNS": {
    "Resolvers": {}
  },
  "Datastore": {
    "BloomFilterSize": 0,
    "GCPeriod": "1h",
    "HashOnRead": false,
    "Spec": {
      "mounts": [
        {
          "child": {
            "path": "blocks",
            "shardFunc": "/repo/flatfs/shard/v1/next-to-last/2",
            "sync": true,
            "type": "flatfs"
          },
          "mountpoint": "/blocks",
          "prefix": "flatfs.datastore",
          "type": "measure"
        },
        {
          "child": {
            "compression": "none",
            "path": "datastore",
            "type": "levelds"
          },
          "mountpoint": "/",
          "prefix": "leveldb.datastore",
          "type": "measure"
        }
      ],
      "type": "mount"
    },
    "StorageGCWatermark": 90,
    "StorageMax": "10GB"
  },
  "Discovery": {
    "MDNS": {
      "Enabled": true
    }
  },
  "Experimental": {
    "FilestoreEnabled": false,
    "Libp2pStreamMounting": false,
    "OptimisticProvide": false,
    "OptimisticProvideJobsPoolSize": 0,
    "P2pHttpProxy": false,
    "StrategicProviding": false,
    "UrlstoreEnabled": false
  },
  "Gateway": {
    "DeserializedResponses": null,
    "DisableHTMLErrors": null,
    "ExposeRoutingAPI": null,
    "HTTPHeaders": {},
    "NoDNSLink": false,
    "NoFetch": false,
    "PublicGateways": null,
    "RootRedirect": ""
  },
  "Identity": {
    "PeerID": "12D3KooWMNTJPcXCAtenjQCYSmGj7DRKzjMYgcPpy3rd9BgRSoER"
  },
  "Import": {
    "CidVersion": null,
    "HashFunction": null,
    "UnixFSChunker": null,
    "UnixFSRawLeaves": null
  },
  "Internal": {},
  "Ipns": {
    "RecordLifetime": "",
    "RepublishPeriod": "",
    "ResolveCacheSize": 128
  },
  "Migration": {
    "DownloadSources": [],
    "Keep": ""
  },
  "Mounts": {
    "FuseAllowOther": false,
    "IPFS": "/ipfs",
    "IPNS": "/ipns"
  },
  "Peering": {
    "Peers": null
  },
  "Pinning": {
    "RemoteServices": {}
  },
  "Plugins": {
    "Plugins": null
  },
  "Provider": {
    "Strategy": ""
  },
  "Pubsub": {
    "DisableSigning": false,
    "Router": ""
  },
  "Reprovider": {},
  "Routing": {
    "Methods": null,
    "Routers": null
  },
  "Swarm": {
    "AddrFilters": [],
    "ConnMgr": {},
    "DisableBandwidthMetrics": false,
    "DisableNatPortMap": false,
    "RelayClient": {},
    "RelayService": {},
    "ResourceMgr": {},
    "Transports": {
      "Multiplexers": {},
      "Network": {},
      "Security": {}
    }
  },
  "Version": {}
}

Description

See taw00/ipfs-rpm#8; TL;DR :

Mar 22 14:34:36 yara ipfs[138484]: 2025-03-22T14:34:36.531+0100        ERROR        node        node/mount_unix.go:96        error mounting: root can't be a file (unixfs type: File)
Mar 22 14:34:36 yara ipfs[138484]: Error: root can't be a file (unixfs type: File)
Mar 22 14:34:36 yara systemd[1]: ipfsd.service: Main process exited, code=exited, status=1/FAILURE
Mar 22 14:34:36 yara systemd[1]: ipfsd.service: Failed with result 'exit-code'.
Mar 22 14:34:46 yara systemd[1]: ipfsd.service: Scheduled restart job, restart counter is at 884.
Mar 22 14:34:46 yara systemd[1]: Starting ipfsd.service - ipfs daemon...
Mar 22 14:34:46 yara systemd[1]: Started ipfsd.service - ipfs daemon.
Mar 22 14:34:46 yara ipfs[138562]: Initializing daemon...
Mar 22 14:34:46 yara ipfs[138562]: Kubo version: 0.34.0
Mar 22 14:34:46 yara ipfs[138562]: Repo version: 16
Mar 22 14:34:46 yara ipfs[138562]: System version: amd64/linux
Mar 22 14:34:46 yara ipfs[138562]: Golang version: go1.24.1
Mar 22 14:34:46 yara ipfs[138562]: PeerID: 12D3KooWHhSWa5Kz6FBmsM2rENyE3WNz61Yndm83ud8ke95u7Zsp
Mar 22 14:34:46 yara ipfs[138562]: 2025/03/22 14:34:46 failed to sufficiently increase receive buffer size (was: 208 kiB, wanted: 7168 kiB, got: 416 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes for details.
Mar 22 14:34:47 yara ipfs[138562]: Swarm listening on 100.110.174.7:4001 (TCP+UDP)
Mar 22 14:34:47 yara ipfs[138562]: Swarm listening on 127.0.0.1:4001 (TCP+UDP)
Mar 22 14:34:47 yara ipfs[138562]: Swarm listening on 192.168.1.99:4001 (TCP+UDP)
Mar 22 14:34:47 yara ipfs[138562]: Swarm listening on [::1]:4001 (TCP+UDP)
Mar 22 14:34:47 yara ipfs[138562]: Swarm listening on [fd7a:115c:a1e0::b701:ae07]:4001 (TCP+UDP)
Mar 22 14:34:47 yara ipfs[138562]: Run 'ipfs id' to inspect announced and discovered multiaddrs of this node.
Mar 22 14:34:47 yara ipfs[138562]: RPC API server listening on /ip4/127.0.0.1/tcp/5001
Mar 22 14:34:47 yara ipfs[138562]: WebUI: http://127.0.0.1:5001/webui
Mar 22 14:34:47 yara ipfs[138562]: 2025-03-22T14:34:47.304+0100        ERROR        node        node/mount_unix.go:96        error mounting: root can't be a file (unixfs type: File)
Mar 22 14:34:47 yara ipfs[138562]: Error: root can't be a file (unixfs type: File)
Mar 22 14:34:47 yara systemd[1]: ipfsd.service: Main process exited, code=exited, status=1/FAILURE
Mar 22 14:34:47 yara systemd[1]: ipfsd.service: Failed with result 'exit-code'.
(...)

I'm not entirely sure if this is a problem in this project (IPFS Kubo) something wrong "downstream" (that systemd RPM for Fedora which is graciously maintained by @taw00) - so I'll open issues in both repos.. 😸

Looks like #10340 and #2383 ? Except I'm not trying to upload anything anywhere - just starting it.

My hunch is that this could be related to and caused by (yesterday's!) Kubo 0.34.0 release, which via https://github.com/taw00/ipfs-rpm, I seem to now run on. It may also be a coincidence and totally unrelated - but seemed worth pointing out.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High: Likely tackled by core team if no one steps upkind/bugA bug in existing code (including security flaws)need/analysisNeeds further analysis before proceedingneed/maintainer-inputNeeds input from the current maintainer(s)topic/fuseTopic fuse

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions