1.0.24.8: fix scav_lose
authorGabor Melis <mega@hotpop.com>
Fri, 2 Jan 2009 18:37:55 +0000 (18:37 +0000)
committerGabor Melis <mega@hotpop.com>
Fri, 2 Jan 2009 18:37:55 +0000 (18:37 +0000)
Used to do one pointer dereferencing too many when printing the
widetag of the lispobj leading to memory faults, ultimately obscuring
the backtrace instead of losing cleanly. Memory faults during gc could
cause all kinds of trouble rendering the backtrace even less
informative.

src/runtime/gc-common.c
version.lisp-expr

index fb006cb..0be3fbf 100644 (file)
@@ -1885,7 +1885,7 @@ scav_lose(lispobj *where, lispobj object)
 {
     lose("no scavenge function for object 0x%08x (widetag 0x%x)\n",
          (unsigned long)object,
-         widetag_of(*(lispobj*)native_pointer(object)));
+         widetag_of(object));
 
     return 0; /* bogus return value to satisfy static type checking */
 }
index b1214b4..16f77cb 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.24.7"
+"1.0.24.8"