|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1570 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 1570.
Report 1570 Actions
Problem Report Number 1570 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.0852 Raised 2002-05-30 08:00 Updated 2003-03-13 08:00 Published 2002-06-06 08:00 Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98) Certification Program The Open Brand certification program Test Suite VSU version 5.1.2 Test Identification CAPI.os/xcurses/delwin all Problem Summary TSD4U.00313 A problem with the locally defined malloc() function may cause the testset to abort during startup. Problem Text
The test in question leaves a core file in TESTROOT/tset/CAPI.os/xcurses/delwin/
Snippet from trace on the core file:
SIGSEGV: Segmentation Fault
$c
$c
malloc+0x4c(4, 0, 0, 0, 0, 0)
tet_bufchk+0x7c(ffad5a70, ffad5a6c, 4, 0, 0, 6e9d0)
tet_buftrace+0x160(ffad5a70, ffad5a6c, 4, 3c4c0, 1ae, 0)
tet_minfoline+0x1b8(ffad5e6c, 1, 0, 0, 0, 0)
tet_infoline+0x3c(3d180, 4, 0, 0, 0, 0)
free+0x9c(6e9b0, ffad5f54, 6e970, 72656100, 1ae, 0)
tet_minfoline+0x534(ffad630c, 1, 0, 0, 0, 0)
tet_infoline+0x3c(3d180, 4, 0, 0, 0, 0)
free+0x9c(6e950, ffad63f4, 6e910, 72656100, 1ae, 0)
tet_minfoline+0x534(ffad67ac, 1, 0, 0, 0, 0)
tet_infoline+0x3c(3d180, 4, 0, 0, 0, 0)
free+0x9c(6e8f0, ffad6894, 6e8b0, 72656100, 1ae, 0)
tet_minfoline+0x534(ffad6c4c, 1, 0, 0, 0, 0)
...
(continues for many pages)
tet_minfoline+0x534(ffbfde6c, 1, 0, 0, 0, 0)
tet_infoline+0x3c(3d180, 4, 0, 0, 0, 0)
free+0x9c(569b0, ffbfdf54, 56970, 0, 1ae, 0)
tet_minfoline+0x534(ffbfe30c, 1, 0, 0, 0, 0)
tet_infoline+0x3c(3d180, 4, 0, 0, 0, 0)
free+0x9c(56950, ffbfe3f4, 56910, 206d76, 1ae, 0)
tet_minfoline+0x534(ffbfe7ac, 1, 0, 0, 0, 0)
tet_infoline+0x3c(3d180, 4, 0, 0, 0, 0)
free+0x9c(568f0, ffbfe894, 568b0, 6b0000, 1ae, 0)
tet_minfoline+0x534(ffbfec4c, 1, 0, 0, 0, 0)
tet_infoline+0x3c(3d180, 4, 0, 0, 0, 0)
free+0x9c(56890, ffbfed2c, 56860, 0, 1ae, 0)
tet_minfoline+0x534(ffbff0ec, 1, 0, 0, 0, 0)
tet_infoline+0x3c(3d1a0, 1fc, 0, 0, 0, 0)
malloc+0x78(1fc, 0, 0, 0, 0, 0)
realloc+0xc(56440, 1fc, 0, 0, 0, 0)
tet_bufchk+0xcc(43580, 43584, 1fc, 0, 0, 0)
tet_buftrace+0x160(43580, 43584, 1fc, 3c36d, c3, 56640)
tet_config+0x2d8(1, ffbffc74, 3ff, ffbfff6b, 0, ffbff72d)
tet_tcm_main+0x9c(1, ffbffc74, 0, 23708, 270f8, ffbffd9c)
main+0x68(1, ffbffc74, ffbffc7c, 3b800, 0, 0)
_start+0x108(0, 0, 0, 0, 0, 0)
The trace of the corefile shows the test never gets to excuting any of the
xcurses routines. The test defines its own memory management routines like
malloc/realloc/free to detect invalid memory operations by the curses library.
The malloc routine defined in delwin.c has only 256 buckets to trace the memory
allocation. Therefore, if malloc() is called more than 256 times (without free()
call), it fails and tries to record the failure "ERROR: Too many mallocs" using
tet_infoline(). But tet_infoline() also may call malloc() and free(). As a result,
we can easily image that will enter into an infinite recursive loop. This loop is
happening before the actual test routine 'test1A()' gets called because tet_*
routines calls malloc() more than 256 times.Test Output
10|1001 /tset/CAPI.os/xcurses/delwin/T.delwin 18:52:30|TC Start, scenario ref 10
03-0
520|1001 0 00000895 1 517|ERROR: Free for unmalloced area
520|1001 0 00000895 1 518|ERROR: Free for unmalloced area
510|1001|system 0: tet_result(2) called from test case startup or cleanup functi
on
510|1001|system 0: tet_result(2) called from test case startup or cleanup functi
on
520|1001 0 00000895 1 516|ERROR: Free for unmalloced area
520|1001 0 00000895 1 519|ERROR: Free for unmalloced area
510|1001|system 0: tet_result(2) called from test case startup or cleanup functi
on
520|1001 0 00000895 1 520|ERROR: Free for unmalloced area
510|1001|system 0: tet_result(2) called from test case startup or cleanup functi
on
510|1001|system 0: tet_result(2) called from test case startup or cleanup functi
on
520|1001 0 00000895 1 515|ERROR: Free for unmalloced area
520|1001 0 00000895 1 521|ERROR: Free for unmalloced area
510|1001|system 0: tet_result(2) called from test case startup or cleanup functi
on
520|1001 0 00000895 1 522|ERROR: Free for unmalloced area
...Review Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
This is accepted as a fault in the test suite.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Test Suite Deficiency (TSD) Review Conclusion
This is an agreed Test Suite Deficiency.
Problem Reporting System Options:
- View Report 1570
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority