Hello Dave, I have a s390x dump of a Linux-3.1 kernel where I get the error message: crash: zero-size memory allocation! (called from 8009f504) The error comes from max_cpudata_limit() where GETBUF fails: /* * Check the shared list of all the nodes. */ start_address = (ulong *)GETBUF(sizeof(ulong) * vt->kmem_cache_len_nodes); --> vt->kmem_cache_len_nodes = 0 I debugged the problem a bit and found out that the reason is that crash does not set vt->kmem_cache_len_nodes for that dump. This attribute seem to be only set in kmem_cache_downsize(): if (buffer_size < SIZE(kmem_cache_s)) { if (kernel_symbol_exists("nr_node_ids")) { get_symbol_data("nr_node_ids", sizeof(int), &nr_node_ids); vt->kmem_cache_len_nodes = nr_node_ids; } else { fprintf(fp, "XXX kernel_symbol_exists(\n"); vt->kmem_cache_len_nodes = 1; } In my dump the "if" condition returns false (buffer_size = 768, SIZE(kmem_cache_s = 624) therefore vt->kmem_cache_len_nodes is not set. Perhaps the content of "cache_cache" is useful to understand what is going on: print cache_cache $7 = { batchcount = 27, limit = 54, shared = 8, buffer_size = 768, <<----- reciprocal_buffer_size = 5592406, flags = 0, num = 5, gfporder = 0, gfpflags = 0, colour = 0, colour_off = 256, slabp_cache = 0x0, slab_size = 256, dflags = 0, ctor = 0, name = 0x667b8e "kmem_cache", next = { next = 0x93b528, prev = 0xff04158 }, nodelists = 0x93b538, array = {0xff23e00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x 0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0} } Any idea what's wrong here? Best Regards Michael -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility