Bug #680
closed
BLAST should not ignore __blast_assert "function call" on stack overflow
Added by Pavel Shved almost 14 years ago.
Updated about 13 years ago.
Detected in build:
2afcef4
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.
Examples (ldv-git on Kernel-59365d136d205cc20fe666ca7f89b1c5001b0d5a)
- 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. */ };
- cm.ko ldv_main0_plain_sorted_withcheck blast
depth
- cs5535-mfgpt.ko ldv_main0_plain_sorted_withcheck blast
depth
- 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.
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_.
...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?
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.
- 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.
Why is it not closed? Because of blast_assert that doesn't begin with _ldv is ignored?
- 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.
- Project changed from Linux Driver Verification to BLAST
- Category deleted (
BLAST)
- Target version set to 2.6
- Project changed from BLAST to Linux Driver Verification
- Target version deleted (
2.6)
Also available in: Atom
PDF