Bug 203321 - 11-CURRENT uninterruptible sleep in wineserver process
Summary: 11-CURRENT uninterruptible sleep in wineserver process
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-bugs mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-09-24 23:56 UTC by Tony Narlock
Modified: 2015-09-25 00:04 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tony Narlock 2015-09-24 23:56:56 UTC
Possibly related or duplicate of bug #201528. This is on 11-CURRENT, and the state / conditions are slightly different.

This is after playing a game, GTX 980. Steam says open in the background and I let it sit over a long time.

The steam screen was corrupted. Did wineserver -k as a user. I went into htop and nailed out other steam related processes individually. As well as a wineserver -k and sudo wineserver -k for good measure.  Then I xkill the corrupt steam window.

Corrupted window is usually recovered by resizing (redrawing), but I let this one untouched for a long time.

wineserver can't be killed.

# freebsd-version -ku; uname -apKU  
11.0-CURRENT
11.0-CURRENT
FreeBSD z600 11.0-CURRENT FreeBSD 11.0-CURRENT #17: Tue Sep 22 20:25:01 CDT 2015     root@z600:/usr/obj/usr/src/sys/MYKERNEL  amd64 amd64 1100079 1100079

# pkg info i386-wine-staging
i386-wine-staging-1.7.51,1
Name           : i386-wine-staging
Version        : 1.7.51,1
Installed on   : Wed Sep 16 18:09:37 CDT 2015
Origin         : emulators/i386-wine-staging
Architecture   : freebsd:11:x86:64
Prefix         : /usr/local
Categories     : emulators
Licenses       : LGPL3 or LGPL21
Maintainer     : dbn@FreeBSD.org
WWW            : http://www.winehq.org/
Comment        : 32bit Wine built with the Staging patchset for 64bit FreeBSD
Options        :
        GECKO          : off
        MONO           : off

# procstat -k 16336
  PID    TID COMM             TDNAME           KSTACK                       
16336 101640 wineserver       -                mi_switch sleepq_timedwait_sig _sleep kqueue_kevent kern_kevent freebsd32_kevent ia32_syscall Xint0x80_syscall
 
# procstat -kk 16336                                                                                                                                         
                                                                                                
  PID    TID COMM             TDNAME           KSTACK                       
16336 101640 wineserver       -                mi_switch+0xde sleepq_timedwait_sig+0x8e _sleep+0x2ae kqueue_kevent+0x336 kern_kevent+0xb5 freebsd32_kevent+0x
6b ia32_syscall+0x50a Xint0x80_syscall+0x95 
# ps -Ao pid,paddr | grep 16336
16336 fffff80046252a90
#  ps  -o user,pid,ppid,pending,caught,ignored,blocked,stat,wchan 16336
USER   PID PPID PENDING CAUGHT  IGNORED BLOCKED STAT WCHAN
tony 16336    1   40102  86027 19409000       0 Ds   -

