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

Other attempted projects #14

Open
michael-schwarz opened this issue Jan 24, 2022 · 12 comments
Open

Other attempted projects #14

michael-schwarz opened this issue Jan 24, 2022 · 12 comments
Labels
goblint Goblint-specific problem project Project to analyze

Comments

@michael-schwarz
Copy link
Member

michael-schwarz commented Jan 24, 2022

@michael-schwarz michael-schwarz added the project Project to analyze label Jan 24, 2022
@michael-schwarz
Copy link
Member Author

michael-schwarz commented Jan 26, 2022

git.fixed-cil.zip

Edit: This once again is hodgepodge of different executables, so analyzing it is not really meaningful.

@michael-schwarz
Copy link
Member Author

michael-schwarz commented Feb 18, 2022

For FFmpeg with goblint/cil#80 and corresponding fix in Goblint, CIL succeeds to parse and combine everything. However, the analysis then gets stuck at:

Adding constructors to: main
And now...  the Goblin!
Startfuns: [main]
Exitfuns: []
Otherfuns: []
Using new format for phases!
Activated analyses for phase 0: expRelation, base, threadid, threadflag, threadreturn, escape, mutex, access, mallocWrapper, mhp
Activated transformations for phase 0: 
Generating the control flow graph.

using up >250GB of RAM. To me, it seems like there is something wrong in the CFG generation here then.

@sim642
Copy link
Member

sim642 commented Feb 18, 2022

To me, it seems like there is something wrong in the CFG generation here then.

It would be useful to make Goblint temporarily print the function name whose CFG is being constructed, so we can quickly find a minimal example I could look at.

@michael-schwarz
Copy link
Member Author

The problem more is that we have Number of globals 510848. CFG generation does not freeze but become increasingly slow and RAM usage goes up to ridiculous numbers ~220GB before it also runs out of RAM on the server and dies.

@sim642
Copy link
Member

sim642 commented Feb 18, 2022

That's the number of globals, but surely they aren't most functions, but just variables.

@michael-schwarz
Copy link
Member Author

Still, the numbers of functions is also at least >20k (at which point I aboated it)

An interesting observation is that the check whether everything is connected dominates the actual computation of CFGs by a factor of 200:

    makeCFG                         1.047 s
    connect                        171.697 s

@michael-schwarz
Copy link
Member Author

michael-schwarz commented Feb 18, 2022

@sim642 wrote:

The check whether everything is connected dominates the actual computation of CFGs by a factor fo 200:

    makeCFG                         1.047 s
    connect                        171.697 s

Also what program is this on where it has terminated?

@sim642
Copy link
Member

sim642 commented Apr 28, 2022

Since the_silver_searcher is on master in gobpie-demos, I looked at the races Goblint finds from it. At least half of them are simply because of assignments to unknown pointer, which through some fabulous logic distributes the write access to every field of every global. These might again be due to our missing realloc (goblint/analyzer#701) handling.
Given the "quality" of the_silver_searcher, I suspect there are actual races to be found as well, although there's also too much noise.

@karoliineh

This comment was marked as duplicate.

@michael-schwarz
Copy link
Member Author

If the sever is the bottleneck: If you write a script with the steps, I can run it on our sever with 512GB of RAM, though that is the biggest one we have.

@sim642

This comment was marked as duplicate.

@sim642 sim642 mentioned this issue Oct 6, 2023
@sim642
Copy link
Member

sim642 commented Oct 6, 2023

I moved the discussion about git to a separate issue (#62) and hid those comments from here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
goblint Goblint-specific problem project Project to analyze
Projects
None yet
Development

No branches or pull requests

3 participants