-
Notifications
You must be signed in to change notification settings - Fork 17
/
BUGS
25 lines (20 loc) · 1.4 KB
/
BUGS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
* Temporary files are not deleted when a QSIM-using program exits, unexpectedly
or otherwise. Attempts to delete the files, even after they are dlclosed()
have caused bus errors. This could perhaps be fixed by a cleanup function.
* The temporary filenames created in mgzd.h are not safe. The tempnam()
function is used for their creation, which leads to a race condition.
Unfortunately, there is no easy way around this in file systems that do not
support file locking: dlopen() requires a filename, not just a file
descriptor or pointer to a FILE structure.
* Loads must be performed twice within QEMU in order to maintain proper
semantics. This is more a kludge than a bug (no incorrect behavior).
* There is currently no way to broadcast a translation cache flush. This means
that one CPU can overwrite code that another has already cached and this
change will not propagate. Luckily this seems to be rare.
* The server doesn't handle application exit gracefully. It should probably
also exit, since no further instructions will be needed. Otherwise, it
continues to run after the client exists, creating a problem.
* No thread can call run() while any thread is constructing OSDomains. There is
no lock to protect the running threads from the constructor (but there are
locks to protect constructors from one another). The real "bug" here is that
this is not currently adequately documented.