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

systemd: bad build #1330

Closed
Dor1s opened this issue Apr 17, 2018 · 23 comments · Fixed by systemd/systemd#8927
Closed

systemd: bad build #1330

Dor1s opened this issue Apr 17, 2018 · 23 comments · Fixed by systemd/systemd#8927

Comments

@Dor1s
Copy link
Contributor

Dor1s commented Apr 17, 2018

Has been detected after lading #838

https://oss-fuzz-build-logs.storage.googleapis.com/index.html

Step #5: INFO: performing bad build checks for /workspace/out/address/src/shared/libsystemd-shared-238.so.
Step #5: INFO: performing bad build checks for /workspace/out/address/fuzz-dns-packet.
Step #5: INFO: performing bad build checks for /workspace/out/address/fuzz-unit-file.
Step #5: INFO: performing bad build checks for /workspace/out/address/fuzz-dhcp-server.
Step #5: /usr/local/bin/bad_build_check: line 37:    21 Segmentation fault      (core dumped) $FUZZER -runs=$MIN_NUMBER_OF_RUNS &> $FUZZER_OUTPUT
Step #5: /usr/local/bin/bad_build_check: line 58: ((: < 256 : syntax error: operand expected (error token is "< 256 ")
Step #5: Broken fuzz targets (1):
Step #5: libsystemd-shared-238.so:
Step #5: BAD BUILD: /workspace/out/address/src/shared/libsystemd-shared-238.so does not seem to be compiled with ASan.
Step #5: BAD BUILD: the fuzzer seems to have either startup crash or exit.
Step #5: ERROR: 25% of fuzz targets seem to be broken. See the list above for a detailed information.

Not sure why we tried to perform the check for /workspace/out/address/src/shared/libsystemd-shared-238.so, does it have +x access rights?

@Dor1s
Copy link
Contributor Author

Dor1s commented Apr 17, 2018

Yes, looks like.

root@6bb6478915bb:/out# ls -l src/shared/libsystemd-shared-238.so 
-rwxr-xr-x 1 root root 9956424 Apr 17 21:35 src/shared/libsystemd-shared-238.so

@titanous, @keszybz could you please not to copy that library into the $OUT/ directory?

@keszybz
Copy link
Contributor

keszybz commented Apr 18, 2018

This is a private shared library used by the fuzzers. It needs to be installed:

# ldd /out/fuzz-unit-file|grep shared
	libsystemd-shared-238.so => /out/src/shared/libsystemd-shared-238.so (0x00007f851b15e000)

@Dor1s
Copy link
Contributor Author

Dor1s commented Apr 18, 2018

Thanks @keszybz for taking a look. Can you link that library statically?

@Dor1s
Copy link
Contributor Author

Dor1s commented Apr 24, 2018

There is one more problem now:

root@d69fb5534074:/out# ./fuzz-unit-file -runs=3
=================================================================
==169==ERROR: AddressSanitizer: odr-violation (0x000000bd58e0):
  [1] size=128 'namespace_flag_map' ../../src/systemd/src/shared/nsflags.c:15:33
  [2] size=128 'namespace_flag_map' ../../src/systemd/src/shared/nsflags.c:15:33
These globals were registered at these points:
  [1]:
    #0 0x448620 in __asan_register_globals.part.11 /src/llvm/projects/compiler-rt/lib/asan/asan_globals.cc:358
    #1 0x7138fb in asan.module_ctor (/out/fuzz-unit-file+0x7138fb)

  [2]:
    #0 0x448620 in __asan_register_globals.part.11 /src/llvm/projects/compiler-rt/lib/asan/asan_globals.cc:358
    #1 0x7f8a97aeb23b in asan.module_ctor (/out/src/shared/libsystemd-shared-238.so+0x2cd23b)

==169==HINT: if you don't care about these errors you may set ASAN_OPTIONS=detect_odr_violation=0
SUMMARY: AddressSanitizer: odr-violation: global 'namespace_flag_map' at ../../src/systemd/src/shared/nsflags.c:15:33
==169==ABORTING

@keszybz
Copy link
Contributor

keszybz commented Apr 25, 2018

Can you link that library statically?

