SRI-CSL / OCCAM

OCCAM: Object Culling and Concretization for Assurance Maximization
BSD 3-Clause "New" or "Revised" License
26 stars 10 forks source link

Segmentation fault in objdump and gprof after specialization with OCCAM #41

Closed mudbri closed 3 years ago

mudbri commented 3 years ago

Running the specialized binaries for gprof and objdumb results in a segmentation fault. gprof gives a segmentation fault immediately when its run while objdump prints the symbol table and then seg faults. The attached gprof_objdump.zip contains the compressed tar containing the source code of the applications, Makefile, and manifest files for both the applications.

To reproduce the issue with objdump, run:

  1. make
  2. slash --work-dir=slash_objdump --disable-inlining --inter-spec-policy=none --intra-spec-policy=onlyonce --use-pointer-analysis objdump.manifest
  3. cp name ./slash_objdump/name
  4. cd slash_objdump and then ./objdump_fin

To reproduce the issue with gprof, run:

  1. make
  2. slash --work-dir=slash_gprof --disable-inlining --inter-spec-policy=none --intra-spec-policy=onlyonce --use-pointer-analysis gprof.manifest
  3. cp name ./slash_gprof/name
  4. cd slash_gprof and then ./gprof_fin
caballa commented 3 years ago

The attached .zip does not seem right. Oh I see, it's a link to Microsoft OneDrive. It requires an account. Could you please just upload the zip file as you did for issue#42?

mudbri commented 3 years ago

The attached .zip does not seem right. Oh I see, it's a link to Microsoft OneDrive. It requires an account. Could you please just upload the zip file as you did for issue#42?

Updated: https://github.com/SRI-CSL/OCCAM/files/6418412/gprof_objdump.zip

caballa commented 3 years ago

The problems with objdump and gprof should be fixed now. You need to update src/analysis/sea-dsa which is a git submodule.

You can do the following:

cd src/analysis/sea-dsa
git pull origin dev10

and compile OCCAM again. Let me know if this works for you.

caballa commented 3 years ago

I'll close it for now. Let me know if you still have problems.

mudbri commented 3 years ago

The problem with gprof is fixed now. However, specialization of objdump now fails with the following error: "resolution of indirect calls failed". It seems like OCCAM runs out of memory (attached logfile.txt). I am performing these experiments on a 64-bit ubuntu bionic virtual machine with 12 GB of dedicated memory.

caballa commented 3 years ago

I ran without memory limit up to 32GB I think. I'll take a look but if the problem is actually memory I might not have a quick fix.

mudbri commented 3 years ago

I ran without memory limit up to 32GB I think. I'll take a look but if the problem is actually memory I might not have a quick fix.

Oh, alright. I'll try running it on a larger machine and will let you know if there are still any issues. Thanks!

mudbri commented 3 years ago

Objdump is also working. Closing.