Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple different driver bugs from a large-scale parse #268

Closed
vmarkovtsev opened this issue Mar 20, 2019 · 18 comments
Closed

Multiple different driver bugs from a large-scale parse #268

vmarkovtsev opened this issue Mar 20, 2019 · 18 comments
Labels

Comments

@vmarkovtsev
Copy link
Contributor

I noticed that the cpp driver crashed at some point of my massive GitHub repository parsing.
Here are the logs: https://drive.google.com/file/d/1SqQt4s6sAJtF5im4nb3nY-Ig1K7gquQ9

@bzz
Copy link
Contributor

bzz commented Mar 20, 2019

It's going to take a while to grok 500mb of logs :) Thank you very much!

From a very quick glance there are at least some:

Going to dig deeper tomorrow and update the list here, before proceeding with fixes.

@vmarkovtsev
Copy link
Contributor Author

I am currently running massive parsing on several machines, once they finish I will share more logs 👍

@bzz
Copy link
Contributor

bzz commented Mar 20, 2019

13 bugs so far 😆 - I think it's a fair start :)
Going to dig deeper in each of those, case by case, before doing any more breadth error coverage reporting.

Good news is that the next bblfhsd release going to include a fix for restarting the drivers bblfsh/sdk#381 so it would simplify both, large scale parsing and log error hunting.

@bzz
Copy link
Contributor

bzz commented Mar 21, 2019

Could not resist: here is a nice distribution of error logs per language

cpp        21202
javascript 4076
php        2958
python     1166
csharp     219
java       107
go         86
ruby       20
bash       0
typescript 0

Script to reproduce

for LANG in java javascript php ruby go python csharp cpp bash typescript
do
  echo "${LANG}"; grep "language=${LANG}$" bblfshd.log | grep -c "error"
done

grep -oP "error: rpc error: code = [[:alnum:]]*" bblfshd.log | sort | uniq -c | sort -dr

And here is the distribution of all 34,892 grpc error reports by type

  22292 error: rpc error: code = Internal
  11762 error: rpc error: code = FailedPrecondition
    416 error: rpc error: code = DeadlineExceeded
    394 error: rpc error: code = Canceled
     28 error: rpc error: code = ResourceExhausted

Scripts in details could be useful to compare this with the next log analysis, using a new bblfshd version.

@dennwc
Copy link
Member

dennwc commented Mar 21, 2019

Should we move this issue to bblfshd then? Sounds like it becomes more an umbrella issue than something specific for C++ driver.

@bzz bzz transferred this issue from bblfsh/cpp-driver Mar 21, 2019
@bzz bzz changed the title Driver crashes Multiple different driver bugs from a large-scale parse Mar 21, 2019
@bzz
Copy link
Contributor

bzz commented Mar 21, 2019

Moved to bblfshd. Going to file individual driver issues from #268 (comment) now.

@creachadair
Copy link
Contributor

here is a nice distribution of error logs per language

A concrete demonstration of Bjarne Stroustrup's occasional observation that there are two kinds of languages: Those everyone complains about, and those nobody uses. Apparently even the compiler agrees. 😜

@bzz
Copy link
Contributor

bzz commented Mar 21, 2019

Triaged, actionable bugs:

The only 1 thing that is left before we can close this one are: dig a bit deeper to the origin of Python driver restarts e.g by listing the last errors before the first restart.

Update:

@bzz
Copy link
Contributor

bzz commented Mar 22, 2019

As soon as origin of last C++ failure is identified and a new issue is created for it under https://github.com/bblfsh/cpp-driver/milestone/1 - I think it should be good to close this issue in favor of individual driver milestones.

@vmarkovtsev
Copy link
Contributor Author

@bzz FWIW here is another log which is 8 times bigger, taken yesterday night: https://drive.google.com/file/d/1kBCdZm49sVEjVzVmcFX1flUgv6gvHBw1

@bzz
Copy link
Contributor

bzz commented Mar 25, 2019

@bzz FWIW here is another log which is 8 times bigger, taken yesterday night: https://drive.google.com/file/d/1kBCdZm49sVEjVzVmcFX1flUgv6gvHBw1

Thank you! We still have to finish the scope from the previous one first, I'm afraid 😆

What would really help is if we could collect a new log like that as soon as new bblfhsd is released. E.g if you could describe some simple procedure of getting one - we could run it on our own.

Otherwise, I'll get back and analyse this log but after finishing with current issues, most probably next week. Thanks again!

@dennwc
Copy link
Member

dennwc commented Apr 12, 2019

If it's possible, let's run the same large-scale parse again with the latest bblfshd. It should fix most of the issues.

@vmarkovtsev
Copy link
Contributor Author

I am going to do this next week.

@bzz
Copy link
Contributor

bzz commented May 3, 2019

It seems like all, but C++ and Ruby driver bugs were already fixed now.

@dennwc
Copy link
Member

dennwc commented May 3, 2019

Let's wait for the new bblfshd release, rerun the parse job and see if it catches anything new.

@dennwc
Copy link
Member

dennwc commented May 3, 2019

v2.13.0 is out, we can start testing it.

@bzz
Copy link
Contributor

bzz commented Jul 8, 2019

@dennwc do you think we could close this one now, in favor of a separate new issue for different logs?

@dennwc
Copy link
Member

dennwc commented Jul 8, 2019

@bzz Yes, sounds reasonable. Created a new one: #298

@dennwc dennwc closed this as completed Jul 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants