<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Cloudron `/system/filesystems` fails with LUKS device alias]]></title><description><![CDATA[<p dir="auto">The Cloudron dashboard does not show disk usage (not in v10.0.2 nor earlier versions for at least a year). The request to:</p>
<pre><code class="language-text">/api/v1/system/filesystems
</code></pre>
<p dir="auto">returns:</p>
<pre><code class="language-json">{
  "status": "Internal Server Error",
  "message": "Cannot read properties of undefined (reading 'contents')"
}
</code></pre>
<h3>Environment</h3>
<ul>
<li>Cloudron: <strong>10.0.2</strong></li>
<li>Ubuntu: <strong>24.04.2 LTS</strong></li>
<li>Kernel: <strong>6.8.0-111-generic</strong></li>
<li>Hosting: <strong>Hetzner</strong></li>
<li>Storage layout: <strong>NVMe → mdadm RAID1 → LUKS → ext4</strong></li>
</ul>
<p dir="auto">The root filesystem itself is healthy and reports usage correctly:</p>
<pre><code class="language-text">Filesystem                                            Type     1B-blocks          Used        Avail Use% Mounted on
/dev/mapper/luks-a7030049-5aad-45e0-915c-3073a14fb4ac ext4 1883388502016 1367907303424 419734818816  77% /
</code></pre>
<h3>Box error</h3>
<p dir="auto">The Box log contains:</p>
<pre><code class="language-text">shell: df: df -B1 --output=source,fstype,size,used,avail,pcent,target
shell: df: df -B1 --output=source,fstype,size,used,avail,pcent,target /home/yellowtent/platformdata

{
  path: '/api/v1/system/filesystems',
  status: 500,
  error: HttpError: Cannot read properties of undefined (reading 'contents')
      at getFilesystems (file:///home/yellowtent/box/src/routes/system.js:153:28) {
    status: 500,
    internalError: TypeError: Cannot read properties of undefined (reading 'contents')
        at Object.getFilesystems (file:///home/yellowtent/box/src/system.js:112:42),
    details: null
  }
}
</code></pre>
<p dir="auto">The relevant code in <code>/home/yellowtent/box/src/system.js</code> is:</p>
<pre><code class="language-js">for (const stdPath of standardPaths) {
    const [dfPathError, diskInfo] = await safe(df.file(stdPath.path));
    if (dfPathError) throw new BoxError(BoxError.FS_ERROR, `Error getting std path: ${dfPathError.message}`);
    filesystems[diskInfo.filesystem].contents.push(stdPath);
}
</code></pre>
<h3>Apparent cause</h3>
<p dir="auto">The two <code>df</code> invocations identify the same root device using different names.</p>
<p dir="auto">An unqualified <code>df</code> reports:</p>
<pre><code class="language-text">/dev/dm-0  ext4  ...  /
</code></pre>
<p dir="auto">A path-specific <code>df</code> reports:</p>
<pre><code class="language-text">/dev/mapper/luks-a7030049-5aad-45e0-915c-3073a14fb4ac  ext4  ...  /
</code></pre>
<p dir="auto">These are aliases for the same device:</p>
<pre><code class="language-text">/dev/mapper/luks-a7030049-5aad-45e0-915c-3073a14fb4ac → /dev/dm-0
</code></pre>
<p dir="auto">It appears that Cloudron initially indexes <code>filesystems</code> using the literal source returned by the unqualified <code>df</code>:</p>
<pre><code class="language-js">filesystems[dfEntry.filesystem] = ...
</code></pre>
<p dir="auto">It then looks up the path-specific result using the other device alias:</p>
<pre><code class="language-js">filesystems[diskInfo.filesystem].contents.push(stdPath);
</code></pre>
<p dir="auto">As a result, <code>filesystems[diskInfo.filesystem]</code> is undefined and the API throws while accessing <code>.contents</code>.</p>
<p dir="auto">It may be necessary to normalize device paths before using them as keys, or fall back to matching by mountpoint/device identity.</p>
<p dir="auto">Has anyone else encountered this with an mdadm + LUKS root filesystem? Is a fix planned for an upcoming Cloudron release?</p>
]]></description><link>https://forum.cloudron.io/topic/15879/cloudron-system-filesystems-fails-with-luks-device-alias</link><generator>RSS for Node</generator><lastBuildDate>Fri, 04 Sep 2026 11:09:06 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/15879.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 30 Aug 2026 23:36:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Cloudron `/system/filesystems` fails with LUKS device alias on Tue, 01 Sep 2026 16:26:00 GMT]]></title><description><![CDATA[<p dir="auto">Seems like a valid bug, we can take a look after Cloudron 10.0 . Logged it at <a href="https://git.cloudron.io/platform/box/-/work_items/906" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.cloudron.io/platform/box/-/work_items/906</a></p>
]]></description><link>https://forum.cloudron.io/post/128823</link><guid isPermaLink="true">https://forum.cloudron.io/post/128823</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Tue, 01 Sep 2026 16:26:00 GMT</pubDate></item></channel></rss>