You are not logged in.

#1 2020-10-02 18:10:45

plattfot
Member
Registered: 2012-09-15
Posts: 16

Odd traces in dmesg when using i2c_dev

Hi,

I'm using i2c_dev and ddcutil to control the brightness of my two Asus VG289Q (28" 4k@60Hz). But I'm seeing these traces in dmesg when I unload the i2c_dev module

[ 9758.543538] WARNING: CPU: 12 PID: 11252 at drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/gpio_base.c:66 dal_gpio_open_ex+0x1b/0x30 [amdgpu]
[ 9758.543539] Modules linked in: i2c_dev rfcomm rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd grace sunrpc fscache fuse uinput cmac algif_hash algif_skcipher af_alg xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_reject_ipv4 xt_tcpudp ip6table_mangle ip6table_nat iptable_mangle iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ebtable_filter ebtables ip6table_filter ip6_tables iptable_filter tun bridge stp llc nct6775 mousedev bnep hwmon_vid btusb btrtl btbcm btintel bluetooth uvcvideo videobuf2_vmalloc ecdh_generic ecc videobuf2_memops videobuf2_v4l2 videobuf2_common hid_logitech_hidpp hid_steam videodev input_leds joydev hid_logitech_dj amdgpu snd_hda_codec_realtek iwlmvm ext4 snd_hda_codec_generic ledtrig_audio edac_mce_amd snd_hda_codec_hdmi mac80211 crc16 kvm_amd nls_iso8859_1 snd_hda_intel mbcache jbd2 snd_usb_audio libarc4 nls_cp437 snd_intel_dspcfg gpu_sched vfat fat iwlwifi snd_hda_codec ttm snd_usbmidi_lib kvm snd_rawmidi snd_hda_core snd_seq_device
[ 9758.543577]  hid_generic mc snd_hwdep wmi_bmof mxm_wmi cfg80211 drm_kms_helper irqbypass snd_pcm crct10dif_pclmul crc32_pclmul igb cec ghash_clmulni_intel snd_timer aesni_intel rc_core snd crypto_simd ccp i2c_algo_bit syscopyarea cryptd usbhid sp5100_tco sysfillrect glue_helper sysimgblt pcspkr fb_sys_fops soundcore k10temp i2c_piix4 dca rng_core rapl hid rfkill wmi pinctrl_amd gpio_amdpt evdev mac_hid acpi_cpufreq drm crypto_user agpgart ip_tables x_tables btrfs blake2b_generic libcrc32c crc32c_generic xor raid6_pq crc32c_intel xhci_pci xhci_pci_renesas xhci_hcd [last unloaded: i2c_dev]
[ 9758.543610] CPU: 12 PID: 11252 Comm: ddcutil Tainted: G        W         5.8.10-arch1-1 #1
[ 9758.543611] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./X370 Taichi, BIOS P6.20 01/03/2020
[ 9758.543781] RIP: 0010:dal_gpio_open_ex+0x1b/0x30 [amdgpu]
[ 9758.543785] Code: 00 c3 0f 0b b8 06 00 00 00 c3 0f 1f 44 00 00 0f 1f 44 00 00 48 83 7f 08 00 75 0f 48 83 7f 18 00 74 10 89 77 20 e9 e5 07 00 00 <0f> 0b b8 05 00 00 00 c3 0f 0b b8 06 00 00 00 c3 0f 1f 44 00 00 0f
[ 9758.543787] RSP: 0018:ffffb6b242cc3c48 EFLAGS: 00010282
[ 9758.543791] RAX: 0000000000000000 RBX: ffff99a92ca504a0 RCX: 0000000000000000
[ 9758.543793] RDX: 0000000000000000 RSI: 0000000000000003 RDI: ffff99a9315096c0
[ 9758.543795] RBP: 0000000000000003 R08: 0000000000000001 R09: 0000000000000000
[ 9758.543797] R10: 0000000000000008 R11: 0000000000000000 R12: ffffb6b242cc3d2c
[ 9758.543799] R13: 0000000000000000 R14: ffffb6b242cc3db8 R15: 00000000fffffff0
[ 9758.543803] FS:  00007ff2aec49480(0000) GS:ffff99a94eb00000(0000) knlGS:0000000000000000
[ 9758.543805] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 9758.543807] CR2: 000055b24fb98538 CR3: 0000000287070000 CR4: 00000000003406e0
[ 9758.543809] Call Trace:
[ 9758.543981]  dal_ddc_open+0x3f/0xf0 [amdgpu]
[ 9758.544156]  dce_aux_transfer_raw+0xbd/0xa70 [amdgpu]
[ 9758.544161]  ? prep_new_page+0x8a/0xb0
[ 9758.544338]  dm_dp_aux_transfer+0xbc/0x120 [amdgpu]
[ 9758.544371]  drm_dp_i2c_do_msg+0x83/0x280 [drm_kms_helper]
[ 9758.544386]  drm_dp_i2c_xfer+0xca/0x280 [drm_kms_helper]
[ 9758.544392]  ? __seccomp_filter+0xb3/0x740
[ 9758.544397]  __i2c_transfer+0x121/0x570
[ 9758.544401]  i2c_transfer+0x4c/0x100
[ 9758.544405]  i2c_transfer_buffer_flags+0x53/0x80
[ 9758.544411]  i2cdev_write+0x50/0x90 [i2c_dev]
[ 9758.544419]  vfs_write+0xc7/0x1f0
[ 9758.544423]  ksys_write+0x67/0xe0
[ 9758.544428]  do_syscall_64+0x44/0x70
[ 9758.544432]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[ 9758.544436] RIP: 0033:0x7ff2aef77f67
[ 9758.544440] Code: 0d 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 48 89 54 24 18 48 89 74 24
[ 9758.544443] RSP: 002b:00007fff180cecf8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
[ 9758.544446] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007ff2aef77f67
[ 9758.544448] RDX: 0000000000000001 RSI: 00007fff180ced27 RDI: 0000000000000003
[ 9758.544451] RBP: 000055b24fb74b40 R08: 000055b24fb976e0 R09: 00007ff2af049a60
[ 9758.544453] R10: 00007fff181d7080 R11: 0000000000000246 R12: 0000000000000003
[ 9758.544455] R13: 000055b24fb74b40 R14: 163a3e3de263c4bc R15: 0000000000000000
[ 9758.544462] ---[ end trace 0b2bf9809aecf14c ]---

