NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/53884: fs/vfs/t_rmdirrace:lfs_race test case fails randomly on real hardware
The following reply was made to PR kern/53884; it has been noted by GNATS.
From: Andreas Gustafsson <gson%gson.org@localhost>
To: David Holland <dholland-bugs%netbsd.org@localhost>
Cc: gnats-bugs%NetBSD.org@localhost
Subject: Re: kern/53884: fs/vfs/t_rmdirrace:lfs_race test case fails randomly
on real hardware
Date: Fri, 18 Jan 2019 20:01:57 +0200
David Holland wrote:
> So the first thing to check is: is fs->lfs_cleaner_thread some other
> lwp (if so, what, and what's that one doing, and how did the current
> one that asserted get to lfs_bmapv?) or is it trash?
(gdb) print fs->lfs_cleaner_thread
$7 = (struct lwp *) 0x78282b5b0000
(gdb) print *fs->lfs_cleaner_thread
$8 = {l_runq = {tqe_next = 0x0, tqe_prev = 0x0}, l_sched = {info = 0x0, timeslice = 0},
l_cpu = 0x7828394fc9c0 <rump_bootcpu>, l_mutex = 0x7828394fc988 <rumpns_unruntime_lock>,
l_ctxswtch = 0, l_addr = 0x0, l_md = {md_regs = 0x0, md_gc_pmap = 0x0, md_gc_ptp = 0x0,
md_flags = 0, md_astpending = 0}, l_flag = 1048576, l_stat = 2, l_rtime = {sec = 0, frac = 0},
l_stime = {sec = 0, frac = 0}, l_swtime = 0, l_rticks = 0, l_rticksum = 0, l_slpticks = 0,
l_slpticksum = 0, l_biglocks = 0, l_class = 0, l_kpriority = 0, l_kpribase = 0, l_priority = 0,
l_inheritedprio = 0, l_protectprio = 0, l_auxprio = 0, l_protectdepth = 0, l_pi_lenders = {
slh_first = 0x0}, l_ncsw = 5, l_nivcsw = 0, l_cpticks = 0, l_pctcpu = 0, l_estcpu = 0,
l_psid = 0, l_target_cpu = 0x7828394fc9c0 <rump_bootcpu>, l_lwpctl = 0x0, l_lcpage = 0x0,
l_affinity = 0x0, l_ts = 0x0, l_syncobj = 0x0, l_sleepchain = {tqe_next = 0x0, tqe_prev = 0x0},
l_wchan = 0x0, l_wmesg = 0x0, l_sleepq = 0x0, l_sleeperr = 0, l_slptime = 0, l_timeout_ch = {
_c_store = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, l_emap_gen = 0, l_waitcv = {
cv_opaque = {0x0, 0x0, 0x0}}, l_list = {le_next = 0x78283c505000, le_prev = 0x78282b5b09b0},
l_ctxlink = 0x0, l_proc = 0x78283d59bb40, l_sibling = {le_next = 0x78283d598000,
le_prev = 0x78282b5b09d0}, l_waiter = 0, l_waitingfor = 0, l_prflag = 0, l_refcnt = 0,
l_lid = 83289, l_name = 0x0, l_selflag = 0, l_selwait = {slh_first = 0x0}, l_selret = 0,
l_selrec = 0, l_selcluster = 0x0, l_selbits = 0x0, l_selni = 0, l_sigrestore = 0,
l_sigwaitset = {__bits = {0, 0, 0, 0}}, l_sigcv = {cv_opaque = {0x0, 0x0, 0x0}},
l_sigwaited = 0x0, l_sigpendset = 0x0, l_sigwaiter = {le_next = 0x0, le_prev = 0x0}, l_sigstk = {
ss_sp = 0x0, ss_size = 0, ss_flags = 0}, l_sigmask = {__bits = {0, 0, 0, 0}}, l_sigpend = {
sp_info = {tqh_first = 0x0, tqh_last = 0x0}, sp_set = {__bits = {0, 0, 0, 0}}},
l_sigoldmask = {__bits = {0, 0, 0, 0}}, l_specdataref = {specdataref_container = 0x0,
specdataref_lock = {u = {mtxa_owner = 132113907130496}}}, l_ktrcsw = {tv_sec = 0,
tv_nsec = 0}, l_private = 0x0, l_switchto = 0x0, l_cred = 0x78283e948f00,
l_fd = 0x78283d59d9c0, l_emuldata = 0x0, l_cv_signalled = 0, l_shlocks = 0, l_exlocks = 0,
l_unused = 0, l_blcnt = 0, l_nopreempt = 0, l_dopreempt = 0, l_pflag = 0, l_dupfd = 0,
l_sysent = 0x0, l_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}, l_pfailtime = 0, l_pfailaddr = 0,
l_pfaillock = 0, l_ld_locks = {tqh_first = 0x0, tqh_last = 0x78282b5b03f8}, l_tcgen = 0,
l_syscall_time = 0, l_syscall_counter = 0x0, l_dtrace = 0x0}
I have so far been unable to figure out how to print the value that
curlwp refers to, because curlwp is a macro that expands into a
function call that disappears into a maze of #ifdefs.
--
Andreas Gustafsson, gson%gson.org@localhost
Home |
Main Index |
Thread Index |
Old Index