Skip to content

Submit an issue bug

Sang-Hoon Kim edited this page Jun 25, 2018 · 2 revisions

Yes, this project is still in the developing phase and may contain a lot of bugs and issues. However, just to keep saying "somehow it stops working" does not improve/resolve the situation at all. Instead, submitting a bug report is a more productive approach.

Check the versions of your environment

  • We are keep fixing critical/minor bugs, so we recommend you to check the git repository and see if there is an update on the master branch. If the case, fetch the up-to-dated kernel and test with it.
  • Check the version of the running kernel. uname -a will provide some information. In particular, check the build time and build prefix to ensure the kernel is the one built AFTER the repository update and it is the one you are intended to run on.
  • Check the compiler toolchain. Build the compiler suite after update. Try to make clean and make in the source tree so that the tools and libraries for multi-ISA are up-to-dated. It goes without saying that the path in the Makefile points to the right compiler toolchain you intend.

Collect logs

  • Build the kernel to print out log messages. Turn on the following options;

    • CONFIG_POPCORN_DEBUG
    • CONFIG_POPCORN_DEBUG_PROCESS_SERVER
    • CONFIG_POPCORN_DEBUG_PAGE_SERVER
    • CONFIG_POPCORN_DEBUG_VMA_SERVER
    • CONFIG_POPCORN_CHECK_SANITY
  • Run your application until it drops a stack dump. It requires at least 30 seconds' log to trace back to the origin of the bug; use IPMI consoles or check /var/log/kern.log whether it contains logs.

  • Grab the kernel binary which is vmlinux in the kernel directory.

  • Grab the application source code and binary as well. We need the binary to pinpoint the location where it is halted. If it is not possible to provide the source code, make sure the binary is built with -g options so that it includes debug symbols.

  • Open an issue from here with the information including the buggy commit number.