Anyone knows what they are? Is it just a warning about my kernel being tainted?

Running kernel 5.8.10-arch1-1 on a Ryzen 1700 with a Radeon RX 5700XT using mesa-20.1.8-1

Thanks

Offline

#2 2020-10-02 19:23:08

Zod
Member
From: Hoosiertucky
Registered: 2019-03-10
Posts: 629

Re: Odd traces in dmesg when using i2c_dev

$ coredumpctl list

Last edited by Zod (2020-10-02 19:23:25)

Offline

#3 2020-10-02 19:42:53

plattfot
Member
Registered: 2012-09-15
Posts: 16

Re: Odd traces in dmesg when using i2c_dev

$ coredumpctl list
TIME                            PID   UID   GID SIG COREFILE  EXE
Thu 2020-07-09 10:04:25 PDT    7666  1000  1000  11 missing   /opt/zoom/zoom
Fri 2020-07-10 17:38:46 PDT   67609   968   968   4 missing   /tmp/guix-build-rust-1.22.1.drv-0/rustc-1.22.1-src/build/x86_64-unknown-linux-gnu/test/run-pass/backtrace.stage2-x86_64-unknown-linux-gnu
Fri 2020-07-10 17:38:46 PDT   67615   968   968   4 missing   /tmp/guix-build-rust-1.22.1.drv-0/rustc-1.22.1-src/build/x86_64-unknown-linux-gnu/test/run-pass/backtrace.stage2-x86_64-unknown-linux-gnu
Fri 2020-07-10 17:45:03 PDT   99077   968   968   6 missing   /tmp/guix-build-rust-1.22.1.drv-0/rustc-1.22.1-src/build/x86_64-unknown-linux-gnu/test/run-pass/issue-24313.stage2-x86_64-unknown-linux-gnu
Fri 2020-07-10 17:50:31 PDT  124243   968   968   6 missing   /tmp/guix-build-rust-1.22.1.drv-0/rustc-1.22.1-src/build/x86_64-unknown-linux-gnu/test/run-pass/panic-runtime/abort-link-to-unwinding-crates.stage2-x86_64-unknown-linux-gnu
Fri 2020-07-10 17:50:32 PDT  124284   968   968   6 missing   /tmp/guix-build-rust-1.22.1.drv-0/rustc-1.22.1-src/build/x86_64-unknown-linux-gnu/test/run-pass/panic-runtime/abort.stage2-x86_64-unknown-linux-gnu
Fri 2020-07-10 17:50:35 PDT  124380   968   968   6 missing   /tmp/guix-build-rust-1.22.1.drv-0/rustc-1.22.1-src/build/x86_64-unknown-linux-gnu/test/run-pass/panic-runtime/lto-abort.stage2-x86_64-unknown-linux-gnu
Fri 2020-07-10 17:51:47 PDT  129236   968   968   6 missing   /tmp/guix-build-rust-1.22.1.drv-0/rustc-1.22.1-src/build/x86_64-unknown-linux-gnu/test/run-pass/running-with-no-runtime.stage2-x86_64-unknown-linux-gnu
Fri 2020-07-10 17:51:49 PDT  129331   968   968  11 missing   /tmp/guix-build-rust-1.22.1.drv-0/rustc-1.22.1-src/build/x86_64-unknown-linux-gnu/test/run-pass/segfault-no-out-of-stack.stage2-x86_64-unknown-linux-gnu
Fri 2020-07-10 17:52:09 PDT  130404   968   968  11 missing   /tmp/guix-build-rust-1.22.1.drv-0/rustc-1.22.1-src/build/x86_64-unknown-linux-gnu/test/run-pass/signal-exit-status.stage2-x86_64-unknown-linux-gnu
Sat 2020-07-11 16:18:23 PDT    5633   968   968   6 missing   /gnu/store/93f1zzkxhajb9qd7rgn6gwxm0fwsarb8-emacs-telega-0.6.0-0.ae09592/bin/telega-server
Sat 2020-07-11 16:18:24 PDT    5639   968   968   6 missing   /gnu/store/93f1zzkxhajb9qd7rgn6gwxm0fwsarb8-emacs-telega-0.6.0-0.ae09592/bin/telega-server
Fri 2020-07-17 10:31:24 PDT    1740  1000  1000  11 missing   /usr/bin/swaylock
Wed 2020-07-29 20:09:33 PDT   59508  1000  1000  11 missing   /usr/bin/clangd
Wed 2020-07-29 20:09:34 PDT   60197  1000  1000  11 missing   /usr/bin/clangd
Sun 2020-08-02 17:03:15 PDT    5688  1000  1000  11 missing   /usr/lib/gimp/2.0/plug-ins/gmic_gimp_qt
Mon 2020-08-10 13:44:06 PDT   31974  1000  1000  11 missing   /usr/bin/swaylock
Mon 2020-08-10 13:51:19 PDT   32365  1000  1000  11 missing   /usr/bin/swaylock
Sat 2020-08-15 16:39:46 PDT    6317   968   968   6 missing   /gnu/store/c535sgqrwq56zrqz733i3b9pzs5gp3pj-emacs-telega-0.6.28-0.e539967/bin/telega-server
Sat 2020-08-15 16:39:47 PDT    6337   968   968   6 missing   /gnu/store/c535sgqrwq56zrqz733i3b9pzs5gp3pj-emacs-telega-0.6.28-0.e539967/bin/telega-server
Wed 2020-08-19 18:35:57 PDT   28929  1000  1000  11 missing   /opt/spotify/spotify
Wed 2020-08-19 21:57:13 PDT    1190  1000  1000  11 missing   /opt/spotify/spotify
Sat 2020-08-22 13:55:24 PDT   15932  1000  1000  11 missing   /usr/bin/polybar
Sun 2020-08-23 12:21:38 PDT    1147  1000  1000   6 missing   /usr/bin/Xwayland
Sun 2020-08-23 12:21:39 PDT    1229  1000  1000  11 missing   /gnu/store/8z8wnqjy9frxpvpg7jzlj5v77yy20fhn-emacs-next-27.0.91-0.c36c5a3/bin/.emacs-27.0.91-real
Mon 2020-08-24 21:45:03 PDT   69842  1000  1000   6 missing   /usr/bin/swaylock
Thu 2020-08-27 15:13:54 PDT   28978  1000  1000  11 missing   /usr/bin/lxappearance
Thu 2020-08-27 15:14:02 PDT   29062  1000  1000  11 missing   /usr/bin/lxappearance
Tue 2020-09-08 09:13:01 PDT    1436  1000  1000   5 missing   /usr/lib/firefox/firefox
Thu 2020-09-10 12:01:27 PDT    2762  1000  1000  11 missing   /gnu/store/8z8wnqjy9frxpvpg7jzlj5v77yy20fhn-emacs-next-27.0.91-0.c36c5a3/bin/.emacs-27.0.91-real
Tue 2020-09-15 13:43:07 PDT   27631  1000  1000  11 missing   /usr/bin/swaylock
Tue 2020-09-15 14:28:05 PDT    4448  1000  1000   6 missing   /gnu/store/8z8wnqjy9frxpvpg7jzlj5v77yy20fhn-emacs-next-27.0.91-0.c36c5a3/bin/.emacs-27.0.91-real
Thu 2020-09-17 19:28:30 PDT   49509  1000  1000   6 missing   /usr/bin/swaylock
Fri 2020-09-18 09:06:57 PDT     958  1000  1000  11 missing   /usr/bin/sway
Fri 2020-09-18 09:06:59 PDT    1212  1000  1000   6 missing   /gnu/store/8z8wnqjy9frxpvpg7jzlj5v77yy20fhn-emacs-next-27.0.91-0.c36c5a3/bin/.emacs-27.0.91-real
Sat 2020-09-19 11:15:32 PDT    5844  1000  1000  11 missing   /usr/bin/sway
Sat 2020-09-19 11:15:34 PDT    6337  1000  1000   6 missing   /opt/spotify/spotify
Sat 2020-09-19 11:34:08 PDT    8647  1000  1000  11 missing   /gnu/store/8z8wnqjy9frxpvpg7jzlj5v77yy20fhn-emacs-next-27.0.91-0.c36c5a3/bin/.emacs-27.0.91-real
Sat 2020-09-19 16:43:04 PDT   25302  1000  1000  11 missing   /usr/bin/swaylock
Sun 2020-09-20 19:58:42 PDT    4109   968   968   6 missing   /gnu/store/l475gh7b7p6db827h8pghxmhbzj2i350-emacs-telega-0.6.28-0.e539967/bin/telega-server
Sun 2020-09-20 19:58:43 PDT    4129   968   968   6 missing   /gnu/store/l475gh7b7p6db827h8pghxmhbzj2i350-emacs-telega-0.6.28-0.e539967/bin/telega-server
Mon 2020-09-21 20:17:53 PDT   73376  1000  1000   5 missing   /usr/lib/firefox/firefox
Mon 2020-09-21 20:28:49 PDT   79331  1000  1000  11 missing   /usr/bin/swaylock
Tue 2020-09-22 19:28:32 PDT   49129  1000  1000  11 missing   /usr/bin/swaylock
Wed 2020-09-23 09:08:59 PDT  145247  1000  1000  11 missing   /home/plattfot/work/swdevl/meson/b 2c44ca238a/main
Wed 2020-09-23 09:09:01 PDT  145275  1000  1000  11 missing   /home/plattfot/work/swdevl/meson/b a2b9741439/main
Thu 2020-09-24 20:18:39 PDT     918  1000  1000  11 missing   /usr/bin/sway
Thu 2020-09-24 20:18:41 PDT   47777  1000  1000   6 missing   /gnu/store/8z8wnqjy9frxpvpg7jzlj5v77yy20fhn-emacs-next-27.0.91-0.c36c5a3/bin/.emacs-27.0.91-real
Thu 2020-09-24 20:18:42 PDT    3579  1000  1000   6 missing   /gnu/store/8z8wnqjy9frxpvpg7jzlj5v77yy20fhn-emacs-next-27.0.91-0.c36c5a3/bin/.emacs-27.0.91-real
Thu 2020-09-24 20:18:42 PDT    3595  1000  1000   6 missing   /opt/spotify/spotify
Sat 2020-09-26 17:34:43 PDT   20055  1000  1000   5 missing   /usr/lib/firefox/firefox
Sun 2020-09-27 11:38:42 PDT    2947  1000  1000  11 missing   /usr/bin/sway
Mon 2020-09-28 18:05:34 PDT    1748  1000  1000  11 missing   /usr/bin/urxvt

