I was able to retrieve mkfs.so from the last build on Jenkins,
http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/build/release/tools/mkfs/
and replaced the one on my machine with this version, and got:

Assertion failed: (phdr.p_flags & (PF_R | PF_W | PF_X)) == PF_R
(core/elf.cc: fix_permissions: 495)

And indeed,

$ readelf -a mkfs.so
...
  GNU_RELRO      0x0000000000002d70 0x0000000000003d70 0x0000000000003d70
                 0x0000000000000290 0x0000000000000290  RW     0x8

So it's really "RW" there instead of R as it should be! So it's probably a
coincidence that something changed in the build machine in the same time
you changed nearby code...
Now I need to figure out *why* there's a RW there. If it's something legal,
we should just drop this assert. But I don't understand the point of a
relro section with RW permissions...

--
Nadav Har'El
[email protected]


On Wed, Oct 31, 2018 at 10:52 AM <[email protected]> wrote:

> See <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/1430/display/redirect?page=changes
> >
>
> Changes:
>
> [osv-dev] Added Ubuntu Bionic(18.04) to the setup script, based on Mint 19
>
> ------------------------------------------
> [...truncated 99.21 KB...]
> [INFO] Dependency-reduced POM written at: <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-base/runjava-isolated/dependency-reduced-pom.xml
> >
> [INFO]
> [INFO]
> [1m------------------------------------------------------------------------
> [m
> [INFO]  [1mBuilding java-tests-parent 1.0-SNAPSHOT [m
> [INFO]
> [1m------------------------------------------------------------------------
> [m
> [INFO]
> [INFO]
> [1m------------------------------------------------------------------------
> [m
> [INFO]  [1mBuilding tests-jre-extension 1.0-SNAPSHOT [m
> [INFO]
> [1m------------------------------------------------------------------------
> [m
> [INFO]
> [INFO]  [1m---  [0;32mmaven-resources-plugin:2.6:resources [m
> [1m(default-resources) [m @  [36mtests-jre-extension [0;1m --- [m
> [WARNING] Using platform encoding (UTF-8 actually) to copy filtered
> resources, i.e. build is platform dependent!
> [INFO] skip non existing resourceDirectory <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-tests/tests-jre-extension/src/main/resources
> >
> [INFO]
> [INFO]  [1m---  [0;32mmaven-compiler-plugin:3.1:compile [m
> [1m(default-compile) [m @  [36mtests-jre-extension [0;1m --- [m
> [INFO] Nothing to compile - all classes are up to date
> [INFO]
> [INFO]  [1m---  [0;32mmaven-resources-plugin:2.6:testResources [m
> [1m(default-testResources) [m @  [36mtests-jre-extension [0;1m --- [m
> [WARNING] Using platform encoding (UTF-8 actually) to copy filtered
> resources, i.e. build is platform dependent!
> [INFO] skip non existing resourceDirectory <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-tests/tests-jre-extension/src/test/resources
> >
> [INFO]
> [INFO]  [1m---  [0;32mmaven-compiler-plugin:3.1:testCompile [m
> [1m(default-testCompile) [m @  [36mtests-jre-extension [0;1m --- [m
> [INFO] No sources to compile
> [INFO]
> [INFO]  [1m---  [0;32mmaven-surefire-plugin:2.12.4:test [m
> [1m(default-test) [m @  [36mtests-jre-extension [0;1m --- [m
> [INFO] Tests are skipped.
> [INFO]
> [INFO]  [1m---  [0;32mmaven-jar-plugin:2.4:jar [m  [1m(default-jar) [m @
> [36mtests-jre-extension [0;1m --- [m
> [INFO]
> [INFO]
> [1m------------------------------------------------------------------------
> [m
> [INFO]  [1mBuilding tests-isolates 1.0-SNAPSHOT [m
> [INFO]
> [1m------------------------------------------------------------------------
> [m
> [INFO]
> [INFO]  [1m---  [0;32mmaven-resources-plugin:2.6:resources [m
> [1m(default-resources) [m @  [36mtests-isolates [0;1m --- [m
> [WARNING] Using platform encoding (UTF-8 actually) to copy filtered
> resources, i.e. build is platform dependent!
> [INFO] skip non existing resourceDirectory <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-tests/tests-isolates/src/main/resources
> >
> [INFO]
> [INFO]  [1m---  [0;32mmaven-compiler-plugin:3.1:compile [m
> [1m(default-compile) [m @  [36mtests-isolates [0;1m --- [m
> [INFO] Nothing to compile - all classes are up to date
> [INFO]
> [INFO]  [1m---  [0;32mmaven-assembly-plugin:2.2-beta-5:single [m
> [1m(make-jar-with-dependencies) [m @  [36mtests-isolates [0;1m --- [m
> [INFO] META-INF/ already added, skipping
> [INFO] META-INF/MANIFEST.MF already added, skipping
> [INFO] org/ already added, skipping
> [INFO] LICENSE.txt already added, skipping
> [INFO] Building jar: <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-tests/tests-isolates/target/tests-isolates-jar-with-dependencies.jar
> >
> [INFO] META-INF/ already added, skipping
> [INFO] META-INF/MANIFEST.MF already added, skipping
> [INFO] org/ already added, skipping
> [INFO] LICENSE.txt already added, skipping
> [INFO]
> [INFO]  [1m---  [0;32mmaven-resources-plugin:2.6:testResources [m
> [1m(default-testResources) [m @  [36mtests-isolates [0;1m --- [m
> [WARNING] Using platform encoding (UTF-8 actually) to copy filtered
> resources, i.e. build is platform dependent!
> [INFO] skip non existing resourceDirectory <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-tests/tests-isolates/src/test/resources
> >
> [INFO]
> [INFO]  [1m---  [0;32mmaven-compiler-plugin:3.1:testCompile [m
> [1m(default-testCompile) [m @  [36mtests-isolates [0;1m --- [m
> [INFO] No sources to compile
> [INFO]
> [INFO]  [1m---  [0;32mmaven-surefire-plugin:2.12.4:test [m
> [1m(default-test) [m @  [36mtests-isolates [0;1m --- [m
> [INFO] Tests are skipped.
> [INFO]
> [INFO]  [1m---  [0;32mmaven-jar-plugin:2.4:jar [m  [1m(default-jar) [m @
> [36mtests-isolates [0;1m --- [m
> [INFO]
> [INFO]
> [1m------------------------------------------------------------------------
> [m
> [INFO]  [1mBuilding runjava-tests 1.0-SNAPSHOT [m
> [INFO]
> [1m------------------------------------------------------------------------
> [m
> [INFO]
> [INFO]  [1m---  [0;32mmaven-dependency-plugin:2.3:properties [m
> [1m(default) [m @  [36mrunjava-tests [0;1m --- [m
> [INFO]
> [INFO]  [1m---  [0;32mmaven-resources-plugin:2.6:resources [m
> [1m(default-resources) [m @  [36mrunjava-tests [0;1m --- [m
> [WARNING] Using platform encoding (UTF-8 actually) to copy filtered
> resources, i.e. build is platform dependent!
> [INFO] skip non existing resourceDirectory <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-tests/tests/src/main/resources
> >
> [INFO]
> [INFO]  [1m---  [0;32mmaven-compiler-plugin:3.1:compile [m
> [1m(default-compile) [m @  [36mrunjava-tests [0;1m --- [m
> [INFO] Nothing to compile - all classes are up to date
> [INFO]
> [INFO]  [1m---  [0;32mmaven-resources-plugin:2.6:testResources [m
> [1m(default-testResources) [m @  [36mrunjava-tests [0;1m --- [m
> [WARNING] Using platform encoding (UTF-8 actually) to copy filtered
> resources, i.e. build is platform dependent!
> [INFO] skip non existing resourceDirectory <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-tests/tests/src/test/resources
> >
> [INFO]
> [INFO]  [1m---  [0;32mmaven-compiler-plugin:3.1:testCompile [m
> [1m(default-testCompile) [m @  [36mrunjava-tests [0;1m --- [m
> [INFO] No sources to compile
> [INFO]
> [INFO]  [1m---  [0;32mmaven-surefire-plugin:2.12.4:test [m
> [1m(default-test) [m @  [36mrunjava-tests [0;1m --- [m
> [INFO] Tests are skipped.
> [INFO]
> [INFO]  [1m---  [0;32mmaven-jar-plugin:2.4:jar [m  [1m(default-jar) [m @
> [36mrunjava-tests [0;1m --- [m
> [INFO]
> [INFO]  [1m---  [0;32mmaven-assembly-plugin:2.2-beta-5:single [m
> [1m(make-jar-with-dependencies) [m @  [36mrunjava-tests [0;1m --- [m
> [INFO] META-INF/ already added, skipping
> [INFO] META-INF/MANIFEST.MF already added, skipping
> [INFO] org/ already added, skipping
> [INFO] LICENSE.txt already added, skipping
> [INFO] META-INF/ already added, skipping
> [INFO] META-INF/MANIFEST.MF already added, skipping
> [INFO] org/ already added, skipping
> [INFO] META-INF/ already added, skipping
> [INFO] META-INF/MANIFEST.MF already added, skipping
> [INFO] org/ already added, skipping
> [INFO] org/fest/ already added, skipping
> [INFO] META-INF/maven/ already added, skipping
> [INFO] META-INF/maven/org.easytesting/ already added, skipping
> [INFO] META-INF/ already added, skipping
> [INFO] META-INF/MANIFEST.MF already added, skipping
> [INFO] org/ already added, skipping
> [INFO] org/fest/ already added, skipping
> [INFO] META-INF/maven/ already added, skipping
> [INFO] META-INF/maven/org.easytesting/ already added, skipping
> [INFO] META-INF/ already added, skipping
> [INFO] META-INF/MANIFEST.MF already added, skipping
> [INFO] org/ already added, skipping
> [INFO] META-INF/maven/ already added, skipping
> [INFO] META-INF/ already added, skipping
> [INFO] META-INF/MANIFEST.MF already added, skipping
> [INFO] org/ already added, skipping
> [INFO] org/apache/ already added, skipping
> [INFO] org/apache/commons/ already added, skipping
> [INFO] META-INF/LICENSE.txt already added, skipping
> [INFO] META-INF/NOTICE.txt already added, skipping
> [INFO] META-INF/maven/ already added, skipping
> [INFO] Building jar: <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-tests/tests/target/runjava-tests.jar
> >
> [INFO] META-INF/ already added, skipping
> [INFO] META-INF/MANIFEST.MF already added, skipping
> [INFO] org/ already added, skipping
> [INFO] LICENSE.txt already added, skipping
> [INFO] META-INF/ already added, skipping
> [INFO] META-INF/MANIFEST.MF already added, skipping
> [INFO] org/ already added, skipping
> [INFO] META-INF/ already added, skipping
> [INFO] META-INF/MANIFEST.MF already added, skipping
> [INFO] org/ already added, skipping
> [INFO] org/fest/ already added, skipping
> [INFO] META-INF/maven/ already added, skipping
> [INFO] META-INF/maven/org.easytesting/ already added, skipping
> [INFO] META-INF/ already added, skipping
> [INFO] META-INF/MANIFEST.MF already added, skipping
> [INFO] org/ already added, skipping
> [INFO] org/fest/ already added, skipping
> [INFO] META-INF/maven/ already added, skipping
> [INFO] META-INF/maven/org.easytesting/ already added, skipping
> [INFO] META-INF/ already added, skipping
> [INFO] META-INF/MANIFEST.MF already added, skipping
> [INFO] org/ already added, skipping
> [INFO] META-INF/maven/ already added, skipping
> [INFO] META-INF/ already added, skipping
> [INFO] META-INF/MANIFEST.MF already added, skipping
> [INFO] org/ already added, skipping
> [INFO] org/apache/ already added, skipping
> [INFO] org/apache/commons/ already added, skipping
> [INFO] META-INF/LICENSE.txt already added, skipping
> [INFO] META-INF/NOTICE.txt already added, skipping
> [INFO] META-INF/maven/ already added, skipping
> [WARNING] Configuration options: 'appendAssemblyId' is set to false, and
> 'classifier' is missing.
> Instead of attaching the assembly file: <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-tests/tests/target/runjava-tests.jar,>
> it will become the file for main project artifact.
> NOTE: If multiple descriptors or descriptor-formats are provided for this
> project, the value of this file will be non-deterministic!
> [WARNING] Replacing pre-existing project main-artifact file: <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-tests/tests/target/runjava-tests-1.0-SNAPSHOT.jar
> >
> with assembly file: <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-tests/tests/target/runjava-tests.jar
> >
> [INFO]
> [1m------------------------------------------------------------------------
> [m
> [INFO]  [1mReactor Summary: [m
> [INFO]
> [INFO] runjava-common .....................................  [1;32mSUCCESS
> [m [  0.592 s]
> [INFO] runjava-non-isolated ...............................  [1;32mSUCCESS
> [m [  0.348 s]
> [INFO] runjava-isolated ...................................  [1;32mSUCCESS
> [m [  0.656 s]
> [INFO] java-tests-parent ..................................  [1;32mSUCCESS
> [m [  0.000 s]
> [INFO] tests-jre-extension ................................  [1;32mSUCCESS
> [m [  0.022 s]
> [INFO] tests-isolates .....................................  [1;32mSUCCESS
> [m [  0.111 s]
> [INFO] runjava-tests ......................................  [1;32mSUCCESS
> [m [  0.468 s]
> [INFO]
> [1m------------------------------------------------------------------------
> [m
> [INFO]  [1;32mBUILD SUCCESS [m
> [INFO]
> [1m------------------------------------------------------------------------
> [m
> [INFO] Total time: 2.289 s
> [INFO] Finished at: 2018-10-31T10:22:40+02:00
> [INFO] Final Memory: 20M/371M
> [INFO]
> [1m------------------------------------------------------------------------
> [m
> make[1]: Leaving directory '<
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-tests
> '>
> make[1]: Entering directory '<
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/tests'>
>   generating modules/tests/usr.manifest
> ./create_static.sh <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/build/release.x64>
> zfs
> make[1]: Leaving directory '<
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/tests'>
> No such image configuration: tests. Assuming list of modules.
> Importing <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/tests/module.py
> >
> Importing <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-tests/module.py
> >
> Importing <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java/module.py
> >
> Importing <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-non-isolated/module.py
> >
> Importing <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-base/module.py
> >
> Importing <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/apps/fonts/module.py
> >
> No module.py in <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/ca-certificates
> >
> No module.py in <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/libz>
> Importing <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/openjdk7/module.py
> >
> Modules:
>   fonts
>   ca-certificates
>   libz
>   java-base
>   java-non-isolated
>   openjdk7
>   java
>   java-tests
>   tests.*
> Preparing usr.manifest
> Appending <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/apps/fonts/usr.manifest>
> to usr.manifest
> Appending <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/ca-certificates/usr.manifest>
> to usr.manifest
> Appending <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/libz/usr.manifest>
> to usr.manifest
> Appending <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-base/usr.manifest>
> to usr.manifest
> Appending <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-non-isolated/usr.manifest>
> to usr.manifest
> Appending <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/java-tests/usr.manifest>
> to usr.manifest
> Appending <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/modules/tests/usr.manifest>
> to usr.manifest
> Preparing bootfs.manifest
> Saving command line to <
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/build/release.x64/cmdline
> >
> No apps selected
> make[1]: Entering directory '<
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/'>
> Building into build/release.x64
>   GEN gen/include/osv/version.h
>   MKBOOTFS build/release.x64/bootfs.bin
>   AS bootfs.S
>   LINK loader.elf
>   LIBOSV.SO
>   STRIP loader.elf -> loader-stripped.elf
>   LZ loader-stripped.elf
>   OBJCOPY loader-stripped.elf.lz -> loader-stripped.elf.lz.o
>   LINK lzloader.elf
>   ALIGN lzloader.elf
>   AS arch/x64/boot16.S
>   LD build/release.x64/boot.bin
>   DD loader.img boot.bin
>   DD loader.img lzloader.elf
>   IMGEDIT build/release.x64/loader.img
>   IMGEDIT build/release.x64/loader.img
>   AS arch/x64/boot32.S
>   LD build/release.x64/loader.bin
> make[1]: Leaving directory '<
> http://jenkins.cloudius-systems.com:8080/job/osv-build/ws/'>
> OSv v0.52.0-6-gea75831f
> eth0: 192.168.122.15
> Assertion failed: (phdr.p_flags & (PF_R | PF_W | PF_X)) == PF_R
> (core/elf.cc: fix_permissions: 495)
>
> [backtrace]
> 0x0000000000226048 <__assert_fail+24>
> 0x000000000033b547 <elf::object::fix_permissions()+215>
> 0x0000000000341d48
> <elf::program::load_object(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > >,
> std::vector<std::shared_ptr<elf::object>,
> std::allocator<std::shared_ptr<elf::object> > >&)+1464>
> 0x0000000000342542
> <elf::program::get_library(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > >, bool)+338>
> 0x0000000000419c9b
> <osv::application::application(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > > const&, bool,
> std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::hash<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > >,
> std::allocator<std::pair<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > > > > const*, std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::function<0x000000000041a509
> <osv::application::run(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > > const&, bool,
> std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::hash<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > >,
> std::allocator<std::pair<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > > > > const*, std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&, std::function<void
> ()>0x000000000041a77a
> <osv::application::run(std::vector<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > > > const&)+90>
> 0x0000000000213342 <do_main_thread(void*)+1938>
> 0x000000000044c675 <???+4507253>
> 0x00000000003e82d6 <thread_main_c+38>
> 0x000000000038b9f2 <???+3717618>
> Build timed out (after 30 minutes). Marking the build as failed.
> Build was aborted
> qemu-system-x86_64: terminating on signal 15 from pid 6228 (java)
> make: *** [Makefile:146: check] Terminated
>

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to