Created attachment 143423 [details] screenshot of NVMe drive temperature sensor widget SUMMARY The graph of NVMe drive temperature sensors shows wrong temperature while the text shows the correct one (at least something reasonable). STEPS TO REPRODUCE 1. Have NVMe drive with temperature sensor 2. Set up Plasma applet to monitor it 3. Observe difference between graph and text OBSERVED RESULT See attached screenshot of two NVMe drive temperature sensors: The texts say "47,9°C" and "60,9°C", but the only line in the graph is drawn at absolute zero / 0K / -273°C. EXPECTED RESULT If the sensor was reporting buggy data, I would at least expect KDE Plasma to render it consistently in text and graph. SOFTWARE/OS VERSIONS Operating System: Gentoo Linux 2.8 KDE Plasma Version: 5.23.3 KDE Frameworks Version: 5.87.0 Qt Version: 5.15.2 Kernel Version: 5.15.1 (64-bit) Graphics Platform: Wayland Processors: 8 × AMD Ryzen 5 2400G with Radeon Vega Graphics Memory: 13,5 GiB of RAM Graphics Processor: AMD Radeon™ Vega 11 Graphics ADDITIONAL INFORMATION Portage 3.0.28 (python 3.9.8-final-0, default/linux/amd64/17.1/desktop/plasma/systemd, gcc-11.2.0, glibc-2.33-r7, 5.15.1 x86_64) ================================================================= System Settings ================================================================= System uname: Linux-5.15.1-x86_64-AMD_Ryzen_5_2400G_with_Radeon_Vega_Graphics-with-glibc2.33 KiB Mem: 14186384 total, 742112 free KiB Swap: 7092220 total, 6215480 free Timestamp of repository gentoo: Wed, 10 Nov 2021 06:45:01 +0000 Head commit of repository gentoo: 745a5e2a181fbc3b6c4556d209c2913e551ab8fb Timestamp of repository haskell: Tue, 09 Nov 2021 10:53:03 +0000 Head commit of repository haskell: c6d68db0123e1d33e466e7193d4f8809ecf7ef1e Head commit of repository local: 2d87deda70a5e0167d8ba10d68067821a1ce73ae sh bash 5.1_p8 ld GNU ld (Gentoo 2.37_p1 p0) 2.37 ccache version 4.4.2 [disabled] app-shells/bash: 5.1_p8::gentoo dev-java/java-config: 2.3.1::gentoo dev-lang/perl: 5.34.0-r5::gentoo dev-lang/python: 2.7.18_p13::gentoo, 3.9.8::gentoo, 3.10.0_p1::gentoo dev-lang/rust: 1.56.1::gentoo dev-util/ccache: 4.4.2::gentoo dev-util/cmake: 3.21.4::gentoo sys-apps/baselayout: 2.8::gentoo sys-apps/sandbox: 2.29::gentoo sys-devel/autoconf: 2.13-r1::gentoo, 2.71-r1::gentoo sys-devel/automake: 1.13.4-r2::gentoo, 1.16.5::gentoo sys-devel/binutils: 2.37_p1::gentoo sys-devel/gcc: 11.2.0::gentoo sys-devel/gcc-config: 2.4::gentoo sys-devel/libtool: 2.4.6-r6::gentoo sys-devel/make: 4.3::gentoo sys-kernel/linux-headers: 5.14::gentoo (virtual/os-headers) sys-libs/glibc: 2.33-r7::gentoo Repositories: gentoo location: /var/cache/portage/gentoo sync-type: rsync sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage priority: -1000 sync-rsync-verify-metamanifest: yes sync-rsync-extra-opts: --new-compress sync-rsync-verify-max-age: 24 sync-rsync-verify-jobs: 1 haskell location: /var/db/repos/haskell sync-type: git sync-uri: https://github.com/gentoo-mirror/haskell.git masters: gentoo crossdev location: /var/cache/portage/crossdev masters: gentoo priority: 100 local location: /var/cache/portage/local sync-type: git sync-uri: https://github.com/devurandom/gentoo-overlay.git masters: gentoo priority: 1000 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="@FREE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-pipe -O2 -march=znver1" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.8/conf" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-pipe -O2 -march=znver1" DISTDIR="/var/cache/portage/distfiles" EMERGE_DEFAULT_OPTS="--nospinner" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildsyspkg cgroup compressdebug config-protect-if-modified distlocks ebuild-locks fakeroot fixlafiles ipc-sandbox merge-sync mount-sandbox multilib-strict network-sandbox news parallel-fetch parallel-install pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://ftp.fau.de/gentoo http://ftp.halifax.rwth-aachen.de/gentoo/ http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ http://distfiles.gentoo.org" LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j6 -l4" PKGDIR="/var/cache/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_EXTRA_OPTS="--new-compress" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/tmp" USE="7z 7zip X a52 aac aacplus aacs acl acpi activities aio alsa amd64 amr appindicator appstream aptx archive audit avahi avif ayatana bdplus blake2 blas bluetooth bluray bpf branding brotli bs2b btrfs bzip2 cairo caps cdda cddb cdio cdr celt cet chromaprint cjk cli clipboard color-management colord conntrack crypt cups curl d3d9 dav1d dbus declarative device-mapper dirac djvu dmabuf dri drm dts dvb dvd dvdr ed25519 editorconfig egl elf emboss emoji encode epub evdev exif faudio fax fdk ffmpeg fftw filecaps firefox firewalld fish-completion fits flac fontconfig fontforge fortran fribidi gamepad gbm gdal gdbm geoclue geolocation gif git gles2 gles3 gmp gnome-online-accounts gnupg google googledrive gpg gps graphicsmagick gstreamer gtk gtk3 gui gzip harfbuzz hdf5 heif http2 hugepages ibus iconv icu id3tag idn imlib inotify introspection ipv6 iwd jemalloc jpeg jpeg2k json kde kipi kms kwallet lapack latex lcms ldac libatomic libglvnd libidn2 libinput libnotify libproxy libsecret libsoxr libtirpc libvirt lm-sensors lrz lto lv2 lvm lz4 lzma lzo mad magic man mariadb markdown mbim mercurial mjpeg mng mobi modemmanager modplug mp3 mp4 mpeg mplayer mpris mtp multilib mysql ncurses netlink networkmanager nftables nls nptl numa office ofx ogg openal opencl opencv openexr opengl openh264 openmax openmp opus otf pam pango pcap pch pcre pcre2 pdf pgo pipewire pixman pkcs11 pkcs7 plasma pm-utils png policykit postscript ppds prison pulseaudio python qml qrcode qt5 rav1e raw rdp readline rtmp rubberband samba sasl scanner schroedinger screencast sctp sdl sdl2 seatd seccomp semantic-desktop share smartcard snappy sparse speech speex spell spice srt ssl startup-notification steamruntime stemmer svg systemd tbb teamd telemetry telepathy tga theora threads thunderbolt tiff timezone tmux tpm truetype udev udisks uinput unicode unwind upnp upnp-av upower usb utempter v4l v4l2 vaapi vamp vdpau vkd3d vorbis vpx vtk vulkan wasm wavpack wayland webchannel webengine webp widgets wireguard wmf woff2 wps x264 x265 xattr xcb xinerama xkb xml xmp xrandr xscreensaver xv xvid xwayland xxhash xz yaml zeroconf zeromq zimg zlib zstd" ABI_X86="64" ADA_TARGET="gnat_2019" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="joystick libinput" KERNEL="linux" L10N="de de-DE en en-GB ar fa tr ja ko zh zh-CN zh-TW" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="nlpsolver scripting-javascript wiki-publisher" LLVM_TARGETS="AMDGPU BPF RISCV WebAssembly" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1 lua5-4 luajit" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9 pypy pypy3" QEMU_SOFTMMU_TARGETS="riscv32 riscv64 x86_64" QEMU_USER_TARGETS="riscv32 riscv64" RUBY_TARGETS="ruby26 ruby27" USERLAND="GNU" VIDEO_CARDS="amdgpu virgl" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, RUSTFLAGS ================================================================= Package Settings ================================================================= kde-plasma/plasma-systemmonitor-5.23.3::gentoo was built with the following: USE="-debug" ABI_X86="(64)"
P.S. I will need some instructions on what information you will need to debug this.
One interesting thing here is that there's two separate decimal separators in the screenshot, so there seems to be something weird going on, one possibility is that something fails to convert from string to number, uses a default value and then we end up displaying that. It would be helpful if you can share the output of the "sensors" command. Additionally, the output of "localectl" might help.
(In reply to Arjen Hiemstra from comment #2) > One interesting thing here is that there's two separate decimal separators > in the screenshot, so there seems to be something weird going on, one > possibility is that something fails to convert from string to number, uses a > default value and then we end up displaying that. It would be helpful if you > can share the output of the "sensors" command. Additionally, the output of > "localectl" might help. ❯ sensors amdgpu-pci-0a00 Adapter: PCI adapter vddgfx: N/A vddnb: N/A edge: +36.0°C nvme-pci-0900 Adapter: PCI adapter Composite: +44.9°C (low = -273.1°C, high = +83.8°C) (crit = +83.8°C) Sensor 1: +44.9°C (low = -273.1°C, high = +65261.8°C) Sensor 2: +63.9°C (low = -273.1°C, high = +65261.8°C) amdgpu-pci-0100 Adapter: PCI adapter vddgfx: 706.00 mV fan1: 1490 RPM (min = 0 RPM, max = 3500 RPM) edge: +29.0°C (crit = +94.0°C, hyst = -273.1°C) power1: 6.23 W (cap = 48.00 W) k10temp-pci-00c3 Adapter: PCI adapter Tctl: +36.9°C ❯ localectl System Locale: LANG=en_GB.utf8 VC Keymap: n/a X11 Layout: n/a
(In reply to Dennis Schridde from comment #3) > nvme-pci-0900 > Adapter: PCI adapter > Composite: +44.9°C (low = -273.1°C, high = +83.8°C) > (crit = +83.8°C) > Sensor 1: +44.9°C (low = -273.1°C, high = +65261.8°C) > Sensor 2: +63.9°C (low = -273.1°C, high = +65261.8°C) So it seems that the display is actually correct, just that the numbers reported by the sensor are completely bonkers.
Created attachment 143898 [details] screenshot of NVMe drive temperature sensor settings screen I disabled the checkbox at "Automatic Y Data Range" in the "Data Ranges" section of the settings screen. This resolved the issue: The temperature graphs are now displayed in a useful way. I think this is also the only reliable and correct way to handle such situation. Who would I report the wrong min/max values of the NVMe temperature sensor to? Is that something lm-sensors needs to fix, or do I report it to the Linux kernel developers? If so, which one? What KDE Plasma could do: Display a warning in the settings, if the automatically detected range seems unreasonable: If the actual value is visualised at the same pixel height as one of the min/max values from the sensor and/or the range spans thousands of degrees Celsius, that is probably not what the user intended. If there is nothing you can do in this area, I suggest to close this report.
Most likely it's the driver that's reporting those values. And now the different separators make sense, since in the one case they're thousands separators, not decimal. And handling that on the system monitor side would be tricky. While such a range doesn't necessarily make much sense for a temperature graph, other values should be able to have even larger ranges. Using a fixed range is a simpler solution here. So I'll mark this as resolved, since this is an upstream issue.