[Barrelfish-users] Assertion fired when calling "nameserver_register" function
Kornilios Kourtis
kornilios.kourtis at inf.ethz.ch
Thu Dec 19 13:33:06 CET 2013
Dear Mark,
On Mon, Dec 16, 2013 at 05:38:37PM +0000, M Brown wrote:
> Guys,
>
> I’m getting the following assertion fired when calling the
> nameserver_register function from within an export callback
> function:
>
> [cid]
>
> The example message test works fine. The structure of the code I have
> is as follows:
>
> main {
> thread_create(myTask, NULL);
> .
> .
> .
> }
>
> int myTask(void* arg) {
> .
> .
> .
> <iface>_export(NULL,
> export_cb, connect_cb,
> get_default_waitset(),
> IDC_EXPORT_FLAGS_DEFAULT);
>
> }
>
> void export_cb(void *st, errval_t err, iref_t iref) {
> .
> .
> .
> // The assertion fires within this invocation
> nameserver_register(“iface”, iref);
> }
>
> Is there something I’m doing wrong here?
[I'm guessing you mean nameservice_register() above]
Judging from the failed assertion (!_rpc->rpc_in_progress), I'm guessing
that it might have something to do with using multiple threads. What are
the other threads doing? Can you reproduce the problem when using a
single thread?
cheers,
Kornilios.
--
Kornilios Kourtis
More information about the Barrelfish-users
mailing list