Comment 44 for bug 1784665

v4.13 shows the same search_free stack as 4.14, but doesn't appear to be fatal (it doesn't result in a hung process nor a block device that cannot be wiped.

I suspect we've got a new upstream issue since 4.20 didn't fix things. Re-running 4.20 to see if we had a stack trace, we don't NULL pointer oops, but there is a stuck worker queue:

[ 242.887966] kworker/0:47 D 0 2165 2 0x80000000
[ 242.888014] Workqueue: events cache_set_flush [bcache]
[ 242.888027] Call Trace:
[ 242.888084] __schedule+0x2a2/0x880
[ 242.888097] ? __switch_to+0xfc/0x4f0
[ 242.888105] schedule+0x2c/0x80
[ 242.888113] schedule_timeout+0x246/0x350
[ 242.888122] wait_for_completion+0xb7/0x140
[ 242.888141] ? wake_up_q+0x80/0x80
[ 242.888151] kthread_stop+0x49/0x110
[ 242.888176] cache_set_flush+0xdb/0x190 [bcache]
[ 242.888186] process_one_work+0x20f/0x410
[ 242.888194] worker_thread+0x34/0x400
[ 242.888202] kthread+0x120/0x140
[ 242.888209] ? process_one_work+0x410/0x410
[ 242.888216] ? kthread_park+0x90/0x90
[ 242.888236] ret_from_fork+0x35/0x40
[ 242.888435] INFO: task bcache_allocato:9015 blocked for more than 120 seconds.
[ 242.893786] Not tainted 4.20.0-042000rc3-generic #201811182231
[ 242.896669] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 242.900428] bcache_allocato D 0 9015 2 0x80000000
[ 242.900434] Call Trace:
[ 242.900448] __schedule+0x2a2/0x880
[ 242.900455] ? __schedule+0x2aa/0x880
[ 242.900462] schedule+0x2c/0x80
[ 242.900480] bch_bucket_alloc+0x19d/0x380 [bcache]
[ 242.900503] ? wait_woken+0x80/0x80
[ 242.900519] bch_prio_write+0x190/0x340 [bcache]
[ 242.900530] bch_allocator_thread+0x482/0xd10 [bcache]
[ 242.900535] kthread+0x120/0x140
[ 242.900546] ? bch_invalidate_one_bucket+0x80/0x80 [bcache]
[ 242.900549] ? kthread_park+0x90/0x90
[ 242.900554] ret_from_fork+0x35/0x40