Re: problem with crash on upstream kernel cores

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The 2.6.21-rc1 kernel has removed the zone->free_pages member, and
replaced it by using the zone->vm_stat[NR_FREE_PAGES] counter.

Without this patch, crash will die during initialization with:

crash: invalid (optional) structure member offsets: zone_struct_free_pages or zone_free_pages

The attached patch to the 4.0-3.20 tree is queued for the next release.

Thanks for the report,
  Dave


memory.c symbols.c defs.h
--- crash-4.0-3.20/memory.c	2007-02-26 15:34:57.000000000 -0500
+++ crash-next/memory.c	2007-02-26 15:38:51.000000000 -0500
@@ -659,8 +659,17 @@
                 	vt->dump_free_pages = dump_free_pages_zones_v1;
 
 		} else if (VALID_STRUCT(zone)) {
-                        MEMBER_OFFSET_INIT(zone_free_pages, 
-				"zone", "free_pages");
+			MEMBER_OFFSET_INIT(zone_vm_stat, "zone", "vm_stat");
+			MEMBER_OFFSET_INIT(zone_free_pages, "zone", "free_pages");
+			if (INVALID_MEMBER(zone_free_pages) && 
+			    VALID_MEMBER(zone_vm_stat)) {
+				long nr_free_pages = 0;
+				if (!enumerator_value("NR_FREE_PAGES", &nr_free_pages))
+					error(WARNING, 
+					    "cannot determine NR_FREE_PAGES enumerator\n");
+				ASSIGN_OFFSET(zone_free_pages) = OFFSET(zone_vm_stat) + 
+					(nr_free_pages * sizeof(long));
+			}
                         MEMBER_OFFSET_INIT(zone_free_area,
                                 "zone", "free_area");
                         MEMBER_OFFSET_INIT(zone_zone_pgdat,
--- crash-4.0-3.20/symbols.c	2007-02-26 15:34:57.000000000 -0500
+++ crash-next/symbols.c	2007-02-26 14:33:41.000000000 -0500
@@ -6414,6 +6414,8 @@
                 OFFSET(zone_pages_low));
 	fprintf(fp, "               zone_pages_high: %ld\n",
                 OFFSET(zone_pages_high));
+	fprintf(fp, "                  zone_vm_stat: %ld\n",
+                OFFSET(zone_vm_stat));
 
         fprintf(fp, "                neighbour_next: %ld\n", 
 		OFFSET(neighbour_next));
--- crash-4.0-3.20/defs.h	2007-02-26 15:34:57.000000000 -0500
+++ crash-next/defs.h	2007-02-26 14:52:33.000000000 -0500
@@ -1282,6 +1282,7 @@
 	long zone_pages_min;
 	long zone_pages_low;
 	long zone_pages_high;
+	long zone_vm_stat;
         long neighbour_next;
         long neighbour_primary_key;
         long neighbour_ha;
--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/crash-utility

[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux