HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1845 Details

Help Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges

This page provides all information on Problem Report 1845.


Report 1845 Actions


    Problem Report Number 1845
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0922
    Raised 1999-05-31 08:00
    Updated 2003-03-13 08:00
    Published 1999-07-21 08:00
    Product Standard X Window System Applications Interface
    Certification Program The Open Brand certification program
    Test Suite VSW version 5.0.2
    Test Identification XtC/XtAppAddConverter 4, 5, 6, 9, 10
    Problem Summary TSD4W.00167 These tests may fail on 64-bit architectures.
    Problem Text
    The tests are failing on the 64bit version of our xserver. In the test
    program init_args() is used to set up the argument list for the
    converter. The
    passed parameter is assigned to the first element of the list with the
    XtImmediate flag. The value is integer, but the variable is XPointer,
    in 64 bit architecture one of them is 64 bits the other is 32. At the
    asignment the integer is extended to 64 bits, having the first 4 bytes
    set to 0.

    The argument list is converted to another argument list inside the Xt
    library. For XtImmediate the address of the old argument list's
    corresponding field is assigned to the new list's corresponding field.

    XtCVT_ProcA() is the converter. It tries to retrieve the initial
    integer value from the incoming argument list that contains the
    address of the variable that holds the integer. It applies the cast
    val=(int)(*(int *)addr) and it results in val set to the first 4 bytes
    of the place pointed by addr which is 0. The last four bytes contain
    1

    I think the test suite is too simplistic. The argument list also
    contains a field which should store the size of the initial value.
    Seting up the size field in init_args() and interpetting it correctly
    in XtCVT_ProcA() should solve the problem.
    Test Output
    VSW5TESTSUITE PURPOSE 4
    Assertion XtAppAddConverter-4.(A)
    When a converter is registered by a call to void
    XtAppAddConverter(app_context, from_type, to_type,
    converter, convert_args, num_args) with the address_mode
    member of an XtConvertArgRec structure in the list pointed
    to by convert_args set to XtAddress it shall be called by
    the Intrinsics with the data pointed to by the address_id
    field passed as a conversion argument.
    PREP: Initialize toolkit, Open display and Create topLevel root widget
    PREP: Create windows for widgets and map them
    TEST: Register resource converter
    TEST: Invoke conversion
    TEST: Additional arguments passed to converter
    ERROR: args[0].addr = 0
    TEST: Converter was invoked
    FAIL

    VSW5TESTSUITE PURPOSE 5
    Assertion XtAppAddConverter-5.(A)
    When a converter is registered by a call to void
    XtAppAddConverter(app_context, from_type, to_type,
    converter, convert_args, num_args) with the address_mode
    member of an XtConvertArgRec structure in the list pointed
    to by convert_args set to XtBaseOffset it shall be called by
    the Intrinsics with the data at an offset of address_id from
    the base of the widget, in whose context the converter is
    invoked, passed as a conversion argument.
    PREP: Initialize toolkit, Open display and Create topLevel root widget
    PREP: Create windows for widgets and map them
    TEST: Register resource converter
    TEST: Invoke conversion
    TEST: Additional arguments passed to converter
    ERROR: args[0].addr = 0
    TEST: Converter was invoked
    FAIL

    VSW5TESTSUITE PURPOSE 6
    Assertion XtAppAddConverter-6.(A)
    When a converter is registered by a call to void
    XtAppAddConverter(app_context, from_type, to_type,
    converter, convert_args, num_args) with the address_mode
    member of an XtConvertArgRec structure in the list pointed
    to by convert_args set to XtImmediate it shall be called by
    the Intrinsics with the data in the address_id field passed
    as a conversion argument.
    PREP: Initialize toolkit, Open display and Create topLevel root widget
    PREP: Create windows for widgets and map them
    TEST: Register resource converter
    TEST: Invoke conversion
    TEST: Additional arguments passed to converter
    ERROR: args[0].addr = 0
    TEST: Converter was invoked
    FAIL

    VSW5TESTSUITE PURPOSE 9
    Assertion XtAppAddConverter-9.(A)
    When a converter is registered by a call to void
    XtAppAddConverter(app_context, from_type, to_type,
    converter, convert_args, num_args) with the address_mode
    member of an XtConvertArgRec structure in the list pointed
    to by convert_args set to XtWidgetBaseOffset it shall be
    called by the Intrinsics with the data at an offset of
    address_id in the closest windowed ancestor of the widget in
    whose context the converter is called, when the widget is
    not of a subclass of Core, passed as a conversion argument.
    PREP: Initialize toolkit, Open display and Create topLevel root widget
    PREP: Create AVS RectObj widget
    PREP: Create windows for widgets and map them
    TEST: Register resource converter
    TEST: Invoke conversion
    TEST: Additional arguments passed to converter
    ERROR: args[0].addr = 0
    TEST: Converter was invoked
    TEST: function was invoked
    FAIL

    VSW5TESTSUITE PURPOSE 10
    Assertion XtAppAddConverter-10.(A)
    When a converter is registered by a call to void
    XtAppAddConverter(app_context, from_type, to_type,
    converter, convert_args, num_args) with the address_mode
    member of an XtConvertArgRec structure in the list pointed
    to by convert_args set to XtProcedureArg it shall be called
    by the Intrinsics with the value returned by the function
    pointed to by the address_id field passed as a conversion
    argument.
    PREP: Initialize toolkit, Open display and Create topLevel root widget
    PREP: Create windows for widgets and map them
    TEST: Register resource converter
    TEST: Invoke conversion
    TEST: Additional arguments passed to converter
    ERROR: args[0].addr = 0
    TEST: Converter was invoked
    TEST: function was invoked
    FAIL

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    This is an agreed Test Suite Deficiency and it is recommended that a
    waiver is granted for this.

    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:

     

    Back   


Contact the Certification Authority