------- Comment From dougm...@us.ibm.com 2018-04-22 11:43 EDT-------
I think the fact that two threads are in qlt_free_session_done() for the same 
fcport at the same time is definitely a problem. I'm not sure how two different 
kworker pools could contain the same work item. If the same work item got put 
on two pools, that would effectively merge the two pool lists at that point 
(the item's next pointer would point to the remainder of the list for the last 
pool the item was added to). This would mean that two kworker threads would end 
up working the same list at the same time, leading to something like what we 
see. But, the work item that crashes might not be the one that was erroneously 
added to both pools (although it is probably likely).

This scenario might explain the strange condition of the pool pointers
and work item. It appears that the offending work_struct has had
INIT_WORK() run on it, but the pool still has it on the worklist. The
only place I see INIT_WORK() run on the free_work item is from
qlt_unreg_sess(), but this is the predecessor to qlt_free_session_done()
being run, and should not ordinarily happen on the same CPU/thread.
Still, the INIT_WORK() immediately precedes schedule_work() so the work
item should only exist in this condition for a short time - unless
something preempts the code or another CPU/thread races in and crashes
before it can complete. Are there any tasks (in the dumps) that are
running in qlt_unreg_sess()?

It's looking as if some locking malfunction or memory corruption (which
could cause lock malfunction) is happening here.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1762844

Title:
  ISST-LTE:KVM:Ubuntu1804:BostonLC:boslcp3: Host crashed & enters into
  xmon after moving to 4.15.0-15.16 kernel

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-power-systems/+bug/1762844/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to