Not easily. We used to link it statically into our binaries, but now we install ~200 binaries (including tests), so using a private share library gives significant space savings. It would be possible to add another compilation option and conditionalize meson.build files to support static libsystemd-shared, but it'd be additional build code (in an area which is already fairly complicated because of all the configuration choices) which would have to be written and maintained. So unless it's absolutely necessary, I'd prefer to not to have that, even if somebody else was to write the patch.

@keszybz
Copy link
Contributor

keszybz commented Apr 25, 2018

==169==ERROR: AddressSanitizer: odr-violation (0x000000bd58e0):
[1] size=128 'namespace_flag_map' ../../src/systemd/src/shared/nsflags.c:15:33
[2] size=128 'namespace_flag_map' ../../src/systemd/src/shared/nsflags.c:15:33

namespace_flag_map is defined in nsflags.c which is included in libsystemd-shared.so. I don't see anything special about this array, there are many others like it in libsystemd-shared.
...
That said, looking at objdump -s -j .rodata build/fuzz-unit-file and objdump -s -j .rodata build/src/shared/libsystemd-shared-238.so shows the contents of that table in both binaries. Fishy.

keszybz added a commit to keszybz/systemd that referenced this issue Apr 25, 2018
(or in terms of the names of the actual files on disk, do not link
libsystemd-shared-238.a into libcore.a).

libsystemd_static is linked into libsystemd_shared, which in turn means that
anything that links to libcore and libsystemd_shared will get libsystemd_static
twice:

$ cc -o systemd 'systemd@exe/src_core_main.c.o' -Wl,--no-undefined -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -pie -DVALGRIND -Wl,--start-group src/core/libcore.a src/shared/libsystemd-shared-238.a src/shared/libsystemd-shared-238.so -pthread -lrt -lseccomp -lselinux -lmount -lblkid -Wl,--end-group -lseccomp -lpam -L/lib64 -laudit -lkmod -lmount -lrt -lcap -lacl -lcryptsetup -lgcrypt -lip4tc -lip6tc -lseccomp -lselinux -lidn -llzma -llz4 -lblkid '-Wl,-rpath,$ORIGIN/src/shared' -Wl,-rpath-link,/home/zbyszek/src/systemd/build/src/shared

This propagation of the dependency seems correct (in the sense that meson is
doing the expected thing based on the given configuration). Linking was done
this way in the original meson conversion. I was probably trying to get
everything to compile and link, I'm not sure why this particular choice was
made. In the meantime, meson has gotten better at propagating dependencies, so
it's possible that this had slightly different effect in the original
conversion, but I did not verify this. Either way, I think we should drop this.

With the patch:
$ cc -o systemd 'systemd@exe/src_core_main.c.o' -Wl,--no-undefined -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -pie -DVALGRIND -Wl,--start-group src/core/libcore.a src/shared/libsystemd-shared-238.so -pthread -lrt -lseccomp -lselinux -lmount -Wl,--end-group -lblkid -lrt -lseccomp -lpam -L/lib64 -laudit -lkmod -lselinux -lmount '-Wl,-rpath,$ORIGIN/src/shared' -Wl,-rpath-link,/home/zbyszek/src/systemd/build/src/shared

This is more correct because we're not linking the same code twice.
With the patch, libystemd_static is used in exactly four places:
- src/shared/libsystemd-shared-238.so
- src/udev/libudev.so.1.6.10
- pam_systemd.so
- test-bus-error
(compared to a bunch more executables before, including systemd,
systemd-analyze, test-hostname, test-ns, etc.)

Size savings are also noticable:

$ size /var/tmp/inst?/usr/lib/systemd/libsystemd-shared-238.so
   text	   data	    bss	    dec	    hex	filename
2397826	 578488	  15920	2992234	 2da86a	/var/tmp/inst1/usr/lib/systemd/libsystemd-shared-238.so
2397826	 578488	  15920	2992234	 2da86a	/var/tmp/inst2/usr/lib/systemd/libsystemd-shared-238.so

$ size /var/tmp/inst?/usr/lib/systemd/systemd
   text	   data	    bss	    dec	    hex	filename
1858790	 261688	   9320	2129798	 207f86	/var/tmp/inst1/usr/lib/systemd/systemd
1556358	 258704	   8072	1823134	 1bd19e	/var/tmp/inst2/usr/lib/systemd/systemd

$ du -s /var/tmp/inst?
52216	/var/tmp/inst1
50844	/var/tmp/inst2