Offline

#4 2020-10-02 20:29:53

Zod
Member
From: Hoosiertucky
Registered: 2019-03-10
Posts: 629

Re: Odd traces in dmesg when using i2c_dev

Not an expert.

I think ddcutils is causing a segfault but it's not dumping core.

Edit: If that's possible?

Edit1: Of course it's possible, have you disabled coredumps?

Last edited by Zod (2020-10-02 20:45:16)

Offline

#5 2020-10-02 21:25:16

loqs
Member
Registered: 2014-03-06
Posts: 17,321

Re: Odd traces in dmesg when using i2c_dev

Why would a kernel warning generate a segfault or a coredump?

Offline

#6 2020-10-02 21:32:53

seth
Member
Registered: 2012-09-03
Posts: 51,029

Re: Odd traces in dmesg when using i2c_dev

Looks like https://github.com/rockowitz/ddcutil/issues/86 - do you also have a ddcutil zombie?

Offline

#7 2020-10-02 21:33:28

Zod
Member
From: Hoosiertucky
Registered: 2019-03-10
Posts: 629

Re: Odd traces in dmesg when using i2c_dev

loqs wrote:

Why would a kernel warning generate a segfault or a coredump?

So I'm not looking at a segfault?

Offline

#8 2020-10-02 21:39:33

