In the "failed" section of threadinitialize.c(), should _Workspace_Free( sched ); be if ( sched ) _Scheduler_Free( the_thread ); ?