Hi Bram,
On Sun, Sep 25, 2022 at 3:22 AM Bram Moolenaar <[email protected]> wrote:
>
> > >
> > > > Patch 9.0.0561
> > > > Problem: When a test gets stuck it just hangs forever.
> > > > Solution: Set a timeout of 30 seconds.
> > > > Files: src/testdir/runtest.vim
> > >
> > > This is very weird. After including this patch a cscope test started
> > > failing. The error message is confusing, pointing to line 599 of
> > > testdir/runtest.vim, which does not exist. Running "make test_csope"
> > > gets the same error every time.
> > >
> > > Removing the added line makes the test pass again. However,
> > > commenting-out the lines does not! Thus it's not the commands that
> > > cause the problem, but the added text in the function. Deleting some
> > > text, without changing the number of lines, makes it work OK again.
> > > Weird!
> > >
> > > I tried a few other things, but could not find out much more. It does
> > > seem related to the fork/exec that cscope does to run cscope, which
> > > fails because the command name is wrong. Perhaps something with signal
> > > handling?
> > >
> > > If someone likes a puzzle, please have a look at this.
> > >
> >
> > I think the changes made in 8.2.4081 (CodeQL reports problem in
> > if_cscope causing it to fail)
> > are related to this failure. If I copy the latest runtest.vim file to
> > the 8.2.4081 version and
> > run "make test_cscope", I can reproduce the test failure (the test is
> > stuck).
>
> If you do the same before the patch, then there is no problem?
>
> I believe the main change in this patch is that instead of executing a
> shell to run the cscope program it executes cscope directly. It may
> change something in signal handling and what happens if the command
> fails, as it happens in this test.
>
> This, however, does not explain that making a comment shorter or longer
> can make this happen or not...
>
The following change fixes the test failure:
============================================================
diff --git a/src/if_cscope.c b/src/if_cscope.c
index ccccb518b..96ca8cbf9 100644
--- a/src/if_cscope.c
+++ b/src/if_cscope.c
@@ -959,7 +959,7 @@ err_closing:
}
// run the cscope command
- (void)sprintf(cmd, "%s -dl -f %s", prog, csinfo[i].fname);
+ (void)sprintf(cmd, "/bin/sh -c \"exec %s -dl -f %s\"", prog, csinfo[i].fname);
if (csinfo[i].ppath != NULL)
{
============================================================
Regards,
Yegappan
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/CAAW7x7mKsPfevP61VYWE%2B9msL%2Bz-xzCFZeddBp%3DNvBzNGXLdTA%40mail.gmail.com.