seth
Member
Registered: 2012-09-03
Posts: 51,029

Re: Odd traces in dmesg when using i2c_dev

It's a kernel stacktrace and while you'll often see stack traces for segfaults, this one's printed as a "WARNING" (it says so at the beginning)
Also if the amdgpu module had crashed, you'd kinda notice that beyond some dmesg entries ;-)

Also I'm not even sure wheter you can make kernel cordumps go to systemd/coredumpctl (it's typically userspace related)

Offline

#9 2020-10-02 21:49:23

loqs
Member
Registered: 2014-03-06
Posts: 17,321

Re: Odd traces in dmesg when using i2c_dev

ASSERT_CRITICAL from
https://git.kernel.org/pub/scm/linux/ke … 5.8.13#n66
As CONFIG_KGDB is not defined in the Arch kernel packages ASSERT_CRICAL is
https://git.kernel.org/pub/scm/linux/ke … .8.13#n100
Where WARN_ON produces a backtrace if the condition is met.
Edit:
Beaten by seth.

Last edited by loqs (2020-10-02 21:50:15)

Offline

#10 2020-10-02 21:54:28

Zod
Member
From: Hoosiertucky
Registered: 2019-03-10
Posts: 629

Re: Odd traces in dmesg when using i2c_dev

Yeah.."a warning is not an error"...got it (again).

