Project

General

Profile

Actions

Feature #7997

closed

Error trace visualization: invalid links

Added by Alexey Khoroshilov about 7 years ago. Updated about 7 years ago.

Status:
Closed
Priority:
Urgent
Category:
Bridge
Target version:
-
Start date:
02/24/2017
Due date:
02/28/2017
% Done:

100%

Estimated time:
Published in build:

Description

The problem is with the following segment of error trace:

LINE  XXX Comment from EMG
LINE  function_from_driver();

Once both links lead to a code in environment model, which calls to function_from_driver().
Then there was my proposal to have the second line linked to code from function_from_driver() because we already have a link to environment model from the first line.

But it was implemented incorrectly. Now both lines are linked with code from function_from_driver() in the most cases and it is impossible to see how it is called form environment model.
A link from the first line should not be changed as it happens with the second line.


Files

unsafe report files.zip (111 KB) unsafe report files.zip Evgeny Novikov, 02/28/2017 09:48 AM
Actions #1

Updated by Evgeny Novikov about 7 years ago

  • Status changed from New to Open
  • Assignee set to Evgeny Novikov

I will take care to identify who is responsible for this issue. When I implemented this everything worked as expected.

Actions #2

Updated by Evgeny Novikov about 7 years ago

  • Category set to Bridge
  • Assignee changed from Evgeny Novikov to Vladimir Gratinskiy

It turns out that sometimes everything works as expected but sometimes not. Actually when in addition to invoking of callbacks there are some actions in environment models like calling pre_probe() or switching to the interrupt context it is okay because of these action locations aren't moved to module source code. But when there is the only invocation of a callback this isn't the case - there is the only action which location refers to module source code.

Good news that nowadays error traces in addition to standard locations have so called original locations. So, when Bridge meets edges like the following (a first edge with a new action and various locations):

        {
            "action": 4,
            "enter": 9,
            "file": 2,
            "original file": 0,
            "original start line": 277,
            "source": "ldv_3_ret_default = my_init();",
            "source node": 32,
            "start line": 80,
            "target node": 33,
            "thread": 3
        }

it should refer source code to module source code (in other words use "file" and "start line") but as for action it should refer environment model source code (in other words use "original file" and "original start line").

For the attached example there is likely the only situation (specified above) where an error trace representation should change.

Actions #4

Updated by Vladimir Gratinskiy about 7 years ago

  • Tracker changed from Bug to Feature
  • Due date set to 02/28/2017
  • Status changed from Open to Resolved
  • % Done changed from 0 to 100

Implemented in feature_7997.

Actions #5

Updated by Evgeny Novikov about 7 years ago

  • Status changed from Resolved to Closed

It works so I merged the branch to master in 37e1dc7.

Actions

Also available in: Atom PDF