Search Issue Tracker

Fixed

Fixed in 6000.2.8f1, 6000.3.0b4, 6000.4.0a2

Votes

1

Found in

6000.2.2f1

6000.3.0a6

Issue ID

UUM-115835

Regression

Yes

Ref parameter address mismatch when invoking a default interface method with multiple ref arguments

-

How to reproduce:
1. Open the project “IN-112154_repro_arg_corruption”
2. Open the Test Runner tab, Window → General → Test Runner
3. Select PlayMode in the Test Runner tab
4. Run all tests or just the “Specific_Bug” test
5. Observe the output of the test in the Test Runner, under the tests

Expected result: The test succeeds and the result of all the variable addresses match from v0 to v7
Actual: The test fails, at least one variable’s logged address does not match its expected address

Reproducible with: 6000.2.0b10, 6000.2.2f1, 6000.3.0a6
Not reproducible with: 6000.0.56f1, 6000.2.0b9

Reproducible on: Windows 11
Not reproducible on: No other environments tested

  1. Resolution Note:

    The test case is invalid as there is an error in the script
    ```
    WhereAt(ref v7, "v7");
    if (v0 != 0x01234500) throw new Exception("v0 is incorrect");
    if (v1 != 0x01234501) throw new Exception("v1 is incorrect");
    if (v2 != 0x01234502) throw new Exception("v2 is incorrect");
    if (v3 != 0x01234503) throw new Exception("v3 is incorrect");
    if (v4 != 0x01234504) throw new Exception("v4 is incorrect");
    if (v5 != 0x01234505) throw new Exception("v5 is incorrect");
    if (v6 != 0x01234506) throw new Exception("v6 is incorrect");
    -->> if (v6 != 0x01234507) throw new Exception("v7 is incorrect");
    ```

    the comparison is done with the wrong variable, when the script code is updated to ` if (v7 != 0x01234507) throw new Exception("v7 is incorrect");` there is no error and `ref` feature in C# works as expected

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.