Edit: and this warning is from the kernel and only userspace segfaults result in a coredump?

Last edited by Zod (2020-10-02 21:58:18)

Offline

#11 2020-10-02 22:17:25

seth
Member
Registered: 2012-09-03
Posts: 51,029

Re: Odd traces in dmesg when using i2c_dev

only userspace segfaults result in a coredump

Yes.


Whether you can somehow get coredumpctl to manage kernel module crashes or general OOPSies, I couldn't figure yet (but probably not - it's not the same thing)

Offline

#12 2020-10-02 22:28:21

plattfot
Member
Registered: 2012-09-15
Posts: 16

Re: Odd traces in dmesg when using i2c_dev

seth wrote:

Looks like https://github.com/rockowitz/ddcutil/issues/86 - do you also have a ddcutil zombie?

No zombies from what I can tell, but I am launching multiple ddcutil commands. Here's my script for changing the brightness for my monitors

#! /bin/bash
read -rd '' help <<EOF
Usage: $0 --bus ID [OPTIONS...]

Change brightness for monitor

Options:
-b, --bus ID            Specify what i2c bus the monitor is using.
-S, --set VALUE         Set brightness to VALUE
-A, --increase VALUE    Increase brightness by VALUE
-D, --decrease VALUE    Decrease brightness by VALUE

