|Subject:||Segmentation fault in version 6.2.3|
|Date:||Wed, 30 May 2012 11:57:54 +0800|
Dear Gnu Global authors:
I’m a vimer and enjoying with gnu-global. So thanks for your great software.
But when I update Global from 6.2.2. to 6.2.3 I’ve encountered a “Segmentation fault”:
1. what is your environment (OS)?:
linux 2.6.31, vim
2. Which version of GLOBAL are you using?
3. What did you do? (command line)
cd $(proj_root) (only contain main.c)
cat `pwd`/main.c > file.list
gtags –f file.list
4. What did you expect from it?
Generate tags correctly
5. What was occurred? (as is)
After watching the codes, I find that the fault is caused by the regex.c line 5759 in function regexec(). The line is:
boolean want_reg_info = !preg->no_sub && nmatch > 0;
And the program fault because the preg is NULL. The regexex() is called by the function find_read_filelist() in find.c line 756. The code calling the regexec() was:
If (regexec(suff, path, 0, 0, 0) != 0) …
Here the suff is null, so the program fault. And the suff was a static regext point in the file find.c. It can only be inited in the function issourcefile().
So, I think the program fault because function issourcefile() is not called by somebody if I execute the commands above. But I don’t know where and when to call this function, what’s the meaning of this function. So I don’t know how to resolve this bug. Could you please help me?
|[Prev in Thread]||Current Thread||[Next in Thread]|