(kgdb) p *(struct proc *)0xfffff80046252a90
$1 = {p_list = {le_next = 0xfffff8008d900a90, le_prev = 0xfffff800467ef548}, p_threads = {tqh_first = 0xfffff8004647e4d0, tqh_last = 0xfffff8004647e4e0}, p_slock = {lock_object = {lo_name = 0xffffffff8144063f "process slock", lo_flags = 537067520, 
      lo_data = 0, lo_witness = 0x0}, mtx_lock = 4}, p_ucred = 0xfffff8003cf59e00, p_fd = 0xfffff800467f7450, p_fdtol = 0x0, p_stats = 0xfffff80046255c00, p_limit = 0xfffff8008d69f900, p_limco = {c_links = {le = {le_next = 0x0, le_prev = 0x0}, sle = {
        sle_next = 0x0}, tqe = {tqe_next = 0x0, tqe_prev = 0x0}}, c_time = 0, c_precision = 0, c_arg = 0x0, c_func = 0, c_lock = 0xfffff80046252bb0, c_flags = 0, c_iflags = 0, c_cpu = 0}, p_sigacts = 0xfffff8014f042000, p_flag = 268435457, 
  p_flag2 = 0, p_state = PRS_NORMAL, p_pid = 16336, p_hash = {le_next = 0x0, le_prev = 0xfffffe0000d68e80}, p_pglist = {le_next = 0x0, le_prev = 0xfffff801be766690}, p_pptr = 0xfffff80005baf548, p_sibling = {le_next = 0xfffff8008d900a90, 
    le_prev = 0xfffff800462c3b78}, p_children = {lh_first = 0x0}, p_reaper = 0xfffff80005baf548, p_reaplist = {lh_first = 0x0}, p_reapsibling = {le_next = 0xfffff8008d900a90, le_prev = 0xfffff800467ef658}, p_mtx = {lock_object = {
      lo_name = 0xffffffff81440632 "process lock", lo_flags = 558039040, lo_data = 0, lo_witness = 0x0}, mtx_lock = 4}, p_statmtx = {lock_object = {lo_name = 0xffffffff8144064d "pstatl", lo_flags = 537067520, lo_data = 0, lo_witness = 0x0}, 
    mtx_lock = 4}, p_itimmtx = {lock_object = {lo_name = 0xffffffff81440654 "pitiml", lo_flags = 537067520, lo_data = 0, lo_witness = 0x0}, mtx_lock = 4}, p_profmtx = {lock_object = {lo_name = 0xffffffff8144065b "pprofl", lo_flags = 537067520, 
      lo_data = 0, lo_witness = 0x0}, mtx_lock = 4}, p_ksi = 0xfffff800462717e0, p_sigqueue = {sq_signals = {__bits = 0xfffff80046252c38}, sq_kill = {__bits = 0xfffff80046252c48}, sq_list = {tqh_first = 0xfffff802b48479a0, 
      tqh_last = 0xfffff802b48474d0}, sq_proc = 0xfffff80046252a90, sq_flags = 1}, p_oppid = 0, p_vmspace = 0xfffff80046aec000, p_swtick = 2211774882, p_cowgen = 0, p_realtimer = {it_interval = {tv_sec = 0, tv_usec = 0}, it_value = {tv_sec = 0, 
      tv_usec = 0}}, p_ru = {ru_utime = {tv_sec = 0, tv_usec = 0}, ru_stime = {tv_sec = 0, tv_usec = 0}, ru_maxrss = 0, ru_ixrss = 0, ru_idrss = 0, ru_isrss = 0, ru_minflt = 0, ru_majflt = 0, ru_nswap = 0, ru_inblock = 0, ru_oublock = 0, 
    ru_msgsnd = 0, ru_msgrcv = 0, ru_nsignals = 0, ru_nvcsw = 0, ru_nivcsw = 0}, p_rux = {rux_runtime = 4482527454153, rux_uticks = 55601, rux_sticks = 150284, rux_iticks = 0, rux_uu = 455082407, rux_su = 1230042705, rux_tu = 1685125113}, p_crux = {
    rux_runtime = 0, rux_uticks = 0, rux_sticks = 0, rux_iticks = 0, rux_uu = 0, rux_su = 0, rux_tu = 0}, p_profthreads = 0, p_exitthreads = 0, p_traceflag = 0, p_tracevp = 0x0, p_tracecred = 0x0, p_textvp = 0xfffff80027ca5588, p_lock = 0, 
  p_sigiolst = {slh_first = 0x0}, p_sigparent = 20, p_sig = 0, p_code = 0, p_stops = 0, p_stype = 0, p_step = 0 '\0', p_pfsflags = 0 '\0', p_nlminfo = 0x0, p_aioinfo = 0x0, p_singlethread = 0x0, p_suspcount = 0, p_xthread = 0x0, p_boundary_count = 0, 
  p_pendingcnt = 2, p_itimers = 0x0, p_procdesc = 0x0, p_treeflag = 0, p_magic = 3203398350, p_osrel = 1100079, p_comm = 0xfffff80046252e54 "wineserver", p_pgrp = 0xfffff801be766680, p_sysent = 0xffffffff819789f0, p_args = 0xfffff8004694f340, 
  p_cpulimit = 9223372036854775807, p_nice = 0 '\0', p_fibnum = 0, p_reapsubtree = 3175, p_xexit = 0, p_xsig = 0, p_klist = {kl_list = {slh_first = 0x0}, kl_lock = 0xffffffff80a5b140 <knlist_mtx_lock>, 
    kl_unlock = 0xffffffff80a5b1a0 <knlist_mtx_unlock>, kl_assert_locked = 0xffffffff80a5b210 <knlist_mtx_assert_locked>, kl_assert_unlocked = 0xffffffff80a5b220 <knlist_mtx_assert_unlocked>, kl_lockarg = 0xfffff80046252bb0}, p_numthreads = 1, p_md = {
    md_ldt = 0x0, md_ldt_sd = {sd_lolimit = 0, sd_lobase = 0, sd_type = 0, sd_dpl = 0, sd_p = 0, sd_hilimit = 0, sd_xx0 = 0, sd_gran = 0, sd_hibase = 0, sd_xx1 = 0, sd_mbz = 0, sd_xx2 = 0}}, p_itcallout = {c_links = {le = {le_next = 0x0, 
        le_prev = 0xfffffe0000d30f50}, sle = {sle_next = 0x0}, tqe = {tqe_next = 0x0, tqe_prev = 0xfffffe0000d30f50}}, c_time = 347582754164047, c_precision = 805306368, c_arg = 0xfffff80046252a90, c_func = 0xffffffff80abf770 <realitexpire>, 
    c_lock = 0xfffff80046252bb0, c_flags = 0, c_iflags = 0, c_cpu = 0}, p_acflag = 1, p_peers = 0x0, p_leader = 0xfffff80046252a90, p_emuldata = 0x0, p_label = 0x0, p_sched = 0xfffff80046252fd8, p_ktr = {stqh_first = 0x0, 
    stqh_last = 0xfffff80046252f60}, p_mqnotifier = {lh_first = 0x0}, p_dtrace = 0xfffff8016a708c00, p_pwait = {cv_description = 0xffffffff814410e8 "ppwait", cv_waiters = 0}, p_dbgwait = {cv_description = 0xffffffff814410ef "dbgwait", cv_waiters = 0}, 
  p_prev_runtime = 0, p_racct = 0x0, p_throttled = 0 '\0', p_vm_dom_policy = {seq = 2, p = {policy = VM_POLICY_NONE, domain = -1}}, p_orphan = {le_next = 0x0, le_prev = 0x0}, p_orphans = {lh_first = 0x0}}
