Hide menu

TDDE47 Concurrent programming and Operating Systems

FAQ

The purpose of this page is to collect some common problems that students encounter. It is by no means complete, but the ambition is to exend this page with more problems and in time it will hopefully become a valuable resource. If you have something that you think would fit on this page. Please send a mail to the course assistant with the problem and solution (following the format below).

General issues

  • Problem: pintos/pintos-gdb not found (missing path)

    Solution:

    Make sure you have set the path properly in all the windows that you open. Reread the instructions given in the introductory lab on how to setup Pintos.

VM-related

  • Problem: gdb macros not available
    ...
    pintos-gdb: 19: exec: gdb: not found
    		

    Solution:

    You are probably trying to run pintos-gdb from within the trusty environment. Only pintos should be run from within the trusty environment, pintos-gdb should be run in a normal environment.

Emulator-related

  • Problem: Can't exec "qemu"
      qemu: -s: Failed to find an available port: Address already in use
    		

    Solution:

    Most likely there is already an instance of qemu running. Run the following in a terminal to terminate any process name 'qemu':

    pkill qemu

  • Problem: Can't exec "qemu" (on own machine)

    When running the pintos command "pintos --qemu -- -f -q", an error message is produced stating

    Can't exec "qemu": No such file or directory at qemu-system-i386 line 877.
    command failed
    		

    Solution:

    Install qemu (qemu-x86) through your package manager.

Debugging

  • Problem: pintos is stuck waiting for gdb to connect to it from another shell

    Solution:

    This problem seems to be caused by running on Thinlinc. Since other students might be running on the same machine, it can interfere with your instance. Login to a dedicated machine.

  • Problem: How to use a graphical debugger?

    Solution:

    In addition to the gdb-pintos command which provides an interactive but text-based interface, you can also use the graphical frontend ddd. To start ddd you follow all the instructions from lab0 except replacing the line:

    pintos-gdb kernel.o
    		

    with

    ddd --debugger pintos-gdb kernel.o
    		

    (As usual you must have setup your path correctly for it to work). The commands to gdb should be provided in the gdb console at the bottom of the ddd window. You can open the source files directly in ddd and set breakpoints by right-clicking in the source panel.


Page responsible: Klas Arvidsson
Last updated: 2026-01-19