One more thing to add to this, when working with another bpf filter which is relatively similar to this simple one (although has some more innocuous looking code like map lookups and read-only operations on the skb) sometimes the attached is suddenly and repeatedly sent to both syslog and kern.log until the disk fills up...
Aug 12 09:57:25 ubuntu kernel: [ 2408.152975] WARNING: CPU: 3 PID: 2304 at /home/a/src/sch_cake/sch_cake.c:2094 cake_dequeue+0x791/0xc70 [sch_cake] Aug 12 09:57:25 ubuntu kernel: [ 2408.152975] Modules linked in: sch_cake(OE) nf_conntrack cls_bpf algif_hash af_alg binfmt_misc vmw_balloon btusb btrtl btbcm btintel bluetooth uvcvideo joydev input_leds videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core videodev media ecdh_generic intel_rapl_perf snd_ens1371 serio_raw snd_ac97_codec gameport snd_rawmidi snd_seq_device ac97_bus snd_pcm snd_timer snd soundcore shpchp mac_hid sch_fq_codel ib_iser rdma_cm iw_cm ib_cm ib_core iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi vmw_vsock_vmci_transport vsock vmw_vmci ip_tables x_tables autofs4 btrfs zstd_compress raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 multipath linear hid_generic usbhid hid crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc aesni_intel Aug 12 09:57:25 ubuntu kernel: [ 2408.152997] aes_x86_64 crypto_simd glue_helper cryptd vmwgfx ttm psmouse drm_kms_helper syscopyarea sysfillrect sysimgblt e1000 fb_sys_fops ahci mptspi drm mptscsih libahci mptbase scsi_transport_spi i2c_piix4 pata_acpi Aug 12 09:57:25 ubuntu kernel: [ 2408.153004] CPU: 3 PID: 2304 Comm: sshd Tainted: G W OE 4.15.0-30-generic #32-Ubuntu Aug 12 09:57:25 ubuntu kernel: [ 2408.153004] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 05/19/2017 Aug 12 09:57:25 ubuntu kernel: [ 2408.153006] RIP: 0010:cake_dequeue+0x791/0xc70 [sch_cake] Aug 12 09:57:25 ubuntu kernel: [ 2408.153006] RSP: 0018:ffffadf9c11df8a0 EFLAGS: 00010282 Aug 12 09:57:25 ubuntu kernel: [ 2408.153007] RAX: 000000000000fffd RBX: ffff94c0747331b0 RCX: 000000000000fffd Aug 12 09:57:25 ubuntu kernel: [ 2408.153008] RDX: 0000000000000000 RSI: 000000000000fffd RDI: ffff94c1796df9b0 Aug 12 09:57:25 ubuntu kernel: [ 2408.153008] RBP: ffffadf9c11df8f8 R08: 0000000054bc4e6d R09: 0000000000000000 Aug 12 09:57:25 ubuntu kernel: [ 2408.153009] R10: 0000000000000000 R11: 0000000000000001 R12: 00000227839cc5b1 Aug 12 09:57:25 ubuntu kernel: [ 2408.153009] R13: ffff94c0747331c0 R14: ffff94c1718b0000 R15: 0000000000000000 Aug 12 09:57:25 ubuntu kernel: [ 2408.153010] FS: 00007faa37446900(0000) GS:ffff94c1796c0000(0000) knlGS:0000000000000000 Aug 12 09:57:25 ubuntu kernel: [ 2408.153011] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 Aug 12 09:57:25 ubuntu kernel: [ 2408.153012] CR2: 00007fff85e71058 CR3: 00000000b1436002 CR4: 00000000000606e0 Aug 12 09:57:25 ubuntu kernel: [ 2408.153015] Call Trace: Aug 12 09:57:25 ubuntu kernel: [ 2408.153016] __qdisc_run+0x61/0x320 Aug 12 09:57:25 ubuntu kernel: [ 2408.153018] __dev_queue_xmit+0x2ab/0x7d0 Aug 12 09:57:25 ubuntu kernel: [ 2408.153019] dev_queue_xmit+0x10/0x20 Aug 12 09:57:25 ubuntu kernel: [ 2408.153021] ? dev_queue_xmit+0x10/0x20 Aug 12 09:57:25 ubuntu kernel: [ 2408.153022] ip_finish_output2+0x263/0x3c0 Aug 12 09:57:25 ubuntu kernel: [ 2408.153024] ip_finish_output+0x198/0x260 Aug 12 09:57:25 ubuntu kernel: [ 2408.153025] ? ip_finish_output+0x198/0x260 Aug 12 09:57:25 ubuntu kernel: [ 2408.153027] ip_output+0x70/0xe0 Aug 12 09:57:25 ubuntu kernel: [ 2408.153028] ip_local_out+0x3b/0x50 Aug 12 09:57:25 ubuntu kernel: [ 2408.153030] ip_queue_xmit+0x160/0x3e0 Aug 12 09:57:25 ubuntu kernel: [ 2408.153031] ? memcg_kmem_charge+0x7e/0xe0 Aug 12 09:57:25 ubuntu kernel: [ 2408.153033] tcp_transmit_skb+0x56a/0xa70 Aug 12 09:57:25 ubuntu kernel: [ 2408.153034] tcp_write_xmit+0x1c7/0xf40 Aug 12 09:57:25 ubuntu kernel: [ 2408.153036] ? __alloc_skb+0x9b/0x1e0 Aug 12 09:57:25 ubuntu kernel: [ 2408.153037] __tcp_push_pending_frames+0x35/0xd0 Aug 12 09:57:25 ubuntu kernel: [ 2408.153038] tcp_push+0xe4/0x110 Aug 12 09:57:25 ubuntu kernel: [ 2408.153039] tcp_sendmsg_locked+0xb6e/0xe70 Aug 12 09:57:25 ubuntu kernel: [ 2408.153041] tcp_sendmsg+0x2c/0x50 Aug 12 09:57:25 ubuntu kernel: [ 2408.153042] inet_sendmsg+0x2e/0xb0 Aug 12 09:57:25 ubuntu kernel: [ 2408.153043] sock_sendmsg+0x3e/0x50 Aug 12 09:57:25 ubuntu kernel: [ 2408.153045] sock_write_iter+0x8c/0xf0 Aug 12 09:57:25 ubuntu kernel: [ 2408.153046] new_sync_write+0xe7/0x140 Aug 12 09:57:25 ubuntu kernel: [ 2408.153048] __vfs_write+0x29/0x40 Aug 12 09:57:25 ubuntu kernel: [ 2408.153050] vfs_write+0xb1/0x1a0 Aug 12 09:57:25 ubuntu kernel: [ 2408.153051] SyS_write+0x55/0xc0 Aug 12 09:57:25 ubuntu kernel: [ 2408.153052] do_syscall_64+0x73/0x130 Aug 12 09:57:25 ubuntu kernel: [ 2408.153054] entry_SYSCALL_64_after_hwframe+0x3d/0xa2 Aug 12 09:57:25 ubuntu kernel: [ 2408.153054] RIP: 0033:0x7faa352a9154 Aug 12 09:57:25 ubuntu kernel: [ 2408.153055] RSP: 002b:00007fff85e75188 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 Aug 12 09:57:25 ubuntu kernel: [ 2408.153056] RAX: ffffffffffffffda RBX: 000000000000006c RCX: 00007faa352a9154 Aug 12 09:57:25 ubuntu kernel: [ 2408.153056] RDX: 000000000000006c RSI: 000055a21c87a290 RDI: 0000000000000003 Aug 12 09:57:25 ubuntu kernel: [ 2408.153057] RBP: 000055a21c87d560 R08: 0000000000000000 R09: 0000000000000100 Aug 12 09:57:25 ubuntu kernel: [ 2408.153057] R10: 00007fff85e75100 R11: 0000000000000246 R12: 0000000000000000 Aug 12 09:57:25 ubuntu kernel: [ 2408.153058] R13: 000055a21c866ad0 R14: 0000000000000003 R15: 00007fff85e7520f Aug 12 09:57:25 ubuntu kernel: [ 2408.153059] Code: ff 80 fa 06 75 1b 48 63 55 a8 0f b7 c8 48 8d 14 52 0f b7 b4 93 0a 68 01 00 66 39 c6 0f 43 ce 89 c8 66 3d 00 04 0f 86 70 fb ff ff <0f> 0b 41 8b 7d 10 85 ff 0f 8f 6e fb ff ff 0f b7 c0 44 0f b7 bb Aug 12 09:57:25 ubuntu kernel: [ 2408.153079] ---[ end trace 9274605666353433 ]---
> On Aug 12, 2018, at 10:17 AM, Pete Heist <[email protected]> wrote: > > I’m seeing a panic (or infinite loop, not sure) when using Cake (not fq_codel > or sfq) with a simple bpf filter that just sets skb->tc_classid to a fixed > value. I haven’t investigated further yet, but since I’m away from the > computer more these days I thought it better to post what I have so far in > case someone wants to look at it. > > The attached contains the code and setup script I’m using and a README.txt > with instructions on how to reproduce it and some more notes. Be prepared > that it’s something I’m doing wrong. :) However, I also probably shouldn’t be > able to cause this to happen this easily either, regardless of where the > actual issue is... > > Pete > <simple-bpf.tgz>
_______________________________________________ Cake mailing list [email protected] https://lists.bufferbloat.net/listinfo/cake
