Skip to content
Snippets Groups Projects
  • Nadav Har'El's avatar
    7d6f0aaf
    Test exceptions · 7d6f0aaf
    Nadav Har'El authored
    The previous commit (fix symbol resolution order) caused a regression -
    tst-pipe.so stopped working, aborting on segfault while handling an
    expected exception (one of the only places in OSV where we use an
    exception to signal an error - running out of file descriptors).
    
    However, it turns that commit just exposed an already existing bug
    in our exception unwinding support. The following trivial test of
    exceptions, throwing an integer and catching it, crashes both with
    the previous commit, and without it.
    7d6f0aaf
    History
    Test exceptions
    Nadav Har'El authored
    The previous commit (fix symbol resolution order) caused a regression -
    tst-pipe.so stopped working, aborting on segfault while handling an
    expected exception (one of the only places in OSV where we use an
    exception to signal an error - running out of file descriptors).
    
    However, it turns that commit just exposed an already existing bug
    in our exception unwinding support. The following trivial test of
    exceptions, throwing an integer and catching it, crashes both with
    the previous commit, and without it.
bootfs.manifest 3.41 KiB
[manifest]
/&/etc/fonts/fonts.conf: %(miscbase)s/&
/&/etc/fonts/conf.d/20-unhint-small-vera.conf: %(miscbase)s/&
/&/etc/fonts/conf.d/25-no-bitmap-fedora.conf: %(miscbase)s/&
/&/etc/fonts/conf.d/25-unhint-nonlatin.conf: %(miscbase)s/&
/&/etc/fonts/conf.d/30-metric-aliases.conf: %(miscbase)s/&
/&/etc/fonts/conf.d/30-urw-aliases.conf: %(miscbase)s/&
/&/etc/fonts/conf.d/40-nonlatin.conf: %(miscbase)s/&
/&/etc/fonts/conf.d/45-latin.conf: %(miscbase)s/&
/&/etc/fonts/conf.d/65-fonts-persian.conf: %(miscbase)s/&
/&/etc/fonts/conf.d/65-nonlatin.conf: %(miscbase)s/&
/&/etc/fonts/conf.d/69-unifont.conf: %(miscbase)s/&
/&/etc/fonts/conf.d/80-delicious.conf: %(miscbase)s/&
/&/etc/fonts/conf.d/90-synthetic.conf: %(miscbase)s/&
/&/etc/fonts/conf.d/59-liberation-mono.conf: %(miscbase)s/&
/&/etc/fonts/conf.d/59-liberation-sans.conf: %(miscbase)s/&
/&/etc/fonts/conf.d/59-liberation-serif.conf: %(miscbase)s/&
/tests/tst-pthread.so: ./tests/tst-pthread.so
/tests/tst-malloc.so: ../../external/glibc-testsuite/build/debug/malloc/tst-malloc.so
/tests/tst-getcwd.so: ../../external/glibc-testsuite/build/debug/io/tst-getcwd.so
/tests/tst-clock.so: ../../external/glibc-testsuite/build/debug/rt/tst-clock.so
/tests/tst-ramdisk.so: ./tests/tst-ramdisk.so
/tests/tst-vblk.so: ./tests/tst-vblk.so
/tests/tst-sockets.so: ./tests/tst-sockets.so
/tests/tst-bsd-tcp1.so: ./tests/tst-bsd-tcp1.so
/tests/tst-bsd-evh.so: ./tests/tst-bsd-evh.so
/tests/tst-bsd-callout.so: ./tests/tst-bsd-callout.so
/tests/tst-fpu.so: ./tests/tst-fpu.so
/tests/tst-preempt.so: ./tests/tst-preempt.so
/tests/tst-tracepoint.so: ./tests/tst-tracepoint.so
/tests/tst-leak.so: ./tests/tst-leak.so
/tests/tst-mmap.so: ./tests/tst-mmap.so
/tests/tst-mutex.so: ./tests/tst-mutex.so
/tests/tst-hub.so: ./tests/tst-hub.so
/tests/tst-condvar.so: ./tests/tst-condvar.so
/tests/tst-queue-mpsc.so: ./tests/tst-queue-mpsc.so
/&/tests/tst-af-local.so: ./&
/&/tests/tst-pipe.so: ./&
/&/tests/tst-bsd-kthread.so: ./&
/&/tests/tst-bsd-taskqueue.so: ./&
/&/tests/tst-solaris-taskq.so: ./&
/&/tests/tst-vfs.so: ./&
/&/tests/tst-yield.so: ./&
/&/tests/tst-ctxsw.so: ./&
/&/tests/tst-readdir.so: ./&
/&/tests/tst-zfs-simple.so: ./&
/&/tests/tst-zfs-disk.so: ./&
/&/tests/tst-wake.so: ./&
/&/tests/tst-epoll.so: ./&
/&/tests/tst-lfring.so: ./&
/&/tests/tst-resolve.so: ./&
/&/tests/tst-except.so: ./&
/testrunner.so: ./tests/testrunner.so
/java/Hello.class: ./tests/hello/Hello.class
/java.so: java/java.so
/java/RunJava.class: java/RunJava.class
/java/bench.jar: tests/bench/bench.jar
/java/cloudius.jar: java/cloudius.jar
/java/cli.jar: java/cli.jar
/tools/ifconfig.so: ./tools/ifconfig/ifconfig.so
/tools/lsroute.so: ./tools/route/lsroute.so
/console/util.js: ../../console/util.js
/console/autocomplete.js: ../../console/autocomplete.js
/console/optparse.js: ../../console/optparse.js
/console/cd.js: ../../console/cd.js
/console/pwd.js: ../../console/pwd.js
/console/ls.js: ../../console/ls.js
/console/cat.js: ../../console/cat.js
/console/tests.js: ../../console/tests.js
/console/help.js: ../../console/help.js
/console/run.js: ../../console/run.js
/console/arp.js: ../../console/arp.js
/console/route.js: ../../console/route.js
/console/ifconfig.js: ../../console/ifconfig.js
/console/java.js: ../../console/java.js
/console/cli.js: ../../console/cli.js
/console/init.js: ../../console/init.js
/console/md5sum.js: ../../console/md5sum.js
/console/dhclient.js: ../../console/dhclient.js
/&/console/perf.js: ../../&
/&/etc/hosts: ../../static/&