Project

General

Profile

Actions

Bug #680

closed

BLAST should not ignore __blast_assert "function call" on stack overflow

Added by Pavel Shved over 13 years ago. Updated over 12 years ago.

Status:
Closed
Priority:
High
Category:
-
Start date:
01/17/2011
Due date:
% Done:

0%

Estimated time:
Detected in build:
2afcef4
Platform:
Published in build:
6032b92

Description

BLAST's -fdepth option, which makes it cut paths that are 6 or more function calls deeper than the entry point, was introduced to optimize its work with GIT. However, it was found out (see bug #666) that BLAST misses the opportunity to "enter" this "function", because the available depth is exhausted.

That's a good optimization opportunity, and we should take an advantage of it.


Related issues 1 (0 open1 closed)

Related to Linux Driver Verification - Bug #666: Strange error trace: incorrect model and blast lackClosedPavel Shved01/13/2011

Actions
Actions #1

Updated by Vadim Mutilin about 13 years ago

Examples (ldv-git on Kernel-59365d136d205cc20fe666ca7f89b1c5001b0d5a)

  1. bttv-vbi.ko ldv_main0_plain_sorted_withcheck blast
    lock without unlock at the end
    actions of spin_unlock is out of the depth
    ldv_spin_unlock_irqrestore_1(blast_must_tmp__11639, blast_must_tmp__11640) { /* The function body is undefined. */ };
    
  1. cm.ko ldv_main0_plain_sorted_withcheck blast
    depth
    
  1. cs5535-mfgpt.ko ldv_main0_plain_sorted_withcheck blast
    depth
    
Actions #2

Updated by Alexey Khoroshilov about 13 years ago

  • Priority changed from Normal to High

It is really frustrating for end user and I see this problem rather often, so it should be fixed soon.

Actions #3

Updated by Alexey Khoroshilov about 13 years ago

My idea is that we should ignore fdepth option for model functions at all.

For now, we can consider a function is model if it starts from ldv_.

Actions #4

Updated by Pavel Shved about 13 years ago

...and does the __blast_assert start with ldv_? ;-)

Yes, enforcing depth inside the model functions is nonsense. We should fix it asap.

Would an option -ignore-depth-for ldv_, with an additional fix to ignore depth for BLAST's internal pseudo-functions, suffice?

Actions #5

Updated by Alexey Khoroshilov about 13 years ago

Pavel Shved wrote:

Would an option -ignore-depth-for ldv_, with an additional fix to ignore depth for BLAST's internal pseudo-functions, suffice?

Yes, that would be great.

Actions #6

Updated by Pavel Shved about 13 years ago

  • Status changed from New to Resolved
  • Assignee changed from Pavel Shved to Alexandr Strakh
  • Published in build set to 6032b92

Alexander fixed BLAST, and the fix that turns this option on for LDV-Git is in 6032b92.

Actions #7

Updated by Evgeny Novikov about 13 years ago

Why is it not closed? Because of blast_assert that doesn't begin with _ldv is ignored?

Actions #8

Updated by Pavel Shved about 13 years ago

  • Status changed from Resolved to Closed

It now does contain this prefix, and error-trace-visualizer seems to work well with it. Yes, the bug may be closed now.

Actions #9

Updated by Pavel Shved over 12 years ago

  • Project changed from Linux Driver Verification to BLAST
  • Category deleted (BLAST)
Actions #10

Updated by Pavel Shved over 12 years ago

  • Target version set to 2.6
Actions #11

Updated by Pavel Shved over 12 years ago

  • Project changed from BLAST to Linux Driver Verification
  • Target version deleted (2.6)
Actions

Also available in: Atom PDF