Project

General

Profile

Actions

Bug #996

closed

Entry point/error location should not trigger a fatal integration error

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

Status:
Closed
Priority:
High
Assignee:
Category:
Infrastructure
Start date:
03/29/2011
Due date:
06/06/2011
% Done:

0%

Estimated time:
Detected in build:
svn
Platform:
Published in build:
63930e7c

Description

When BLAST does not find entry point or error location, it exits with return code 3, and this triggers an integration error, which makes everything fail.

Perhaps, it was necessary half a year ago, but as our infrastructure matured it became more of a local issue than a mistake in integrating the components together (see, for instance, bug #416). Today it could just be listed as a problem of RCV or DSCV. I suggest to list it as RCV problem, as it may be related to "parse errors" and conversion of a program into CFG form.


Related issues 1 (0 open1 closed)

Has duplicate Linux Driver Verification - Feature #1139: Let rcv create report when BLAST doesn't find any entry pointRejectedPavel Shved04/26/2011

Actions
Actions #1

Updated by Pavel Shved over 13 years ago

  • Status changed from New to Open

As reported by Eugeny in feature #1139, Currently it doesn't trigger an integration error, as the exit code of BLAST frontend is read—and subsequently ignored—by watcher wrapper.

Actions #2

Updated by Evgeny Novikov over 13 years ago

The same problem is with RI fails. So if RI fails information on a current failed launch isn't uploaded to the database and isn't shown. And as well it doesn't cause integration error at the moment.

Actions #3

Updated by Evgeny Novikov over 13 years ago

If I don't mistake, this is very unpleasant issue. Especially, for tasks comparison. For instance, probably I have lost about 130 module-main pairs - this was the difference between two tasks (the first was with "bad" model and the second was with "correct" model).

Actions #4

Updated by Pavel Shved over 13 years ago

  • Due date set to 06/06/2011

Okay, Okay, I'll fix it!

Actions #5

Updated by Evgeny Novikov over 13 years ago

This is very interesting! I looked through the report and find out that the problem is likely to be connected with timeout:

aspectator: TRACE: ********* 3d aspectator stage stage beginning *********.                                                   
aspectator: TRACE: LDV_STAGE=3 LDV_ASPECT_FILE=/home/joker/work/14_driver/43_1a/work/current--X--drivers/--X--defaultlinux-2.6.37--X--43_1a/linux-2.6.37/csd_deg_dscv/2044/dscv_tempdir/dscv/ri/43_1a/kernel-rules/./files/model0043a-blast.aspect LDV_DIR_ORIG=1 /home/joker/work/14_driver/test_ldv_tools/rule-instrumentor/aspectator/gcc-4.6/bin/compiler-core "-I/home/joker/work/14_driver/43_1a/work/current--X--drivers/--X--defaultlinux-2.6.37--X--43_1a/linux-2.6.37/csd_deg_dscv/2044/dscv_tempdir/rule-instrumentor/43_1a/config" "-I/home/joker/work/14_driver/43_1a/work/current--X--drivers/--X--defaultlinux-2.6.37--X--43_1a/linux-2.6.37/csd_deg_dscv/2044/dscv_tempdir/rule-instrumentor/43_1a/config//generated" "-I/home/joker/work/14_driver/43_1a/work/current--X--drivers/--X--defaultlinux-2.6.37--X--43_1a/linux-2.6.37/csd_deg_dscv/2044/dscv_tempdir/rule-instrumentor/43_1a/config/include//generated" "-Wp,-MD,drivers/usb/misc/.emi62.o.d" "-nostdinc" "-isystem" "/usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include" "-I/home/joker/work/14_driver/43_1a/inst/current/envs/linux-2.6.37/linux-2.6.37/arch/x86/include" "-Iinclude" "-include" "include/generated/autoconf.h" "-D__KERNEL__" "-Wall" "-Wundef" "-Wstrict-prototypes" "-Wno-trigraphs" "-fno-strict-aliasing" "-fno-common" "-Werror-implicit-function-declaration" "-Wno-format-security" "-fno-delete-null-pointer-checks" "-m64" "-mtune=generic" "-mno-red-zone" "-mcmodel=kernel" "-funit-at-a-time" "-maccumulate-outgoing-args" "-fstack-protector" "-DCONFIG_AS_CFI=1" "-DCONFIG_AS_CFI_SIGNAL_FRAME=1" "-DCONFIG_AS_FXSAVEQ=1" "-pipe" "-Wno-sign-compare" "-fno-asynchronous-unwind-tables" "-mno-sse" "-mno-mmx" "-mno-sse2" "-mno-3dnow" "-fno-omit-frame-pointer" "-fno-optimize-sibling-calls" "-g" "-pg" "-Wdeclaration-after-statement" "-Wno-pointer-sign" "-fno-strict-overflow" "-DDEBUG" "-fprofile-arcs" "-ftest-coverage" "-DMODULE" "-DKBUILD_STR(s)=#s" "-DKBUILD_BASENAME=KBUILD_STR(emi62)" "-DKBUILD_MODNAME=KBUILD_STR(emi62)" "-c" "-I/home/joker/work/14_driver/43_1a/inst/current/envs/linux-2.6.37/linux-2.6.37/drivers/usb/misc" "-DLDV_MAIN0_sequence_infinite_withcheck_stateful" "-Wno-attributes" "-g" "-U__GNUC__" "-D__GNUC__=4" "-U__GNUC_MINOR__" "-D__GNUC_MINOR__=2" "-U__GNUC_PATCHLEVEL__" "-D__GNUC_PATCHLEVEL__=1" "-include" "/home/joker/work/14_driver/43_1a/work/current--X--drivers/--X--defaultlinux-2.6.37--X--43_1a/linux-2.6.37/csd_deg_dscv/2044/dscv_tempdir/dscv/ri/43_1a/kernel-rules/./files/config-tracers.h" "-I/home/joker/work/14_driver/43_1a/work/current--X--drivers/--X--defaultlinux-2.6.37--X--43_1a/linux-2.6.37/csd_deg_dscv/2044/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/" -fsyntax-only -x cpp-output /home/joker/work/14_driver/43_1a/work/current--X--drivers/--X--defaultlinux-2.6.37--X--43_1a/linux-2.6.37/csd_deg_dscv/2044/dscv_tempdir/dscv/ri/43_1a/drivers/usb/misc/emi62.c.p.ma.                               
ldv-timeout: WARNING: Wait(2819) failed: No child processes                                                                   
Something wrong with aspectator: it doesn't produce file '/home/joker/work/14_driver/43_1a/work/current--X--drivers/--X--defaultlinux-2.6.37--X--43_1a/linux-2.6.37/csd_deg_dscv/2044/dscv_tempdir/dscv/ri/43_1a/drivers/usb/misc/emi62.c.c' at /home/joker/work/14_driver/test_ldv_tools/ldv-core/../bin/rule-instrumentor.pl line 1530.                                                 
rule-instrumentor: DEBUG: The command execution status is '0'.                                                                
rule-instrumentor: TRACE: Redirect STDERR to its default place'.                                                              
rule-instrumentor: TRACE: Read failure description.
rule-instrumentor: TRACE: The command execution full description is 'Advice was already applied.
rule-instrumentor: TRACE:  Create cpp definition "spin_lock_nested(lock,subclass)=ldv_spin_lock()".
rule-instrumentor: TRACE:  Advice was already applied.
rule-instrumentor: TRACE:  Create cpp definition "spin_lock_nest_lock(lock,nest_lock)=ldv_spin_lock()".
rule-instrumentor: TRACE:  Advice was already applied.
rule-instrumentor: TRACE:  Create cpp definition "spin_lock_irqsave(lock,flags)=ldv_spin_lock()".
rule-instrumentor: TRACE:  Advice was already applied.
rule-instrumentor: TRACE:  Create cpp definition "spin_lock_irqsave_nested(lock,flags,subclass)=ldv_spin_lock()".
rule-instrumentor: TRACE:  Advice was already applied.
rule-instrumentor: TRACE:  Create cpp definition "spin_trylock_irqsave(lock,flags)=ldv_spin_trylock()".
rule-instrumentor: TRACE:  Advice was already applied.
rule-instrumentor: TRACE:  Create cpp definition "atomic_dec_and_lock(atomic,lock)=ldv_spin_trylock()".
rule-instrumentor: TRACE:  /home/joker/work/14_driver/43_1a/work/current--X--drivers/--X--defaultlinux-2.6.37--X--43_1a/linux-2.6.37/csd_deg_dscv/2044/dscv_tempdir/dscv/ri/43_1a/drivers/usb/misc/emi62.c.p: In function 'ldv_main0_sequence_infinite_withcheck_stateful':
rule-instrumentor: TRACE:  /home/joker/work/14_driver/43_1a/work/current--X--drivers/--X--defaultlinux-2.6.37--X--43_1a/linux-2.6.37/csd_deg_dscv/2044/dscv_tempdir/dscv/ri/43_1a/drivers/usb/misc/emi62.c.p:453:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
rule-instrumentor: TRACE:  /home/joker/work/14_driver/43_1a/work/current--X--drivers/--X--defaultlinux-2.6.37--X--43_1a/linux-2.6.37/csd_deg_dscv/2044/dscv_tempdir/dscv/ri/43_1a/drivers/usb/misc/emi62.c.p: At top level:
rule-instrumentor: TRACE:  /home/joker/work/14_driver/43_1a/work/current--X--drivers/--X--defaultlinux-2.6.37--X--43_1a/linux-2.6.37/csd_deg_dscv/2044/dscv_tempdir/dscv/ri/43_1a/drivers/usb/misc/emi62.c.p:565:1: fatal error: character "�" wasn't put to stream
rule-instrumentor: TRACE:  compilation terminated.
rule-instrumentor: TRACE:  Aspectator fails on the 3d stage
rule-instrumentor: TRACE: '.
rule-instrumentor: TRACE: Save the information obtained to cache (even if it's a failure).
rule-instrumentor: TRACE: Go to the initial directory.
dscv: WARNING: Exception occured: INTEGRATION ERROR.  Cmdline:  /home/joker/work/14_driver/test_ldv_tools/ldv-core/../bin/rule-instrumentor.pl --basedir=/home/joker/work/14_driver/43_1a/work/current--X--drivers/--X--defaultlinux-2.6.37--X--43_1a/linux-2.6.37/csd_deg_dscv/2044/dscv_tempdir/dscv/ri/43_1a --rule-model=43_1a --cmdfile=/home/joker/work/14_driver/43_1a/work/current--X--drivers/--X--defaultlinux-2.6.37--X--43_1a/linux-2.6.37/csd_deg_dscv/2044/cmd_after_deg.xml --cmdfile-out=/home/joker/work/14_driver/43_1a/work/current--X--drivers/--X--defaultlinux-2.6.37--X--43_1a/linux-2.6.37/csd_deg_dscv/2044/dscv_tempdir/dscv/cmdfiles/cmd43_1a.xml at /home/joker/work/14_driver/test_ldv_tools/ldv-core/../bin/dscv line 628.
dscv: WARNING: Fatal error.  Stopping services before reporting...
dscv: INFO: Shutting down watcher
watcher: DEBUG: Called watcher: /home/joker/work/14_driver/test_ldv_tools/ldv-core/../watcher/ldv-watcher fail dscv ldv 1 dscv 2044
watcher: TRACE: Checking if exists /home/joker/work/14_driver/43_1a/work/current--X--drivers/--X--defaultlinux-2.6.37--X--43_1a/linux-2.6.37/watcher/instance_pool...
watcher: TRACE: Checking if exists /home/joker/work/14_driver/43_1a/work/current--X--drivers/--X--defaultlinux-2.6.37--X--43_1a/linux-2.6.37/watcher/key_pool...

Briefly speaking, even though aspectator failed (as one can see from its error description) ldv-timeout returns '0' (i.e. success), that confuses both RI and DSCV (since they don't see required file and so on).
Moreover, it seems that the behavior isn't deterministic since some launches have such the problem while almost the same haven't. May be this is connected with resource lacks or with interference between simultaneously performed tasks (for instance, the given problem I saw when I run both all kernel drivers and middle regression test set checking).

Actions #6

Updated by Pavel Shved over 13 years ago

Yes, if you see such a warning, it means that there was an internal error in timeout script, and when it encounters such an error, it just returns 0.

I don't know yet how to fix it. Right now I have an idea that it could be invoked from the environment with a reset SIGCHLD, but I'll have to check it out later.

Actions #7

Updated by Pavel Shved over 13 years ago

  • Status changed from Open to Resolved
  • Published in build set to 63930e7c

This bug was fixed in 63930e7c. Now missing main/label are reported as a problem in RCV section.

The issue with timeout script is tracked in a separate bug #1312.

Actions #8

Updated by Alexey Khoroshilov over 13 years ago

  • Status changed from Resolved to Verified

In my run of ldv-git there are Main/Label problems.
Statistics: 600 of 3000 (20%) - in 32_7 and 39_7 rules only.

Actions #9

Updated by Alexey Khoroshilov over 13 years ago

  • Status changed from Verified to Closed

Number of tasks in journal equals to number of uploaded tasks now.

Actions

Also available in: Atom PDF