-
Notifications
You must be signed in to change notification settings - Fork 139
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
Segmentation Faults 2017-08-03 #468
Comments
The 201st case (which causes a segfault in Kona) is:
This gets simplified to
which causes a segfault in Kona. |
This regression was fixed (issue 475) on Aug 21, 2017. |
Case 255 reveals another problem not related to syntax checking.
The following works as it should (value error):
However, making the 255 a parameter causes a seg fault:
But in k2.8, having 255 as a parameter works (value error)
I will create a separate issue for this problem. |
Case 255 probably does not need a separate issue. Consider a somewhat simplified form:
This prodces a result in k2.8
but in k2.8, simply executing the command does not does not produce results
In Kona, we get a segfault
but Kona will execute the command directly (and needs stopping):
I think it may be OK to make this a syntax error. |
Forgot to factor in the "escapes". It is consistently good syntax in k2.8:
And it consistently segfaults in Kona:
Since the syntax is OK, case 255 does deserve a separate issue. |
On the other hand, in k2.8 case 255 is clearly a borderline case (and probably should be considered a syntax error):
I think I will go with syntax error in Kona (for now). This can be changed if needed. |
Interesting:
Using the latest commit 79a5e0a of Mar 10, 2020:
Sometime between Mar 23, 2018 and Mar 10, 2020 a change was made that causes case 73 to segfault. Case 73 is |
Here are the results using k2.8 on these 2 cases:
|
The commit that causes case 73 to segfault again is 31fc38f . |
After commit 7a02fd6 we get a segfault on case 483 In case 483, k2.8 passes a command to the shell:
When run in a standalone basis, kona simply exits:
|
After commit 50f33aa case 483 works again when run standalone:
However, when run in a batch it fails, and the content is reported differently:
This bears further investigation. |
Consider this script
When run using k2.8 on case 483
We get same result when using kona
Consider this script
It runs the first 484 cases. Using k2.8, the final test result is:
Using kona, the final test result is:
Kona is segfaulting when the shell command is not found.
Additional notes:
|
If we modify the batch script to only run 191 and 311, and have it display the complete result codes:
we see k2.8 is actually initiating a stop
kona is only reporting a syntax error
|
A minimal 6-character inuput string for case 190
kona
Similarly, a 6-character minimal input string for case 311
kona
|
From the k2.0 reference manual:
Looks like Except that the break flag is set to
It seems this is a bug in k2.8. |
Case 483 (when run in batch) now works.
We have 12,380 cases to work through. |
Hello, I was using American Fuzzy Lop (afl-fuzz) to fuzz input to the
k
program on Linux. Is fixing the crashes from these input files something you're interested in? The input files can be found here: https://github.com/rwhitworth/kona-fuzz/tree/master/2017-08-03. kona was compiled from git commit 3d0ca5aThe files can be executed as
./k id_filename
to cause segmentation faults.Let me know if I can provide any more information to help narrow down this issue.
Here are two examples of backtraces from gdb:
id:000000,sig:11,src:000020,op:arith8,pos:0,val:-21
id:000002,sig:11,src:000001+000321,op:splice,rep:4
The text was updated successfully, but these errors were encountered: