Semaphores macro error

D. Peter Siddons siddons at bnl.gov
Wed Apr 11 16:50:04 UTC 2007


Isn't this message issued by gdb itself? i.e. by the host, not the 
target? As a result of the 'printf "%s", "No waiting threads"' command?
Pete.


Leon Pollak wrote:
> On Wednesday 11 April 2007, you wrote:
>> You can try the ugly hack of commenting out lines or printing until you
>> figure out what
>> is blowing up.  I have no other idea how to debug these scripts.  That's
>> how I did it when I wrote them.
> Joel, I do not see any sense in the results I have. Please, can you help to 
> interpreter them?
> 
> I added prints as following (mine are with "=X=\n":
> 
> define rtems_helper_score_threadq
>   set $tq = $arg0
>   set $THREAD_QUEUE_DISCIPLINE_FIFO     = 0
>   set $THREAD_QUEUE_DISCIPLINE_PRIORITY = 1
> 
>   if $tq->discipline == $THREAD_QUEUE_DISCIPLINE_FIFO
>     printf "  FIFO - "
>     set $limit = 1
>   end
> 
>   if $tq->discipline == $THREAD_QUEUE_DISCIPLINE_PRIORITY
>     printf "  PRIO - "
>     set $limit = 3
>   end
> 
>   # now walk them
>   set $count = 0
>   set $pri_index = 0
>   set $queues = &$tq->Queues
> printf "=2=\n"
>   while $pri_index < $limit
>     set $chain = &$queues.Priority[$pri_index]
>     set $ptail = &$chain->permanent_null
> printf "=3=\n"
>     set $next = $chain->first
>     while $next != $ptail
> printf "=4=\n"
>       set $t = (Thread_Control_struct *)$next
>       printf "0x%08x@%d ", $t->Object.id, $t->current_priority
>       set $next = $next->next
>       set $count = $count + 1
>     end
> printf "=5=\n"
>     set $pri_index = $pri_index + 1
>   end
> printf "=6=\n"
>   if $count == 0
> printf "=7=\n"
>     printf "%s", "No waiting threads"
>   end
> printf "=8=\n"
> end
> # Internal Helper Do Not Document
> 
> ========================================================================
> 
> 
> And the result was:
> =====================================================================
>  # | Name |    ID    | Information
> ---+------+----------+-----------------------------------------------
>  1 | LBIO | 1a010001 |   Mutex ###
> INHT UNL=1=
>   PRIO - =2=
> =3=
> =5=
> =3=
> =5=
> =3=
> =5=
> =6=
> =7=
> No memory available to program: call to malloc failed
> 
> 
> I do not understand this.
> 

-- 
D. Peter Siddons
Detector Development Group leader,
National Synchrotron Light Source
Brookhaven National Laboratory
Upton, NY 11973

email: siddons at bnl.gov
Phone: (631) 344-2738



More information about the users mailing list