MauriceNino / dashdot

A simple, modern server dashboard, primarily used by smaller private servers
https://getdashdot.com/
MIT License
2.53k stars 95 forks source link

[Bug] Uncaught TypeError: Cannot read properties of undefined (reading 'grow') #1035

Closed nzxl101 closed 6 months ago

nzxl101 commented 6 months ago

Description of the bug

Blank page

How to reproduce

Relevant log output

Uncaught TypeError: Cannot read properties of undefined (reading 'grow')
    at main-widget-container.tsx:181:37
    at Array.map (<anonymous>)
    at MainWidgetContainer (main-widget-container.tsx:173:31)
    at Xh (react-dom.production.min.js:167:137)
    at dj (react-dom.production.min.js:197:258)
    at Wk (react-dom.production.min.js:292:88)
    at Vk (react-dom.production.min.js:280:389)
    at Uk (react-dom.production.min.js:280:320)
    at Jk (react-dom.production.min.js:280:180)
    at Ok (react-dom.production.min.js:271:88)

Info output of dashdot cli

nzxl@roland ~
❯ docker exec dashdot yarn cli info
INFO
=========
Yarn: 3.7.0
Node: v20.11.0
Dash: 5.8.3

Cwd: /app
Hash: f7ac2728b89a6c75502c9c736c46a94ff386889b
Platform: Linux roland 6.1.49-1-lts #1 SMP PREEMPT_DYNAMIC Mon, 28 Aug 2023 05:23:25 +0000 x86_64 Linux
Docker image: base
In Docker: true
In Docker (env): true
In Podman: false

What browsers are you seeing the problem on?

Chrome

Where is your instance running?

Linux Server

Additional context

No response

MauriceNino commented 6 months ago
added DASHDOT_WIDGET_LIST env

Would be interesting what the value is? Can you please share your logs (frontend and backend) as well as your config?

nzxl101 commented 6 months ago

docker-compose

  dashdot:
    privileged: true
    container_name: dashdot
    network_mode: "service:gluetun"
    environment:
      - DASHDOT_ACCEPT_OOKLA_EULA=true
      - DASHDOT_USE_NETWORK_INTERFACE=/dev/net/tun
      - DASHDOT_ENABLE_CPU_TEMPS=true
      - DASHDOT_ALWAYS_SHOW_PERCENTAGES=true
      - DASHDOT_OVERRIDE_RAM_BRAND=Crucial
      - DASHDOT_OVERRIDE_NETWORK_INTERFACE_SPEED=1000
      - DASHDOT_FS_DEVICE_FILTER=sdc
      - DASHDOT_OVERRIDE_STORAGE_SIZES=sdd=2147483648000
      - DASHDOT_WIDGET_LIST="os,cpu,storage,ram,network,gpu"
      # Timezone/user
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
      - NVIDIA_DRIVER_CAPABILITIES=all
      - NVIDIA_VISIBLE_DEVICES=all
    volumes:
      - /:/mnt/host:ro
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]
    restart: unless-stopped
    image: mauricenino/dashdot:nvidia

Frontend log

websocket.js:43 WebSocket connection to 'wss://roland-dashdot.nzxl.space/socket.io/?EIO=4&transport=websocket&sid=1bjhz0GsRfqTxOvFAABT' failed: 
doOpen @ websocket.js:43
open @ transport.js:46
probe @ socket.js:289
onOpen @ socket.js:308
onHandshake @ socket.js:363
onPacket @ socket.js:327
Emitter.emit @ index.mjs:136
onPacket @ transport.js:98
gt @ polling.js:116
onData @ polling.js:119
Emitter.emit @ index.mjs:136
onLoad @ polling.js:352
vt.onreadystatechange @ polling.js:288
Show 13 more frames
Show less
react-dom.production.min.js:189 TypeError: Cannot read properties of undefined (reading 'grow')
    at main-widget-container.tsx:181:37
    at Array.map (<anonymous>)
    at MainWidgetContainer (main-widget-container.tsx:173:31)
    at Xh (react-dom.production.min.js:167:137)
    at dj (react-dom.production.min.js:197:258)
    at Wk (react-dom.production.min.js:292:88)
    at Vk (react-dom.production.min.js:280:389)
    at Uk (react-dom.production.min.js:280:320)
    at Jk (react-dom.production.min.js:280:180)
    at Ok (react-dom.production.min.js:271:88)
