Re: Vinum Spielereien

From: Greg 'groggy' Lehey <grog(at)freebsd.org>
Date: Wed, 11 Feb 2004 15:03:45 +1030

On Tuesday, 3 February 2004 at 14:25:31 +0100, Lukas Ertl wrote:
> On Sat, 31 Jan 2004, Greg 'groggy' Lehey wrote:
>
>> On Friday, 30 January 2004 at 23:14:37 +0100, Oliver Lehmann wrote:
>>>
>>> (da4:sym0:0:3:0): lost device
>>> (da4:sym0:0:3:0): Invalidating pack
>>> vinum: lvmr5.p0.s3 is crashed by force
>>> vinum: lvmr5.p0 is degraded
>>> malloc() of "16" with the following non-sleepable locks held:
>>
>> Hmm. Das müssen wir beseitigen, ist hier aber nicht das Problem.
>
> JFTR:
>
> das hier gibt zumindest mit einem WITNESS-Kernel eine schöne Panic:
> ...
> #8 0xc04f7a21 in witness_warn (flags=5, lock=0x0,
> fmt=0xc064eb56 "malloc() of \"%s\"")
> at /usr/src/sys/kern/subr_witness.c:1151
> ...
> #11 0xc67d4a3e in MMalloc (size=16,
> file=0xc67da139 "/usr/src/sys/dev/vinum/vinumdaemon.c", line=226)
> at machine/pcpu.h:156

Ja, das wundert mich nicht. Die Warnungen hatte ich schon gesehen.
Schön ist aber, dass Du einen Backtrace gefunden hast.

> #12 0xc67d08c4 in queue_daemon_request (type=daemonrq_none, info=
> {rq = 0x0, sd = 0x0, plex = 0x0, drive = 0x0, nothing = 0})
> at /usr/src/sys/dev/vinum/vinumdaemon.c:226

Da steht:

    struct daemonq *qelt = (struct daemonq *) Malloc(sizeof(struct daemonq));

Ich weiß nicht, warum ich für mickrige 16 Bytes einen Malloc gemacht
habe. So ist's viel einfacher:

    struct daemonq qelt;

Hast Du Lust zu committen?

Greg

--
When replying to this message, please copy the original recipients.
If you don't, I may ignore the reply or reply to the original recipients.
For more information, see http://www.lemis.com/questions.html
See complete headers for address and phone numbers.

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 11 Feb 2004 - 05:40:12 CET

search this site