[okl4-developer] ASSERT in scheduler_t::schedule()
Tomas Hruby
thruby at cs.otago.ac.nz
Thu Aug 14 11:39:09 EST 2008
Hi,
> >
> > I ran into a proble with assert in scheduler_t::schedule() which is
> > checking whether the current tcb is not enqueued. And it fails when
> > scheduling the rootserver for the first time.
> >
> > It seems to be enqueued in
> > scheduler_t::release_and_reschedule_tcb() which is called from
> > init_root_server() -> get_current_scheduler()->activate() which might
> > cause the problem.
> >
> > Is there some simple way how to solve this problem?
>
> What version of OKL4 are you using and what platform are you
> running on?
I am using the latest available, 2.1.1-patch.9
Platform ... well that's the thing, I am trying to make it running on
UltraSPARC.
> Have you made any local changes to the OKL4
> distribution?
I didn't make any changes other than making stuff in
libs/c/include/stdlib.h __builtin which should not be an issue here. I
have all my platform/architecture specific stuff in arch/ platform/
subdirectories.
I am compiling with gcc and CONFIG_VERBOSE_INIT enabled.
Just for the record, on line 732 in pistachio/src/scheduler.cc just
after init_root_servers() the call to get_current_tcb() should return
the tcb of the idle thread or the rootserver? I was thinking about it
a bit more, I am returning the rootserver which is probably the
problem, right?
Cheers, T.
More information about the Developer
mailing list