|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1775 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 1775.
Report 1775 Actions
Problem Report Number 1775 Submitter's Classification Specification problem State Resolved Resolution Temporary Interpretation (TIN) Problem Resolution ID TIN.X.0074 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published 1998-08-12 08:00 Product Standard X Window System Display Certification Program The Open Brand certification program Test Suite VSW version 5.0.1 Test Identification Xt11/XtCallbackReleaseCacheRefList 1 Specification X Window System Protocol Location in Spec See Problem Text Problem Summary TIN4W.00008 This submitter claims the test may fail because of a difference between the reference code and the specification. Problem Text
If you look at $VSW/tset/Xt11/tcalbrcrl/tcalbrcrl.m,
you can see a call to XtAddCallback ...
XtAddCallback(topLevel,
XtNdestroyCallback,
XtCallbackReleaseCacheRefList,
(XtPointer)cache_ref_return);
where cache_ref_return has previously been defined as ...
XtCacheRef cache_ref_return[3]
XtCallCallbacks() is next and subsequently XtCallbackReleaseCacheRefList
is called. The sample code for XtCallbackReleaseCacheRefList() is
/* ARGSUSED */
void XtCallbackReleaseCacheRefList(widget, closure, call_data)
Widget widget; /* unused */
XtPointer closure;
XtPointer call_data; /* unused */
{
XtAppReleaseCacheRefs( XtWidgetToApplicationContext(widget),
(XtCacheRef*)closure );
XtFree(closure);
}
So, basically we end up calling XtFree for cache_ref_return which is
obviously not such a good thing to do (considering we didn't alloc it
in the first place). The application core dumps the next time it tries
a malloc (in tet_bufchk ... bp = malloc((size_t) newlen); ).Test Output
TEST CASE: XtCallbackReleaseCacheRefList
TEST PURPOSE #1
Assertion XtCallbackReleaseCacheRefList-1.(A)
When added to a callback list with client_data specified as
a pointer to a NULL-terminated list of XtCacheRef values and
later invoked, void XtCallbackReleaseCacheRefList(object,
client_data, call_data) shall decrement the reference counts
for the conversion entries specified by client_data.
PREP: Initialize toolkit, Open display and Create topLevel root widget
PREP: Create windows for widgets and map them
PREP: Register resource converter
PREP: Invoke converter twice to cache resources
TEST: Invoke XtCallbackReleaseCacheRefList callback
unexpected signal 11 (SIGSEGV) received
1 UNRESOLVEDReview Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
We believe the submitter has identified a problem in the
reference code. It should not be freeing this memory.
Thus it is recommended that a Temporary Interpretation be granted
for this test while it remains subject to review. If a change to
the specification results from the conclusion of this investigation,
then this Temporary Interpretation will be converted to a Permanent Waiver.
Otherwise this Temporary Interpretation will be converted to a Temporary
Waiver (Minor System Fault).
Note to TOG: We recommend a problem report be filed against the reference code
for this issue.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Temporary Interpretation (TIN) Review Conclusion
A Temporary Interpretation is granted.
Problem Reporting System Options:
- View Report 1775
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority