Bug #996
closedEntry point/error location should not trigger a fatal integration error
0%
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.
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.
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.
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).
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).
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.
Updated by Pavel Shved over 13 years ago
- Status changed from Open to Resolved
- Published in build set to 63930e7c
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.
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.