ChrisDodd / btyacc

Backtracking yacc
18 stars 5 forks source link

Commit 0cb15cb (add help target; fix recovery after explicit YYERROR) introduced crash. #23

Closed satya-das closed 5 years ago

satya-das commented 6 years ago

I am using btyacc to parse c++ (https://github.com/satya-das/cppparser) and I am experiencing crash. I tracked down the crash to the changes done in mentioned commit. If I remove the changes, which was small, in btyaccpa.ske then the crash gets fixed. I don't know btyacc code much so I have no idea why the crash happens but I had commented on the problematic commit 2 years ago mentioning the reason of the crash. Please have a look at https://github.com/ChrisDodd/btyacc/commit/0cb15cb852da53bf18bab7c2e72964a5c3d011d3#comments

ChrisDodd commented 6 years ago

Do you have a test case that triggers the problem? I tried to build your project, but run into obscure C++ overload failures. The code you commented on is only called from an action with an explicit YYERROR, so unless the action corrupted the yacc stack, it should never become negative there.

ChrisDodd commented 6 years ago

I'm guessing this is the same problem as #21, which I just committed a fix for...

satya-das commented 6 years ago

Thanks a lot for your promptness. I was writing bash script for doing steps to reproduce this problem but I found that it is not happening any more. May be because I have made changes in the grammar that now avoids the crash. It's surprising because once in a while I used to try to update my BtYacc for last 2 years and always reverted back because of crash. Anyway it is working now. If I get the crash again then I will let you know. Thanks again, Satya

satya-das commented 6 years ago

I'm guessing this is the same problem as #21, which I just committed a fix for...

May be. And it is not happening anymore. Thanks for solving this.