google/oss-fuzz#1330 (comment) might be related.
@keszybz
Copy link
Contributor

keszybz commented Apr 25, 2018

I was looking at our linking code and made (what I thought was) an unrelated PR: systemd/systemd#8813. But it seems like it could actually fix this odr-violation. Could you check if it makes a difference?

poettering pushed a commit to systemd/systemd that referenced this issue Apr 25, 2018
(or in terms of the names of the actual files on disk, do not link
libsystemd-shared-238.a into libcore.a).

libsystemd_static is linked into libsystemd_shared, which in turn means that
anything that links to libcore and libsystemd_shared will get libsystemd_static
twice:

$ cc -o systemd 'systemd@exe/src_core_main.c.o' -Wl,--no-undefined -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -pie -DVALGRIND -Wl,--start-group src/core/libcore.a src/shared/libsystemd-shared-238.a src/shared/libsystemd-shared-238.so -pthread -lrt -lseccomp -lselinux -lmount -lblkid -Wl,--end-group -lseccomp -lpam -L/lib64 -laudit -lkmod -lmount -lrt -lcap -lacl -lcryptsetup -lgcrypt -lip4tc -lip6tc -lseccomp -lselinux -lidn -llzma -llz4 -lblkid '-Wl,-rpath,$ORIGIN/src/shared' -Wl,-rpath-link,/home/zbyszek/src/systemd/build/src/shared

This propagation of the dependency seems correct (in the sense that meson is
doing the expected thing based on the given configuration). Linking was done
this way in the original meson conversion. I was probably trying to get
everything to compile and link, I'm not sure why this particular choice was
made. In the meantime, meson has gotten better at propagating dependencies, so
it's possible that this had slightly different effect in the original
conversion, but I did not verify this. Either way, I think we should drop this.

With the patch:
$ cc -o systemd 'systemd@exe/src_core_main.c.o' -Wl,--no-undefined -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -pie -DVALGRIND -Wl,--start-group src/core/libcore.a src/shared/libsystemd-shared-238.so -pthread -lrt -lseccomp -lselinux -lmount -Wl,--end-group -lblkid -lrt -lseccomp -lpam -L/lib64 -laudit -lkmod -lselinux -lmount '-Wl,-rpath,$ORIGIN/src/shared' -Wl,-rpath-link,/home/zbyszek/src/systemd/build/src/shared

This is more correct because we're not linking the same code twice.
With the patch, libystemd_static is used in exactly four places:
- src/shared/libsystemd-shared-238.so
- src/udev/libudev.so.1.6.10
- pam_systemd.so
- test-bus-error
(compared to a bunch more executables before, including systemd,
systemd-analyze, test-hostname, test-ns, etc.)

Size savings are also noticable:

$ size /var/tmp/inst?/usr/lib/systemd/libsystemd-shared-238.so
   text	   data	    bss	    dec	    hex	filename
2397826	 578488	  15920	2992234	 2da86a	/var/tmp/inst1/usr/lib/systemd/libsystemd-shared-238.so
2397826	 578488	  15920	2992234	 2da86a	/var/tmp/inst2/usr/lib/systemd/libsystemd-shared-238.so

$ size /var/tmp/inst?/usr/lib/systemd/systemd
   text	   data	    bss	    dec	    hex	filename
1858790	 261688	   9320	2129798	 207f86	/var/tmp/inst1/usr/lib/systemd/systemd
1556358	 258704	   8072	1823134	 1bd19e	/var/tmp/inst2/usr/lib/systemd/systemd

$ du -s /var/tmp/inst?
52216	/var/tmp/inst1
50844	/var/tmp/inst2

google/oss-fuzz#1330 (comment) might be related.
@Dor1s
Copy link
Contributor Author

Dor1s commented Apr 25, 2018

Thanks @keszybz ! I've just kick'ed off the rebuild. Will post an update later.

@Dor1s
Copy link
Contributor Author

Dor1s commented Apr 25, 2018

Looks like the build still produces out/address/src/shared/libsystemd-shared-238.so :/

@Dor1s
Copy link
Contributor Author

Dor1s commented Apr 25, 2018

Ah, sorry, you meant another error. Yes, odr-violation seems to be fixed now, thanks!

@Dor1s
Copy link
Contributor Author

Dor1s commented May 1, 2018

Ping, there is still an issue with the shared library.

@keszybz
Copy link
Contributor

keszybz commented May 7, 2018

Yes, the build produces the static library. Like I wrote (#1330 (comment)), the library is there on purpose. Are you sure that the "bad build check" is working correctly? Maybe it's just confused by the fact that this is a shared library not an executable.

(Would it help if we made the library -x?)

@Dor1s
Copy link
Contributor Author

Dor1s commented May 7, 2018

Yes, -x likely would help, as all executables in the $OUT/ dir are expected to be fuzz targets.

keszybz added a commit to keszybz/systemd that referenced this issue May 8, 2018
Apparently oss-fuzz's "bad build check" is confused by the library.
Let's make it non-executable, so the checker ignores it.

Should fix google/oss-fuzz#1330.
@evverx
Copy link
Contributor

evverx commented May 8, 2018

I was trying to reproduce the issue with infra/helper.py by running the following commands:

infra/helper.py build_image --pull systemd
infra/helper.py build_fuzzers --sanitizer address systemd
infra/helper.py check_build systemd

and I got an error that seems to be different from the error mentioned in the description:

Running: docker run --rm -i --privileged -e FUZZING_ENGINE=libfuzzer -e SANITIZER=address -v /home/vagrant/oss-fuzz/build/out/systemd:/out -t gcr.io/oss-fuzz-base/base-runner test_all
testing libsystemd-shared-238.so
/usr/local/bin/test_all: line 36: SKIP_TEST_TARGET_RUN: unbound variable
Check build failed.

.

SKIP_TEST_TARGET_RUN was removed in 69ffa9b, so apparently the docker images haven't been updated yet. Is there any chance they could be updated?

By the way, would it make sense to mention somewhere in the documentation that check_build exists and can be used to check whether everything is fine or not?

@Dor1s
Copy link
Contributor Author

Dor1s commented May 8, 2018

I think helper.py should ask you:

Pull latest base images (compiler/runtime)? (y/N): 

and if you reply y, you'll get the fresh images.

@evverx
Copy link
Contributor

evverx commented May 8, 2018

I use --pull, which is supposed to make helper.py pull the latest base image without asking anything.

@Dor1s
Copy link
Contributor Author

Dor1s commented May 8, 2018

I see you use it for build_image command, so it pulls a new builder image, but you also need a base-runner image updated because that's where the checks are being run.

@evverx
Copy link
Contributor

evverx commented May 8, 2018

My bad. It seems that I should have run infra/helper.py pull_images. I'll try again. Thank you.

@evverx
Copy link
Contributor

evverx commented May 8, 2018

I've reproduced the issue and I can confirm that it is gone after I applied systemd/systemd#8927. I'm not sure why check_build has been stuck in the loop for about half an hour:

  # Do not spawn more processes than the number of CPUs available.
  n_child_proc=$(jobs -p | wc -l)
  while [ "$n_child_proc" -eq "$NPROC" ]; do
    sleep 4
    n_child_proc=$(jobs -p | wc -l)
  done

, but it could probably be looked into later.

I think it would be great to mention in https://github.com/google/oss-fuzz/blob/master/docs/reproducing.md#reproducing-oss-fuzz-issues that apart from build_image, build_fuzzers and reproduce, pull_images and check_build should be run too.

evverx pushed a commit to systemd/systemd that referenced this issue May 8, 2018
Apparently oss-fuzz's "bad build check" is confused by the library.
Let's make it non-executable, so the checker ignores it.

Should fix google/oss-fuzz#1330.
@inferno-chromium
Copy link
Collaborator

pushing a new build, lets see if it succeeds.

@inferno-chromium
Copy link
Collaborator

yay, green build.

@Dor1s
Copy link
Contributor Author

Dor1s commented May 8, 2018

Thanks @evverx !

@evverx
Copy link
Contributor

evverx commented May 8, 2018

No problem. I figured out why check_build got stuck. It turns out that when jobs -p is used in a script, bash doesn't seem to mark jobs as "J_NOTIFIED", which leads to an infinite loop as soon as the number of jobs that has been run equals the number returned by nproc. It can be reproduced by applying the following patch:

diff --git a/infra/base-images/base-runner/test_all b/infra/base-images/base-runner/test_all
index 6a071c1..f5482d6 100755
--- a/infra/base-images/base-runner/test_all
+++ b/infra/base-images/base-runner/test_all
@@ -22,7 +22,7 @@ ALLOWED_BROKEN_TARGETS_PERCENTAGE=10
 TOTAL_TARGETS_COUNT=0

 # Number of CPUs available, this is needed for running tests in parallel.
-NPROC=$(nproc)
+NPROC=1

 # Directories where bad build check results will be written to.
 VALID_TARGETS_DIR="/tmp/valid_fuzz_targets"

and can be fixed by using jobs -rp instead of jobs -p:

diff --git a/infra/base-images/base-runner/test_all b/infra/base-images/base-runner/test_all
index 6a071c1..c9b6f5e 100755
--- a/infra/base-images/base-runner/test_all
+++ b/infra/base-images/base-runner/test_all
@@ -57,10 +57,10 @@ for FUZZER_BINARY in $(find $OUT/ -executable -type f); do
   TOTAL_TARGETS_COUNT=$[$TOTAL_TARGETS_COUNT+1]

   # Do not spawn more processes than the number of CPUs available.
-  n_child_proc=$(jobs -p | wc -l)
+  n_child_proc=$(jobs -rp | wc -l)
   while [ "$n_child_proc" -eq "$NPROC" ]; do
     sleep 4
-    n_child_proc=$(jobs -p | wc -l)
+    n_child_proc=$(jobs -rp | wc -l)
   done
 done

Dor1s added a commit that referenced this issue May 18, 2018
…gestion in #1330. (#1404)

* [docs] Add instructions on "pull_images" and "check_build" as per suggestion in #1330.

* Address review feedback

* fix a typo
Yamakuzure pushed a commit to elogind/elogind that referenced this issue Aug 23, 2018
(or in terms of the names of the actual files on disk, do not link
libsystemd-shared-238.a into libcore.a).

libsystemd_static is linked into libsystemd_shared, which in turn means that
anything that links to libcore and libsystemd_shared will get libsystemd_static
twice:

$ cc -o systemd 'systemd@exe/src_core_main.c.o' -Wl,--no-undefined -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -pie -DVALGRIND -Wl,--start-group src/core/libcore.a src/shared/libsystemd-shared-238.a src/shared/libsystemd-shared-238.so -pthread -lrt -lseccomp -lselinux -lmount -lblkid -Wl,--end-group -lseccomp -lpam -L/lib64 -laudit -lkmod -lmount -lrt -lcap -lacl -lcryptsetup -lgcrypt -lip4tc -lip6tc -lseccomp -lselinux -lidn -llzma -llz4 -lblkid '-Wl,-rpath,$ORIGIN/src/shared' -Wl,-rpath-link,/home/zbyszek/src/systemd/build/src/shared

This propagation of the dependency seems correct (in the sense that meson is
doing the expected thing based on the given configuration). Linking was done
this way in the original meson conversion. I was probably trying to get
everything to compile and link, I'm not sure why this particular choice was
made. In the meantime, meson has gotten better at propagating dependencies, so
it's possible that this had slightly different effect in the original
conversion, but I did not verify this. Either way, I think we should drop this.

With the patch:
$ cc -o systemd 'systemd@exe/src_core_main.c.o' -Wl,--no-undefined -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -pie -DVALGRIND -Wl,--start-group src/core/libcore.a src/shared/libsystemd-shared-238.so -pthread -lrt -lseccomp -lselinux -lmount -Wl,--end-group -lblkid -lrt -lseccomp -lpam -L/lib64 -laudit -lkmod -lselinux -lmount '-Wl,-rpath,$ORIGIN/src/shared' -Wl,-rpath-link,/home/zbyszek/src/systemd/build/src/shared

This is more correct because we're not linking the same code twice.
With the patch, libystemd_static is used in exactly four places:
- src/shared/libsystemd-shared-238.so
- src/udev/libudev.so.1.6.10
- pam_systemd.so
- test-bus-error
(compared to a bunch more executables before, including systemd,
systemd-analyze, test-hostname, test-ns, etc.)

Size savings are also noticable:

$ size /var/tmp/inst?/usr/lib/systemd/libsystemd-shared-238.so
   text	   data	    bss	    dec	    hex	filename
2397826	 578488	  15920	2992234	 2da86a	/var/tmp/inst1/usr/lib/systemd/libsystemd-shared-238.so
2397826	 578488	  15920	2992234	 2da86a	/var/tmp/inst2/usr/lib/systemd/libsystemd-shared-238.so

$ size /var/tmp/inst?/usr/lib/systemd/systemd
   text	   data	    bss	    dec	    hex	filename
1858790	 261688	   9320	2129798	 207f86	/var/tmp/inst1/usr/lib/systemd/systemd
1556358	 258704	   8072	1823134	 1bd19e	/var/tmp/inst2/usr/lib/systemd/systemd

$ du -s /var/tmp/inst?
52216	/var/tmp/inst1
50844	/var/tmp/inst2

google/oss-fuzz#1330 (comment) might be related.
Yamakuzure pushed a commit to elogind/elogind that referenced this issue Aug 24, 2018
(or in terms of the names of the actual files on disk, do not link
libsystemd-shared-238.a into libcore.a).

libsystemd_static is linked into libsystemd_shared, which in turn means that
anything that links to libcore and libsystemd_shared will get libsystemd_static
twice:

$ cc -o systemd 'systemd@exe/src_core_main.c.o' -Wl,--no-undefined -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -pie -DVALGRIND -Wl,--start-group src/core/libcore.a src/shared/libsystemd-shared-238.a src/shared/libsystemd-shared-238.so -pthread -lrt -lseccomp -lselinux -lmount -lblkid -Wl,--end-group -lseccomp -lpam -L/lib64 -laudit -lkmod -lmount -lrt -lcap -lacl -lcryptsetup -lgcrypt -lip4tc -lip6tc -lseccomp -lselinux -lidn -llzma -llz4 -lblkid '-Wl,-rpath,$ORIGIN/src/shared' -Wl,-rpath-link,/home/zbyszek/src/systemd/build/src/shared

This propagation of the dependency seems correct (in the sense that meson is
doing the expected thing based on the given configuration). Linking was done
this way in the original meson conversion. I was probably trying to get
everything to compile and link, I'm not sure why this particular choice was
made. In the meantime, meson has gotten better at propagating dependencies, so
it's possible that this had slightly different effect in the original
conversion, but I did not verify this. Either way, I think we should drop this.

With the patch:
$ cc -o systemd 'systemd@exe/src_core_main.c.o' -Wl,--no-undefined -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -pie -DVALGRIND -Wl,--start-group src/core/libcore.a src/shared/libsystemd-shared-238.so -pthread -lrt -lseccomp -lselinux -lmount -Wl,--end-group -lblkid -lrt -lseccomp -lpam -L/lib64 -laudit -lkmod -lselinux -lmount '-Wl,-rpath,$ORIGIN/src/shared' -Wl,-rpath-link,/home/zbyszek/src/systemd/build/src/shared

This is more correct because we're not linking the same code twice.
With the patch, libystemd_static is used in exactly four places:
- src/shared/libsystemd-shared-238.so
- src/udev/libudev.so.1.6.10
- pam_systemd.so
- test-bus-error
(compared to a bunch more executables before, including systemd,
systemd-analyze, test-hostname, test-ns, etc.)

Size savings are also noticable:

$ size /var/tmp/inst?/usr/lib/systemd/libsystemd-shared-238.so
   text	   data	    bss	    dec	    hex	filename
2397826	 578488	  15920	2992234	 2da86a	/var/tmp/inst1/usr/lib/systemd/libsystemd-shared-238.so
2397826	 578488	  15920	2992234	 2da86a	/var/tmp/inst2/usr/lib/systemd/libsystemd-shared-238.so

$ size /var/tmp/inst?/usr/lib/systemd/systemd
   text	   data	    bss	    dec	    hex	filename
1858790	 261688	   9320	2129798	 207f86	/var/tmp/inst1/usr/lib/systemd/systemd
1556358	 258704	   8072	1823134	 1bd19e	/var/tmp/inst2/usr/lib/systemd/systemd

$ du -s /var/tmp/inst?
52216	/var/tmp/inst1
50844	/var/tmp/inst2

google/oss-fuzz#1330 (comment) might be related.
tmatth pushed a commit to tmatth/oss-fuzz that referenced this issue Oct 22, 2018
…gestion in google#1330. (google#1404)

* [docs] Add instructions on "pull_images" and "check_build" as per suggestion in google#1330.

* Address review feedback

* fix a typo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants