Thread start bug on ppc64
Bug #1959338 reported by
Douglas Katzman
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
Undecided
|
Douglas Katzman |
Bug Description
::: Running :GC-DEADLOCK
....fatal error encountered in SBCL pid 49436 tid 54974:
GC invariant lost, file "thread.c", line 565
which is:
gc_assert(
Changed in sbcl: | |
assignee: | nobody → Douglas Katzman (dougk) |
status: | New → Fix Committed |
Changed in sbcl: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
With some printf() debugging:
.......fatal error encountered in SBCL pid 8073 tid 18192:
bad startup info: 0x10035f0020 (nil)
--- a/src/runtime/ thread. c thread. c trampoline( void* arg) lispthread- >startup_ info); // 'lispthread' is pinned assert( header_ widetag( startup_ info->header) == SIMPLE_ VECTOR_ WIDETAG) ; info->data[ 0]; // 'startup_info' is pinned startfun) ) lose("bad startup info: %p %p\n", startup_info, startfun); assert( functionp( startfun) );
+++ b/src/runtime/
@@ -562,6 +562,7 @@ void* new_thread_
struct vector* startup_info = VECTOR(
gc_
lispobj startfun = startup_
+ if (!functionp(
gc_
How is this possible?