(kgdb) p/x *(((struct proc *)0xfffff80046252a90)->p_threads.tqh_first)                                                                                                                                                                                       
$2 = {td_lock = 0xffffffff81b8b480, td_proc = 0xfffff80046252a90, td_plist = {tqe_next = 0x0, tqe_prev = 0xfffff80046252aa0}, td_runq = {tqe_next = 0x0, tqe_prev = 0xffffffff81b8b708}, td_slpq = {tqe_next = 0x0, tqe_prev = 0xfffff800463d4e80}, 
  td_lockq = {tqe_next = 0x0, tqe_prev = 0xfffffe0351f76858}, td_hash = {le_next = 0x0, le_prev = 0xfffffe0000d79840}, td_cpuset = 0xfffff80005b94000, td_sel = 0xfffff8003c84a500, td_sleepqueue = 0xfffff800463d4e80, td_turnstile = 0xfffff8003c6bc900, 
  td_rlqe = 0xfffff80046c95410, td_umtxq = 0xfffff80046460a00, td_vm_dom_policy = {seq = 0x0, p = {policy = 0x0, domain = 0xffffffff}}, td_tid = 0x18d08, td_sigqueue = {sq_signals = {__bits = 0xfffff8004647e570}, sq_kill = {
      __bits = 0xfffff8004647e580}, sq_list = {tqh_first = 0x0, tqh_last = 0xfffff8004647e590}, sq_proc = 0xfffff80046252a90, sq_flags = 0x1}, td_lend_user_pri = 0xff, td_flags = 0x20814, td_inhibitors = 0x2, td_pflags = 0x0, td_dupfd = 0x0, 
  td_sqqueue = 0x0, td_wchan = 0x0, td_wmesg = 0x0, td_lastcpu = 0x12, td_oncpu = 0xffffffff, td_owepreempt = 0x0, td_tsqueue = 0x0, td_locks = 0x0, td_rw_rlocks = 0x0, td_lk_slocks = 0x0, td_stopsched = 0x0, td_blocked = 0x0, td_lockname = 0x0, 
  td_contested = {lh_first = 0x0}, td_sleeplocks = 0x0, td_intr_nesting_level = 0x0, td_pinned = 0x0, td_ucred = 0xfffff8003cf59e00, td_limit = 0xfffff8008d69f900, td_estcpu = 0x0, td_slptick = 0x0, td_blktick = 0x0, td_swvoltick = 0x850f95d4, 
  td_cow = 0x8b, td_ru = {ru_utime = {tv_sec = 0x0, tv_usec = 0x0}, ru_stime = {tv_sec = 0x0, tv_usec = 0x0}, ru_maxrss = 0x1de8, ru_ixrss = 0x4b65b80, ru_idrss = 0x3ed4c4, ru_isrss = 0x3243300, ru_minflt = 0x148672, ru_majflt = 0x0, ru_nswap = 0x0, 
    ru_inblock = 0x30e7, ru_oublock = 0x8e6, ru_msgsnd = 0x1398f, ru_msgrcv = 0x3ef2, ru_nsignals = 0x7, ru_nvcsw = 0x74b75a6, ru_nivcsw = 0x6eee}, td_rux = {rux_runtime = 0x413ab74e3c9, rux_uticks = 0xd931, rux_sticks = 0x24b0c, rux_iticks = 0x0, 
    rux_uu = 0x1b2001a7, rux_su = 0x4950f651, rux_tu = 0x6470f7f9}, td_incruntime = 0x0, td_runtime = 0x413ab74e3c9, td_pticks = 0x0, td_sticks = 0x0, td_iticks = 0x0, td_uticks = 0x0, td_intrval = 0x0, td_oldsigmask = {__bits = 0xfffff8004647e72c}, 
  td_generation = 0x74be494, td_sigstk = {ss_sp = 0x0, ss_size = 0x0, ss_flags = 0x4}, td_xsig = 0x0, td_profil_addr = 0x0, td_profil_ticks = 0x0, td_name = 0xfffff8004647e76c, td_fpop = 0x0, td_dbgflags = 0x0, td_dbgksi = {ksi_link = {tqe_next = 0x0, 
      tqe_prev = 0x0}, ksi_info = {si_signo = 0x0, si_errno = 0x0, si_code = 0x0, si_pid = 0x0, si_uid = 0x0, si_status = 0x0, si_addr = 0x0, si_value = {sival_int = 0x0, sival_ptr = 0x0, sigval_int = 0x0, sigval_ptr = 0x0}, _reason = {_fault = {
          _trapno = 0x0}, _timer = {_timerid = 0x0, _overrun = 0x0}, _mesgq = {_mqd = 0x0}, _poll = {_band = 0x0}, __spare__ = {__spare1__ = 0x0, __spare2__ = 0xfffff8004647e7d0}}}, ksi_flags = 0x0, ksi_sigq = 0x0}, td_ng_outbound = 0x0, td_osd = {
    osd_nslots = 0x1, osd_slots = 0xfffff801db2a7390, osd_next = {le_next = 0xfffff800460e3cd8, le_prev = 0xfffff80069831ce8}}, td_map_def_user = 0x0, td_dbg_forked = 0x0, td_vp_reserv = 0x0, td_no_sleeping = 0x0, td_dom_rr_idx = 0x0, td_su = 0x0, 
  td_dbg_sc_code = 0x0, td_dbg_sc_narg = 0x0, td_sigmask = {__bits = 0xfffff8004647e850}, td_rqindex = 0x1e, td_base_pri = 0x78, td_priority = 0x78, td_pri_class = 0x3, td_user_pri = 0x79, td_base_user_pri = 0x79, td_pcb = 0xfffffe0351a40cc0, 
  td_state = 0x1, td_uretoff = {tdu_retval = 0xfffff8004647e878, tdu_off = 0x0}, td_cowgen = 0x0, td_slpcallout = {c_links = {le = {le_next = 0x0, le_prev = 0xfffffe0000f1e738}, sle = {sle_next = 0x0}, tqe = {tqe_next = 0x0, 
        tqe_prev = 0xfffffe0000f1e738}}, c_time = 0x14dfee712d710, c_precision = 0x3126e9, c_arg = 0xfffff8004647e4d0, c_func = 0xffffffff80afa620, c_lock = 0x0, c_flags = 0x0, c_iflags = 0x110, c_cpu = 0x6}, td_frame = 0xfffffe0351a40c00, 
  td_kstack_obj = 0xfffff8015d134400, td_kstack = 0xfffffe0351a3d000, td_kstack_pages = 0x4, td_critnest = 0x1, td_md = {md_spinlock_count = 0x1, md_saved_flags = 0x200246, md_spurflt_addr = 0x0}, td_sched = 0xfffff8004647e970, td_ar = 0x0, 
  td_lprof = 0xfffff8004647e918, td_dtrace = 0xfffff80046451200, td_errno = 0x0, td_vnet = 0x0, td_vnet_lpush = 0x0, td_intr_frame = 0x0, td_rfppwait_p = 0xfffff8006a080548, td_ma = 0x0, td_ma_cnt = 0x0, td_emuldata = 0x0}
Comment 1 Tony Narlock 2015-09-25 00:04:13 UTC
Any other useful command I could run while I have this open to make this more useful?

I'm going to keep my system on as long as I can. Unfortunately I can't open new steam clients so this blocks my ability to game.

In https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=201528 one thing that also mentioned is dissembling kern_kevent.  Where did the +1025 come from in that context?