Comments (7)
Can you confirm that you see a test failure with https://gerrit-review.googlesource.com/c/zoekt/+/302663 ?
Download with
git fetch https://gerrit.googlesource.com/zoekt refs/changes/63/302663/1 && git checkout FETCH_HEAD
it works for me.
from zoekt.
I can try. How do I run tests? I'm not familiar with Go.
One thing to note though is that I expect this simple test will work also. The repositories which fail are all on the large side: 4196 files (128M); 92K files (660M); 531K files (4042M).
Maybe have your test pipe the same file over and over until it gets to 100MB of source (or more) piped into Ctags? Interestingly it seemed to be consistently failing at the same place.
from zoekt.
I added some quick counters:
2021/04/08 16:50:05 Failure after writing 214372473 file bytes
2021/04/08 16:50:05 Failure after writing 217115443 bytes
2021/04/08 16:50:05 Failure after reading 133479912 bytes
2021/04/08 16:50:05 Failure after exchanging 350595355 bytes
The first number is the sum of the req.Size
s, the second is the total amount of data written to the Ctags pipe, the third is the total amount of data read from the Ctags pipe, and the fourth is the sum of the second and third.
from zoekt.
If I run your test, I only see the entries for main
and res
, not IFLM
which I also get when I run Ctags directly. Any idea why?
It seems you had a space prior to the initial *
, which was making it not return the IFLM
line.
from zoekt.
OK, so it seems to just be a bug in Ctags. I modified zoekt to create a new parser if it encountered an error, and when it hit it continued where it left off and failed again shortly thereafter. It seems with the new failure, I can reproduce using Ctags:
$ universal-ctags --_interactive=sandbox --fields=*
{"_type": "program", "name": "Universal Ctags", "version": "5.9.0"}
{"command":"generate-tags","filename":"flang/test/Preprocessing/pp038.F","size":378}
* FLM call with closing ')' on next line (not a continuation)
integer function IFLM(x)
integer :: x
IFLM = x
end function IFLM
program main
#define IFLM(x) ((x)+111)
integer :: res
res = IFLM(666
)
if (res .eq. 777) then
print *, 'pp038.F pass'
else
print *, 'pp038.F FAIL: ', res
end if
end
{"_type": "tag", "name": "main", "path": "flang/test/Preprocessing/pp038.F", "pattern": "/^ program main$/", "language": "Fortran", "line": 6, "kind": "program", "roles": "def"}
{"_type": "tag", "name": "res", "path": "flang/test/Preprocessing/pp038.F", "pattern": "/^ integer :: res$/", "language": "Fortran", "line": 8, "kind": "variable", "roles": "def", "scope": "main", "scopeKind": "program"}
path": "flang/test/Preprocessing/pp038.F", "pattern": "/^ integer :: res$/", "language": "Fortran", "line": 8, "kind": "variable", "roles": "def", "scope": "main", "scopeKind": "program"}
{"_type": "completed", "command": "generate-tags"}
from zoekt.
Created universal-ctags/ctags#2948
from zoekt.
Seems to be a bug in Ctags.
from zoekt.
Related Issues (20)
- Feature: Directory listing HOT 1
- Change Bitbucket Default Clone URL HOT 1
- zoekt-mirror-gitiles doesn't delete stale repos.
- support exact match for definitions like `sym:^create$` HOT 1
- installation of zoekt-indexer fails HOT 4
- Make line reference format in url hash formattable HOT 6
- zoekt cannot list enough search results HOT 3
- git:// url in submodule trips up web template rendering
- Revive REST functionality with what conditions? HOT 6
- Q: Show context HOT 6
- zoekt-webserver: Work With Empty Index Directory HOT 1
- Problem when using ctags: "write |1: file already closed" HOT 2
- zoekt-git-index fails with indexGitRepo(...): reference not found HOT 9
- zoekt-mirror-github doesn't update existing repository cache
- Error for all repos: `subrepository branch mismatch` HOT 3
- Need to exempt certain file types from being treated as binary due to trigram count HOT 1
- Error parsing regexp when escaped square brackets are quoted
- Feature request: filtering on whether code is in an archived repository HOT 1
- zoekt-indexserver: Support Per-Repository Branch Selection HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from zoekt.