-
Notifications
You must be signed in to change notification settings - Fork 273
output-repair tool to fix truncated XML and JSON log files #165
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
Conversation
May I ask why this is even necessary? That is, why does a truncated file come into existence? Is it that we'd just need a proper signal handler? |
The main reason was that there is nothing equivalent to signals if cbmc is started through CreateProcess in Windows. There are a couple of patches that do it with signals around bab8853 but we discarded them. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am wondering whether we should accept to just have an increasing number of directories with smaller tools (the code-warrior transformation tool comes to my mind), or create a separate repository, or some sub directory hosting those tools. Otherwise this all looks good.
Yes, I had similar discussions with Daniel. We should probably move musketeer, the symex tools, etc into a separate repo in order to reduce the number of folders in src/. |
The problem of moving into a separate repository is that these effectively die a silent death, because APIs keep changing. It would seem more honest to just delete the directory. |
Of course, there must also be CI for these repos to prevent this from happening. |
The problem is ownership: person A commits changes to cbmc that break the-other-repo. Who is going to notice this? (the-other-repo hasn't had a commit, hence travis wouldn't kick in.) Even if noticed, is person A going to fix the-other-repo? One approach that could make all of this work is for cbmc to include a script that
|
There are solutions for that, e.g. https://github.com/mernst/plume-lib/blob/master/bin/trigger-travis.sh, http://eng.rightscale.com/2015/04/27/dependent-builds-in-travis.html |
Thanks, that's nice, but I'm not sure it would solve the ownership problem? It would certainly work for 2ls as @peterschrammel would care, but for those directories named above I'd doubt anyone would step up to fix them. Making the cbmc Travis job fail forces people to care. |
d445eef
to
6e5bb88
Compare
6e5bb88
to
2c993f9
Compare
Is this a generic utility to close open tags in truncated XML / JSON files, or something more specific to CBMC? If the former, it seems sensible to move it to it's own project. It may be useful to people doing completely unrelated things. |
Yes, @rjmunro, there is nothing CBMC-specific. I can move it into a separate repo. |
I think that @tautschnig's comment about "dying a silent death, because APIs keep changing" isn't relevant if this is a generic tool. The JSON and XML specifications are not changing any time soon. :-) |
This is now available here: https://github.com/diffblue/output-repair |
[TYT-2] Support for wrapping the entry point in an infinite loop in the different tools
The XML version of that has been used by BTC for a couple of years now...