-h, --help              Print this help and then exit.
EOF

function error {
    echo "[ERROR] $1" 1>&2
    exit 1
}

if ! _args=$(getopt --name "brightness " --options "b:A:D:S:h" --long "bus:,increase:,decrease:,set:,help" -- "$@")
then
    error "Try '$0 --help for more information.'"
fi

eval set -- "$_args"

# Parse options
while [[ $# -gt 0 ]]
do
key=$1
case $key in
    -b|--bus)
        buses+=("$2")
        shift 2
        ;;
    -S|--set)
        brightness="$2"
        shift 2
        ;;
    -A|--increase)
        value="$2"
        shift 2
        ;;
    -D|--decrease)
        value="-$2"
        shift 2
        ;;

    -h|--help)
        echo -e "$help"
        exit 0
        ;;
    --)
        shift
        break
        ;;
esac
done

function update-brightness
{
    if [[ -z "$brightness" ]]
    then
        declare -al data
        local fetch_current="current value[[:blank:]]+=[[:blank:]]+([[:digit:]]+)"
        local fetch_max="max value[[:blank:]]+=[[:blank:]]+([[:digit:]]+)"
        mapfile -t data < <(ddcutil --bus="$bus" getvcp 10 |
                                sed -En "s/.*$fetch_current,[[:blank:]]+$fetch_max/\1\n\2/p")

        local brightness="${data[0]}"
        local max_value="${data[1]}"

        (( brightness += value ))
        (( brightness = brightness < 0 ? 0 : brightness ))
        (( brightness = brightness > max_value ? max_value : brightness ))
    fi

    ddcutil --bus="$bus" setvcp 10 "$brightness"
}

for bus in "${buses[@]}"
do
    update-brightness "$bus"&
done

wait

I've now changed it to run serially. Will see if that changes anything.

seth wrote:

Also if the amdgpu module had crashed, you'd kinda notice that beyond some dmesg entries ;-)

Yeah, I've had my fare share of amdgpu crashes since I bought my 5700xt (roughly one every week up until a few weeks ago). And those traces looks different from this.

Offline

Board footer

Powered by FluxBB