How is FailureDetector::failureDetector() called?
ok... with your tip i've located the problem. the problem is that Java is to easy and gives us all the errors and stuff and c++ doesn't :):) (oh... and i'm dumb). this is a member function... so to start a thread i use this function: void helper_failure_detector(void *args){ FailureDetector *fdobj = (FailureDetector *)args; fdobj->failureDetector(); } and i start the thread like this (like in the example): -->fdect = l4thread_create(helper_failure_detector, NULL, L4THREAD_CREATE_ASYNC); but as the signature changes from the pthread syntax so i've screwed up. it should be: -->fdect = l4thread_create(helper_failure_detector, (void *)this, L4THREAD_CREATE_ASYNC); so he was doing: NULL->failureDetector();... i don't know how he allow it but... divine intervention i think... in conclusion... i'm dumb :) thanks for all your patience and sorry... Tiago