Mi @ react-dom.production.min.js:189
Oi.gt.callback @ react-dom.production.min.js:189
ih @ react-dom.production.min.js:144
lk @ react-dom.production.min.js:262
jk @ react-dom.production.min.js:260
ik @ react-dom.production.min.js:259
Xk @ react-dom.production.min.js:283
Qk @ react-dom.production.min.js:281
Hk @ react-dom.production.min.js:269
zt @ scheduler.production.min.js:13
Vt @ scheduler.production.min.js:14
Show 11 more frames
Show less
main-widget-container.tsx:181 Uncaught TypeError: Cannot read properties of undefined (reading 'grow')
    at main-widget-container.tsx:181:37
    at Array.map (<anonymous>)
    at MainWidgetContainer (main-widget-container.tsx:173:31)
    at Xh (react-dom.production.min.js:167:137)
    at dj (react-dom.production.min.js:197:258)
    at Wk (react-dom.production.min.js:292:88)
    at Vk (react-dom.production.min.js:280:389)
    at Uk (react-dom.production.min.js:280:320)
    at Jk (react-dom.production.min.js:280:180)
    at Ok (react-dom.production.min.js:271:88)
(anonymous) @ main-widget-container.tsx:181
MainWidgetContainer @ main-widget-container.tsx:173
Xh @ react-dom.production.min.js:167
dj @ react-dom.production.min.js:197
Wk @ react-dom.production.min.js:292
Vk @ react-dom.production.min.js:280
Uk @ react-dom.production.min.js:280
Jk @ react-dom.production.min.js:280
Ok @ react-dom.production.min.js:271
Hk @ react-dom.production.min.js:268
zt @ scheduler.production.min.js:13
Vt @ scheduler.production.min.js:14
Show 10 more frames
Show less

Docker log

