DOH! ata_alloc_composite failed!
mikej at rogers.com
Sat May 13 19:20:59 PDT 2006
Rostislav Krasny wrote:
>> May 13 03:01:29 ns1 kernel: DOH! ata_alloc_composite failed!
>> May 13 03:01:29 ns1 last message repeated 2 times
> I'm not a FreeBSD developer but after looking at the source code I can
> say that that kernel message goes from src/sys/dev/ata/ata-raid.c
> because ata_alloc_composite() returns NULL in one of two or in both
> locations in that file. That ata_alloc_composite() is actually a macro,
> defined in src/sys/dev/ata/ata-all.h so:
> #define ata_alloc_composite() uma_zalloc(ata_composite_zone, M_NOWAIT | M_ZERO)
> ata_composite_zone is a global variable, that is initialized by ata_init()
> in src/sys/dev/ata/ata-all.c with a value returned by uma_zcreate().
> The uma_zalloc() is a wrapper of uma_zalloc_arg() and the uma_zcreate() is
> a wrapper of uma_zalloc_internal().
> I'm not familiar with UMA and looking on the code deeper just complicate
> things. Try to rebuild the kernel with "options WITNESS". That could
> help the kernel to produce more informative error/warning messages
> about your problem.
> You can also uncomment following #define's in src/sys/vm/uma_core.c
> /* I should really use ktr.. */
> #define UMA_DEBUG 1
> #define UMA_DEBUG_ALLOC 1
> #define UMA_DEBUG_ALLOC_1 1
> rebuild the kernel and get more debug messages on the console. But that
> will most likely make your machine working very slow. So try it at your
> own risk and only if "options WITNESS" didn't help to get informative
> enough logs.
> After all send your logs to FreeBSD developers.
Thanks for the info. I will try putting WITNESS in the kernel. This box
has been running 6.1-RC fine for about 2 weeks. Hopefully i can catch
this again. I just hope nothing blows up, as it is a production server,
doing radius authentication for a medium sized ISP.
More information about the freebsd-stable