This page contains a compiled list of common errors we've seen in past semesters along with possible explanations and solutions. We understand this page is long, but please use it throughout the course before asking on Ed!
git and Starter Code
fatal: Need to specify how to reconcile divergent branches
This error means that the branch you're pulling from has some commits you don't have locally, and vice versa. Add the
--ff flag to the command to let
git know how you would like
git to merge these branches.
fatal: 'starter' does not appear to be a git repository
Make sure you've completed the setup section for the assignment you're completing and added the starter repo as a remote. For labs, refer to lab 0.
Restoring starter code
git checkout starter/main path_to_file, where
path_to_file, is the file you'd like to reset to the original starter code.
error: pathspec 'starter/main' did not match any file(s) known to git
You probably haven't pulled from the starter repo before, so
git doesn't know about it. Run
git fetch starter to fetch information about starter files.
Your repository is being downloaded from Github...
There are probably files with unprintable filenames in your repo, which Gradescope doesn't like. Try deleting it using either your command line or on GitHub. If you're unable to delete these files, please make a private question on Ed.
If you see any of the following errors, it probably means that you have an error related to accessing memory. We recommend running
valgrind to pinpoint where the error is.
Segmentation fault (core dumped)
double free or corruption
malloc(): memory corruption
corrupted size vs. prev_size
- There are others as well, we'll add it to this list as we find them.
[some file name].c: No such file or directory
You're most likely stepping into a C library function (such as
fopen, etc). We don't have the source code for these files, so
cgdb complains that it can't find the source code. Instead, you should step over calls to library functions instead of stepping into them.
valgrind, but passes with
When you run a program with valgrind, it adds protection for memory accesses to prevent and catch invalid memory reads and writes. Because of the extra protection, your program may pass the test cases when running with valgrind. However, this doesn't mean your program doesn't have any invalid memory accesses. Try to fix any errors that valgrind itself throws.
Unable to access jarfile tools/venus.jar
Sometimes, the Venus (and Logisim) jar files get corrupted. Run the following commands:
mount: IllegalStateException: Failed to send the request! Is the mount server still running?
Make sure your local Venus server is running (the
java -jar tools/venus.jar . -dm command). When copying the command for mounting from your terminal, try using right click instead of Ctrl + C, since the latter might quit your local server.
Exited with error code 0
Error code 0 means your program exited without any errors, so this is normal.
label exit used but not defined
exit label is defined in
utils.s, and it is imported only in the test files. Make sure you're running the test files through Venus/VDB, not the files you're editing. Please don't recompile after starting VDB from the "Files" tab, this will overwrite the file you just loaded into the debugger.
java.lang.RuntimeException: Port already in use.
Venus sometimes doesn't close/exit correctly, causing it to still use port 6161. Try adding
--port=6162 to your existing command. If this still doesn't work, try incrementing
6162 by 1 a couple of times.
Object with the same name exists in this folder
You're probably running into this error while running
mount [something]. Try unmounting the directory first with
umount [name of the directory you're mounting to]. For example, if you wanted to run
mount local my_project, you would run
Circuit is not fully connected in harness
There are two potential reasons for this:
- You've added pins to the circuit. If this is a circuit we've provided in the starter code, please do not add, remove, or move any pins.
- Try setting "Use fixed box-size" to "Yes". You can change this setting by clicking on the name of the circuit in the left sidebar, then it should be an option under the properties tab.
Extra characters in printed board
How does C know when to stop printing a string?
Custom Test 0
This test runs your custom tests against a correct staff implementation. The most common error for this test case is that your test cases are testing undefined behavior. Refer to the spec to see which inputs may cause undefined behavior.
test-src doesn't exist
This folder is created by any of the
bash test.sh test commands (such as
bash test.sh test_abs). Try running one of these commands for the task you're on and this folder should be created.