still mbuf leak in 9.0 / 9.1?
dennis berger
db at bsdsystems.de
Tue May 21 12:40:47 UTC 2013
Hi Jeremy,
thanks for your detailed explanation.
-dennis
Am 18.05.2013 um 17:35 schrieb Jeremy Chadwick:
> On Sat, May 18, 2013 at 12:14:28PM +0200, Ronald Klop wrote:
>> On Fri, 17 May 2013 19:31:01 +0200, Jeremy Chadwick <jdc at koitsu.org> wrote:
>>
>>> On Fri, May 17, 2013 at 11:37:23AM +0200, dennis berger wrote:
>>>> Hi List,
>>>> I can confirm that it is the bug you mentioned steven.
>>>> Here is how I found it.
>>>>
>>>> I recorded hourly zfskern and nfsd stats. like this.
>>>>
>>>> echo "PROCSTAT" >> $reportname
>>>> pgrep -S "(zfskern|nfsd)" | xargs procstat -kk >> $reportname
>>>>
>>>> luckily it crashed this night and logged this.
>>>>
>>>> 1910 101508 nfsd nfsd: service mi_switch+0x186
>>>> sleepq_wait+0x42 _sleep+0x376 arc_lowmem+0x77 kmem_malloc+0xc1
>>>> uma_large_malloc+0x4a malloc+0xd9 arc_get_data_buf+0xb5
>>>> arc_read_nolock+0x1ec arc_read+0x93 dbuf_prefetch+0x12c
>>>> dmu_zfetch_dofetch+0x10b dmu_zfetch+0xaf8 dbuf_read+0x4a7
>>>> dmu_buf_hold_array_by_dnode+0x16b dmu_buf_hold_array+0x67
>>>> dmu_read_uio+0x3f zfs_freebsd_read+0x3e3
>>>>
>>>> Maybe it would be good to merge this fix into RELENG_9_1 and
>>>> distribute a fix via freebsd-update what do you think?
>>>>
>>>> best,
>>>> -dennis
>>>>
>>>>
>>>> Am 16.05.2013 um 11:42 schrieb dennis berger:
>>>>
>>>>> This is indeed a ZFS+NFS system and I can see that istgt and
>>>> nfs are stuck in some ZIO state. Maybe it's this.
>>>>> Thank's for pointing out.
>>>>>
>>>>> Is it this ZFS+NFS deadlock?
>>>>>
>>>>> --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
>>>>> +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
>>>>> @@ -3720,8 +3720,16 @@ arc_lowmem(void *arg __unused, int
>>>> howto __unused)
>>>>> mutex_enter(&arc_reclaim_thr_lock);
>>>>> needfree = 1;
>>>>> cv_signal(&arc_reclaim_thr_cv);
>>>>> - while (needfree)
>>>>> - msleep(&needfree, &arc_reclaim_thr_lock, 0, "zfs:lowmem", 0);
>>>>> +
>>>>> + /*
>>>>> + * It is unsafe to block here in arbitrary threads, because
>>>> we can come
>>>>> + * here from ARC itself and may hold ARC locks and thus risk
>>>> a deadlock
>>>>> + * with ARC reclaim thread.
>>>>> + */
>>>>> + if (curproc == pageproc) {
>>>>> + while (needfree)
>>>>> + msleep(&needfree, &arc_reclaim_thr_lock, 0, "zfs:lowmem", 0);
>>>>> + }
>>>>> mutex_exit(&arc_reclaim_thr_lock);
>>>>> mutex_exit(&arc_lowmem_lock);
>>>>> }
>>>>>
>>>>> I'll try to crash our testsystem. I'll assume that stressing
>>>> NFS backed with ZFS a lot might trigger this bug?
>>>>>
>>>>> -dennis
>>>>>
>>>>>
>>>>> Am 16.05.2013 um 00:03 schrieb Steven Hartland:
>>>>>
>>>>>> ----- Original Message ----- From: "dennis berger" <db at nipsi.de>
>>>>>>> FreeBSD 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243825: Tue Dec
>>>> 4 09:23:10 UTC 2012
>>>>>>>
>>>>>>>> 3. Regarding this:
>>>>>>>>>> A clean shutdown isn't possible though. It hangs after vnode
>>>>>>>>>> cleaning, normally you would see detaching of usb devices
>>>> here, or
>>>>>>>>>> other devices maybe?
>>>>>>>> Please don't conflate this with your above issue. This is almost
>>>>>>>> certainly unrelated. Please start a new thread about that
>>>> if desired.
>>>>>>>
>>>>>>> Maybe this is a misunderstanding normally this system will
>>>> shutdown cleanly, of course.
>>>>>>> This hang only appears after the network problem above.
>>>>>>
>>>>>> If this is a ZFS system, its a known issue which is fixed in current,
>>>>>> stable-9, stable-8 and the upcoming 8.4 release.
>>>>>>
>>>>>> If not and you have USB devices see if the following sysctl helps:
>>>>>> hw.usb.no_shutdown_wait=1
>>>
>>> I'm sorry to say it won't happen. The only updates that the -RELEASE
>>> branches get are for security. If you want fixes for other things, you
>>> need to follow/run stables branches (i.e. stable/9), otherwise you will
>>> need to wait until 9.2-RELEASE comes out.
>>>
>>
>> And errata notices? Are they for security?
>
> Example case:
>
> http://www.freebsd.org/releases/9.1R/errata.html
>
> Only the items in section "Security Advisories" would get actual updates
> pushed out to the 9.1-RELEASE branch (e.g. RELENG_9_1); the items in
> sections "Open Issues" and "Late-breaking News" are purely FYIs. There
> are always hundreds of bugs that never show up in either of those
> sections but are mentioned in the next official versions' Release Notes.
> I can speculate all day and night as to why this is, but it's easier for
> me to just say "that's just the way it is".
>
> For example, compare the "Open Issues" in the 9.0-RELEASE errata to all
> the bugfixes in the 9.1-RELEASE Release Notes (you'll have to go through
> each item by hand and read it):
>
> http://www.freebsd.org/releases/9.0R/errata.html
> http://www.freebsd.org/releases/9.1R/relnotes-detailed.html
>
> ...and you'll see what I mean.
>
> So to recap: when you run a -RELEASE branch, you should only expect
> fixes related to security. For any other problems, you are expected to
> run stable/X (e.g. stable/9) or get to backport the fix yourself.
>
> And because I am certain someone will bring it up: no, the fixes done in
> stable/X cannot necessarily be turned into a patch file for a -RELEASE
> branch. The reason is that there are often other commits to stable/X
> branches which are for things other than bugfixes (i.e.
> re-engineering/refactoring of code, semantics changes, or entire
> portions nuked altogether). Sometimes "backported" patches can be made,
> but it isn't always the case -- it is not always as simple as "the patch
> applied cleanly". ZFS and NFS are two (of many) things which have been
> undergoing constant change.
>
> --
> | Jeremy Chadwick jdc at koitsu.org |
> | UNIX Systems Administrator http://jdc.koitsu.org/ |
> | Mountain View, CA, US |
> | Making life hard for others since 1977. PGP 4BD6C0CB |
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
Dipl.-Inform. (FH)
Dennis Berger
email: db at bsdsystems.de
mobile: +491791231509
fon: +494054001817
More information about the freebsd-stable
mailing list