RTEMS test suite problems in 4.6.6?

Joel Sherrill joel.sherrill at oarcorp.com
Wed Aug 23 18:19:15 UTC 2006


Kenneth J. Peters wrote:
> I'm updating from RTEMS 4.5.0 to RTEMS 4.6.6 (sparc erc32 based BSP), 
> and I am running the test suite (sptests, tmtests, and some of the 
> other tests).
>
> I find that SP20 and the "unlimited" tests fail from the 4.6.6 build, 
> though they pass from the 4.5.0 build. See failing results below.
>
Comments interspersed.
> I also notice that SP16 does not produce quite the expected output on 
> either build (TA3 waits for memory but does not get it before being 
> deleted, unlike the sp16.scn file). See "failing" results below.
>
> Has anyone seen similar behavior, erc32 or not? I don't see anything 
> in the bug database that sounds like these issues. I have to 
> definitively determine whether these indicate that my 4.6.6 is built 
> incorrectly, or if these are problems with 4.6.6 as "shipped".
>
Bugs with tests are not unheard of. :(

> Ken Peters
> Ken.Peters at jpl.nasa.gov
>
>
> SP20 from 4.6.6 produces:
>
>> *** TEST 20 ***
>> TA1 - rtems_rate_monotonic_create id = 0x42010001
>> TA1 - rtems_rate_monotonic_ident id = 0x42010001
>> TA1 - (0x42010001) period 2
>> TA2 - rtems_rate_monotonic_create id = 0x42010002
>> TA2 - rtems_rate_monotonic_ident id = 0x42010002
>> TA2 - (0x42010002) period 2
>> TA3 - rtems_rate_monotonic_create id = 0x42010003
>>
>> TA3 - rtems_rate_monotonic_ident id = 0x42010003
>> TA3 - (0x42010003) period 2
>> TA4 - rtems_rate_monotonic_create id = 0x42010004
>> TA4 - rtems_rate_monotonic_ident id = 0x42010004
>> TA4 - (0x42010004) period 2
>> TA5 - rtems_rate_monotonic_create id = 0x42010005
>>
>> TA5 - rtems_rate_monotonic_ident id = 0x42010005
>> TA5 - (0x42010005) period 100
>> TA6 - rtems_rate_monotonic_create id = 0x42010006
>> TA6 - rtems_rate_monotonic_ident id = 0x42010006
>> TA6 - (0x42010006) period 0
>>
>> rtems_rate_monotonic_period FAILED -- expected (successful 
>> completion) got (timed out waiting)
>
> but works fine from 4.5.0
>

This works fine on tsim-erc32 and sis. What are you running on?
>
>
> "unlimited" section "TEST3" is only able to make 50 tasks before 
> running out:
>>  TEST3 : creating task 'aa46', number =  46, id = 0a010030, starting, 
>> task 46 has started.
>>  TEST3 : creating task 'aa47', number =  47, id = 0a010031, starting, 
>> task 47 has started.
>>  TEST3 : creating task 'aa48', number =  48, id = 0a010032, starting, 
>> task 48 has started.
>>  TEST3 : creating task 'aa49', number =  49, id = 0a010033, starting, 
>> task 49 has started.
>>  TEST3 : creating task 'aa50', failure, unsatisfied.
>>  FAIL3 : not enough tasks created -
>>          task created = 50, required number = 55
>
> but works fine from 4.5.0
>
The test just did not provide enough Workspace for this to work on the 
erc32.  Since it
just assumes there is enough workspace to keep creating threads, it has 
to be VERY
generous to work all the time.  I did this to make it run.

Index: system.h
===================================================================
RCS file: /usr1/CVS/rtems/c/src/tests/samples/unlimited/Attic/system.h,v
retrieving revision 1.6.2.1
diff -r1.6.2.1 system.h
51c51
< #define CONFIGURE_EXTRA_TASK_STACKS (62 * RTEMS_MINIMUM_STACK_SIZE)
---
 > #define CONFIGURE_EXTRA_TASK_STACKS (75 * RTEMS_MINIMUM_STACK_SIZE)


>
> SP16 produces:
>
>> *** TEST 16 ***
>> TA1 - rtems_region_ident - rnid => 32010002
>> TA1 - rtems_region_get_segment - wait on 100 byte segment from region 2
>> TA1 - got segment from region 2 - 0x00000f70
>> TA1 - rtems_region_get_segment - wait on 3K segment from region 3
>>
>> TA1 - got segment from region 3 - 0x000003c0
>> TA1 - rtems_region_get_segment - get 3080 byte segment from region 1 
>> - NO_WAIT
>>
>> TA1 - got segment from region 1 - 0x00000320
>> TA1 - rtems_task_wake_after - yield processor
>> TA2 - rtems_region_get_segment - wait on 2K segment from region 1
>> TA3 - rtems_region_get_segment - wait on 3968 byte segment from region 2
>> <pause>
>> TA1 - rtems_region_return_segment - return segment to region 1 - 
>> 0x00000320
>>
>> TA1 - rtems_region_get_segment - wait 10 seconds for 3K segment from 
>> region 1
>> TA2 - got segment from region 1 - 0x000007a0
>> TA2 - rtems_region_return_segment - return segment to region 1 - 
>> 0x000007a0
>> TA2 - rtems_task_set_priority - make self highest priority task
>> TA2 - rtems_region_get_segment - wait on 3968 byte segment
>> TA1 - got segment from region 1 - 0x000003a0
>>
>> TA1 - rtems_region_return_segment - return segment to region 2 - 
>> 0x00000f70
>> TA1 - rtems_task_wake_after - yield processor
>> TA1 - rtems_task_delete - delete TA3
>> <pause>
> ... more output after this is correct. sp16.scn has TA3 getting its 
> segment and waitng for another before being deleted.
>
>
Could you privately send me the entire output from the test?  I am 
having trouble matching this one
up enough to comment?

--joel




More information about the users mailing list