nzxl@roland /mnt/ssd/docker
❯ docker logs dashdot
listening on *:3001
Network interface "/dev/net/tun" not successfully mounted
Using default network interface with no modifications
Using host os version from "/mnt/host/etc/os-release"
Static Server Info: {
  os: {
    arch: '',
    distro: '',
    kernel: '',
    platform: '',
    release: '',
    uptime: 37756.45,
    dash_buildhash: '',
    dash_version: ''
  },
  cpu: {
    brand: 'AMD',
    model: 'Ryzen 5 2600',
    cores: 6,
    ecores: 0,
    pcores: 6,
    threads: 12,
    frequency: 3.4
  },
  ram: {
    size: 33597755392,
    layout: [
      { brand: 'Unknown', type: 'DDR4', frequency: 2667 },
      { brand: 'Unknown', type: 'DDR4', frequency: 2667 },
      { brand: 'Unknown', type: 'DDR4', frequency: 2667 },
      { brand: 'Unknown', type: 'DDR4', frequency: 2667 }
    ]
  },
  storage: [
    {
      size: 1024209543168,
      disks: [ { device: 'sda', brand: 'ATA', type: 'SSD' } ]
    },
    {
      size: 120034123776,
      disks: [ { device: 'sdb', brand: 'ATA', type: 'SSD' } ]
    },
    {
      size: 1000204886016,
      disks: [ { device: 'sdd', brand: 'Toshiba', type: 'HD' } ]
    }
  ],
  network: {
    interfaceSpeed: null,
    speedDown: 0,
    speedUp: 0,
    lastSpeedTest: 0,
    type: 'Unknown',
    publicIp: ''
  },
  gpu: { layout: [] },
  config: {
    port: 3001,
    running_in_docker: true,
    accept_ookla_eula: true,
    use_network_interface: '/dev/net/tun',
    speed_test_from_path: undefined,
    fs_device_filter: [ 'sdc' ],
    fs_type_filter: [
      'cifs',
      '9p',
      'fuse.rclone',
      'fuse.mergerfs',
      'nfs4',
      'iso9660',
      'fuse.shfs',
      'autofs'
    ],
    fs_virtual_mounts: [],
    disable_integrations: false,
    show_dash_version: 'icon_hover',
    show_host: false,
    custom_host: undefined,
    page_title: 'dash.',
    use_imperial: false,
    network_speed_as_bytes: false,
    always_show_percentages: true,
    enable_cpu_temps: true,
    cpu_temps_mode: 'avg',
    widget_list: [ '"os', 'cpu', 'storage', 'ram', 'network', 'gpu"' ],
    os_label_list: [ 'os', 'arch', 'up_since' ],
    cpu_label_list: [ 'brand', 'model', 'cores', 'threads', 'frequency' ],
    storage_label_list: [ 'brand', 'type', 'size', 'raid' ],
    ram_label_list: [ 'brand', 'type', 'size', 'frequency' ],
    network_label_list: [ 'type', 'speed_up', 'speed_down', 'interface_speed' ],
    gpu_label_list: [ 'brand', 'model', 'memory' ],
    os_widget_grow: 2.5,
    os_widget_min_width: 300,
    cpu_widget_grow: 4,
    cpu_widget_min_width: 500,
    cpu_shown_datapoints: 20,
    cpu_poll_interval: 1000,
    cpu_cores_toggle_mode: 'toggle',
    storage_widget_items_per_page: 3,
    storage_widget_grow: 3.5,
    storage_widget_min_width: 500,
    storage_poll_interval: 60000,
    ram_widget_grow: 4,
    ram_widget_min_width: 500,
    ram_shown_datapoints: 20,
    ram_poll_interval: 1000,
    speed_test_interval: 240,
    speed_test_interval_cron: undefined,
    network_widget_grow: 6,
    network_widget_min_width: 500,
    network_shown_datapoints: 20,
    network_poll_interval: 1000,
    gpu_widget_grow: 6,
    gpu_widget_min_width: 700,
    gpu_shown_datapoints: 20,
    gpu_poll_interval: 1000,
    override: {
      os: undefined,
      arch: undefined,
      cpu_brand: undefined,
      cpu_model: undefined,
      cpu_cores: undefined,
      cpu_threads: undefined,
      cpu_frequency: undefined,
      ram_brand: 'Crucial',
      ram_size: undefined,
      ram_type: undefined,
      ram_frequency: undefined,
      network_type: undefined,
      network_speed_up: undefined,
      network_speed_down: undefined,
      network_interface_speed: 1000,
      network_public_ip: undefined,
      storage_brands: {},
      storage_sizes: { sdd: 2147483648000 },
      storage_types: {},
      gpu_brands: [],
      gpu_models: [],
      gpu_memories: []
    }
  }
}
Running speed-test (this may take a few minutes)...
First measurement [Network]: { up: null, down: null }
First measurement [Storage]: [ 309345214464, 70325223424, 1330771357696 ]
First measurement [RAM]: 12386979840
First measurement [CPU]: [
  { load: 20.61572783224589, temp: 35.5, core: 0 },
  { load: 16.91575179278227, temp: 35.5, core: 1 },
  { load: 17.455607139867826, temp: 35.5, core: 2 },
  { load: 16.27165591927345, temp: 35.5, core: 3 },
  { load: 17.049140989339996, temp: 35.5, core: 4 },
  { load: 17.6821254950882, temp: 35.5, core: 5 },
  { load: 19.065663412206643, temp: 35.5, core: 6 },
  { load: 19.246846085002478, temp: 35.5, core: 7 },
  { load: 14.40624074056246, temp: 35.5, core: 8 },
  { load: 18.027585028474093, temp: 35.5, core: 9 },
  { load: 19.65047679616907, temp: 35.5, core: 10 },
  { load: 19.01494457249947, temp: 35.5, core: 11 }
]
Speed-test completed successfully [ookla] { speedDown: 237052376, speedUp: 40705480, publicIp: undefined }
MauriceNino commented 6 months ago

Does it run when you disable the GPU container? It does not seem to recognize your GPU in the container.

nzxl101 commented 6 months ago

Does it run when you disable the GPU container? It does not seem to recognize your GPU in the container.

Seems to be a different issue on my side.

I've tested every tag from 5.2 to latest and every time I added the DASHDOT_WIDGET_LIST env to the compose, the UI stopped working. However I can still poll data from the /info endpoint without any issues. (https://roland-dashdot.nzxl.space/info)

edit: nvm. It was the quotation marks around the value of the env, after removing it started working