]>
mj.ucw.cz Git - moe.git/log
Martin Mares [Sun, 1 Apr 2012 13:06:46 +0000 (15:06 +0200)]
Isolate: Box setup split to several functions
Martin Mares [Sun, 1 Apr 2012 12:57:25 +0000 (14:57 +0200)]
Isolate: Report internal errors from inside the box
Martin Mares [Sun, 1 Apr 2012 12:34:01 +0000 (14:34 +0200)]
Isolate: Control groups and multi-process mode
Martin Mares [Tue, 27 Mar 2012 21:17:24 +0000 (23:17 +0200)]
Isolate: First working version
Martin Mares [Mon, 26 Mar 2012 21:44:14 +0000 (23:44 +0200)]
Isolate: First experiments
Martin Mares [Mon, 26 Mar 2012 17:27:36 +0000 (19:27 +0200)]
Isolate: Some bits shamelessly stolen from box.c
Martin Mares [Tue, 26 Jul 2011 07:10:23 +0000 (09:10 +0200)]
Box: Allow /proc/self/maps
Martin Mares [Sat, 17 Jul 2010 23:52:00 +0000 (01:52 +0200)]
Box: Allow the arch_prctl syscall on amd64
It is needed by new versions of glibc.
Martin Mares [Thu, 15 Jul 2010 21:47:17 +0000 (23:47 +0200)]
Doc: Changed installation target
Martin Mares [Thu, 15 Jul 2010 21:45:56 +0000 (23:45 +0200)]
Doc: Rewritten the project home page
Martin Mares [Mon, 5 Jul 2010 15:18:11 +0000 (17:18 +0200)]
Box: Let 32-/64-bit mode be configurable
Martin Mares [Mon, 5 Jul 2010 15:11:34 +0000 (17:11 +0200)]
Box: Let the 32-bit version refuse to run on 64-bit kernels
Martin Mares [Mon, 5 Jul 2010 15:00:25 +0000 (17:00 +0200)]
Box: Support systems with 64-bit kernel and 32-bit user space
Martin Mares [Sun, 20 Jun 2010 15:51:54 +0000 (17:51 +0200)]
Box: Use read_user_mem() where possible
Martin Mares [Sun, 20 Jun 2010 15:46:12 +0000 (17:46 +0200)]
Box: Carefully check that 64-bit syscalls are what they seem to be
Having 5 different ways how to do a syscall on amd64 Linux is
a real fun :)
Martin Mares [Sun, 20 Jun 2010 14:50:48 +0000 (16:50 +0200)]
Box: Generalize decoding of syscall arguments and implement amd64 version
Martin Mares [Sun, 20 Jun 2010 14:39:55 +0000 (16:39 +0200)]
Box: Filter out madvise1, which is an alias for madvise with the same ID
Martin Mares [Sun, 20 Jun 2010 14:05:04 +0000 (16:05 +0200)]
Box: Introduce 64-bit mode and mask out syscalls which are not available there
Martin Mares [Sun, 20 Jun 2010 00:14:18 +0000 (02:14 +0200)]
Box: Added a toy program testing various kinds of syscalls
Martin Mares [Sat, 27 Mar 2010 20:22:25 +0000 (21:22 +0100)]
mop: Added utilities for calibration of time limits
Martin Mares [Sat, 27 Mar 2010 20:18:43 +0000 (21:18 +0100)]
mop: mo-score-mop knows how to group test cases
Martin Mares [Sat, 27 Mar 2010 20:18:32 +0000 (21:18 +0100)]
mop: mo-score-mop reads everything from the cwd
Martin Mares [Sat, 27 Mar 2010 20:16:36 +0000 (21:16 +0100)]
mop: mo-score uses at least a single space in every column
(otherwise the `column' utility does not count the particular
column)
Martin Mares [Sat, 27 Mar 2010 20:16:11 +0000 (21:16 +0100)]
mop: mo-score knows how to abbreviate single-word status lines
Martin Mares [Sat, 27 Mar 2010 20:15:42 +0000 (21:15 +0100)]
mop: mo-score has gained a --table option for nice textual tables
Martin Mares [Sat, 27 Mar 2010 20:14:26 +0000 (21:14 +0100)]
mop: mo-grab-remote works over the network
Martin Mares [Fri, 26 Mar 2010 12:21:43 +0000 (13:21 +0100)]
Eval: Use try-ln where possible
Martin Mares [Thu, 25 Mar 2010 18:48:50 +0000 (19:48 +0100)]
MO: Fixed compile <source>
Martin Mares [Thu, 25 Mar 2010 10:17:12 +0000 (11:17 +0100)]
MO: Use `cp -aL', so that links are dereferenced properly
Martin Mares [Thu, 25 Mar 2010 09:44:47 +0000 (10:44 +0100)]
Submitd: Increased default # of submits to 100 to match MO-P
Martin Mares [Thu, 25 Mar 2010 09:22:12 +0000 (10:22 +0100)]
MO: Limit character set of created passwords
Martin Mares [Sun, 22 Nov 2009 12:12:20 +0000 (13:12 +0100)]
Document TEXT_x_COMMENT.
Martin Mares [Mon, 10 Aug 2009 09:54:58 +0000 (11:54 +0200)]
Fixed a typo in upload location
Martin Mares [Mon, 10 Aug 2009 09:47:14 +0000 (11:47 +0200)]
Updated at least the most outdated parts of the docs
Martin Mares [Fri, 31 Jul 2009 18:57:06 +0000 (20:57 +0200)]
Eval: Added STACK_LIMIT.
Martin Mares [Fri, 31 Jul 2009 18:56:01 +0000 (20:56 +0200)]
Box: Do not report all errors as "during startup" if syscalls are not filtered.
Martin Mares [Fri, 31 Jul 2009 18:50:35 +0000 (20:50 +0200)]
Box: Added an option for controlling the stack size limit.
Beware, the default has been changed to `unlimited' instead of inheriting
the limit from the parent process.
Martin Mares [Wed, 29 Apr 2009 10:22:01 +0000 (12:22 +0200)]
Hopefully fixed the occasional "UGH" error.
When the machine creaks under high load, SIGALRM can arrive during the
final wait4() in box_exit(), causing it to return EINTR. Restart waiting
in such cases.
Martin Mares [Wed, 29 Apr 2009 10:19:15 +0000 (12:19 +0200)]
Include <linux/ptrace.h>, because <sys/ptrace.h> tends to be incomplete
Martin Mares [Sun, 5 Apr 2009 17:01:20 +0000 (19:01 +0200)]
Added a description of the meta-files
Martin Mares [Sun, 5 Apr 2009 16:51:40 +0000 (18:51 +0200)]
Box: Record in the meta-file whether the process has been killed
If it was, the time/memory statictics are known to be incomplete.
Martin Mares [Sun, 5 Apr 2009 16:48:17 +0000 (18:48 +0200)]
Box: Implemented the `-x' (extra timeout) option
Martin Mares [Sun, 5 Apr 2009 16:35:07 +0000 (18:35 +0200)]
Syscall handling reform
The previous code did not work with syscalls that do not return a value -- e.g.,
sysreturn(). In such cases, the kernel reports the exit from the syscall with
orig_eax == -1, which cannot be easily distinguished from a breakpoint.
I have rewritten the syscall checker to use the PTRACE_O_TRACESYSGOOD switch,
which causes the kernel to report syscalls in a slightly different way. Also,
the code now tests whether the syscall number on exit matched the one recorded
on entry (purely as a guard against possible silly bugs in synchronization
of syscall enter/exit reports with the kernel) and it also avoids suppresses
the meaningless return value of the sysreturn-like syscalls.
Martin Mares [Sat, 28 Mar 2009 16:21:53 +0000 (17:21 +0100)]
Box: Use SIGSTOP to notify the parent that the child is ready to be traced
instead of SIGCHLD. This should be safer.
Martin Mares [Sat, 28 Mar 2009 16:05:59 +0000 (17:05 +0100)]
Merge branch 'master' of ssh://git.ucw.cz/home/mj/GIT/eval
Martin Mares [Sat, 28 Mar 2009 16:05:55 +0000 (17:05 +0100)]
Sandbox: call setup_environment() before enabling syscall tracing
Martin Mares [Sat, 28 Mar 2009 13:49:58 +0000 (14:49 +0100)]
MOP: New templates for Debian Lenny
Martin Mares [Sat, 28 Mar 2009 13:22:38 +0000 (14:22 +0100)]
MOP: Updated the score table heading.
Martin Mares [Sat, 28 Mar 2009 13:20:40 +0000 (14:20 +0100)]
Added Milan's FPC patch (abort on runtime error)
Martin Mares [Sat, 28 Mar 2009 13:15:25 +0000 (14:15 +0100)]
mo-score-mop: implemented merging of test case groups
Martin Mares [Sat, 28 Mar 2009 13:10:40 +0000 (14:10 +0100)]
Install libraries with the submitter.
Martin Mares [Sat, 28 Mar 2009 13:08:14 +0000 (14:08 +0100)]
Merge branch 'layout'
Martin Mares [Thu, 26 Mar 2009 12:59:05 +0000 (13:59 +0100)]
Fixed typesetting of logins.
Martin Mares [Wed, 18 Mar 2009 13:56:19 +0000 (14:56 +0100)]
Adjusted configuration of tempfiles to new libucw.
Martin Mares [Wed, 18 Mar 2009 13:50:22 +0000 (14:50 +0100)]
Updated libucw config from upstream.
Martin Mares [Wed, 18 Mar 2009 13:42:13 +0000 (14:42 +0100)]
Need to switch directory when reading configuration.
The reason is that cf/mop needs to include cf/eval, but it cannot
use absolute paths, because the config file is read both before and
after installation to $MO_ROOT/.
Martin Mares [Wed, 18 Mar 2009 13:42:05 +0000 (14:42 +0100)]
Dereference links when installing.
Martin Mares [Wed, 18 Mar 2009 13:41:51 +0000 (14:41 +0100)]
Fixed a couple of very confusing bugs in the Makefiles.
Martin Mares [Wed, 18 Mar 2009 13:28:05 +0000 (14:28 +0100)]
More updates of MO-P admin scripts.
Martin Mares [Wed, 18 Mar 2009 13:17:28 +0000 (14:17 +0100)]
Updated MO-P admin scripts to new directory layout.
Martin Mares [Wed, 18 Mar 2009 13:16:38 +0000 (14:16 +0100)]
Submit: `make certs' is no longer used.
However, the certificate templates should be installed to lib/.
Martin Mares [Wed, 18 Mar 2009 13:16:25 +0000 (14:16 +0100)]
Updated create-certs to the new directory layout.
Martin Mares [Wed, 18 Mar 2009 13:15:40 +0000 (14:15 +0100)]
Include the right libucw config.
Martin Mares [Mon, 16 Mar 2009 22:48:39 +0000 (23:48 +0100)]
Updated tests after the recent change of judges' messages to stderr.
Martin Mares [Mon, 16 Mar 2009 22:45:35 +0000 (23:45 +0100)]
Disable building of libucw utilities.
Martin Mares [Mon, 16 Mar 2009 22:43:56 +0000 (23:43 +0100)]
Adapted to reflect changes in libucw.
Martin Mares [Mon, 16 Mar 2009 22:42:52 +0000 (23:42 +0100)]
Updated libucw to current version (Sherlock commit
17f29eb1ab186e9f053299c25f47ce368ee7e1de )
Martin Mares [Sun, 15 Mar 2009 12:31:14 +0000 (13:31 +0100)]
Default Pascal flags no longer enable range and stack checking.
Martin Mares [Sat, 14 Mar 2009 22:58:00 +0000 (23:58 +0100)]
The judge reports errors in a more useful way
They are reported to stderr as two lines: one is the location of the error,
another contains the error message. This is parsed by the evaluator and the
second line is displayed on the screen, while both are logged.
Martin Mares [Sat, 14 Mar 2009 22:57:02 +0000 (23:57 +0100)]
The judge IO streams remember the basename of the file instead of its full name
Martin Mares [Sat, 14 Mar 2009 22:35:12 +0000 (23:35 +0100)]
Compile the judge support functions as a separate library.
Martin Mares [Sat, 14 Mar 2009 22:34:57 +0000 (23:34 +0100)]
Judge: Added function get_nl() for checking of an expected end of line.
Martin Mares [Sat, 14 Mar 2009 17:56:24 +0000 (18:56 +0100)]
More makefile fixes.
Martin Mares [Sat, 14 Mar 2009 17:55:19 +0000 (18:55 +0100)]
Fix makefiles for compilation in a different directory.
Martin Mares [Sun, 2 Nov 2008 20:12:43 +0000 (21:12 +0100)]
Handle exit code translation failures gracefully.
Apparantly, "X=`false`" fails with a non-zero exit code
(and the script stops), even though "echo `false`" doesn't.
Martin Mares [Sat, 13 Sep 2008 13:08:18 +0000 (15:08 +0200)]
Avoid Perl when printing signal names.
Use `kill -l $SIG` as suggested by Lukas Turek.
This was the only Perl dependency in the whole libeval.
Martin Mares [Sun, 24 Aug 2008 22:09:47 +0000 (00:09 +0200)]
Updated TODO.
Martin Mares [Sun, 24 Aug 2008 22:09:32 +0000 (00:09 +0200)]
Sample memory usage only on selected syscalls.
Martin Mares [Sun, 24 Aug 2008 21:59:24 +0000 (23:59 +0200)]
Detect breakpoint instructions, which are reported as syscall #-1.
Martin Mares [Sun, 24 Aug 2008 21:56:44 +0000 (23:56 +0200)]
Introduced sampling of memory usage.
This patch introduces the basic stuff. So far, it samples VmPeak before and after
each syscalls, which will be fixed in subsequent commits.
Martin Mares [Sun, 24 Aug 2008 21:11:55 +0000 (23:11 +0200)]
Oops, there was a typo in the previous patch.
Martin Mares [Sun, 24 Aug 2008 21:08:40 +0000 (23:08 +0200)]
The mmap2() syscall is available even in the strict mode.
There is no reason to handle it differently from mmap().
Martin Mares [Sun, 24 Aug 2008 21:07:28 +0000 (23:07 +0200)]
Permit the set_tid_address() syscall.
It used by glibc 2.3.6 automagically.
Martin Mares [Sun, 24 Aug 2008 21:03:34 +0000 (23:03 +0200)]
Document various error reporting functions.
Martin Mares [Fri, 22 Aug 2008 18:25:01 +0000 (20:25 +0200)]
The FIXME was wrong, start_time is available whenever box_pid is.
Martin Mares [Fri, 22 Aug 2008 18:23:49 +0000 (20:23 +0200)]
Internal errors are reported properly.
Martin Mares [Fri, 22 Aug 2008 18:20:23 +0000 (20:20 +0200)]
Write all relevant information to the metafile.
Martin Mares [Fri, 22 Aug 2008 18:17:18 +0000 (20:17 +0200)]
usage() should exit with code 2, too.
Martin Mares [Fri, 22 Aug 2008 17:10:06 +0000 (19:10 +0200)]
We do not care about ancient C libraries any more.
Martin Mares [Fri, 22 Aug 2008 17:02:18 +0000 (19:02 +0200)]
Distinguish between die() and err().
die() is used for internal errors only and it exits with status 2,
err() is used for reporting errors of the process inside the box with status 1.
Martin Mares [Fri, 22 Aug 2008 16:54:49 +0000 (18:54 +0200)]
Changed formatting of time metas.
Martin Mares [Fri, 22 Aug 2008 16:50:08 +0000 (18:50 +0200)]
Gather timing statistics on unsuccessful exit, too.
Martin Mares [Fri, 22 Aug 2008 15:55:50 +0000 (17:55 +0200)]
Added basic support for writing meta-files.
Original patch by TomGav, cleaned up by me.
Martin Mares [Sat, 7 Jun 2008 21:17:15 +0000 (23:17 +0200)]
Use new Configure module to configure crypto libs.
Martin Mares [Sat, 7 Jun 2008 21:16:54 +0000 (23:16 +0200)]
Imported new Configure module from libucw which handles pkg-config.
Martin Mares [Sun, 25 May 2008 21:42:58 +0000 (23:42 +0200)]
CONFIG_MOP is now enabled by default.
Martin Mares [Sun, 25 May 2008 21:42:36 +0000 (23:42 +0200)]
Clean up exit codes of judges.
exit(1) always means an error in the judged output,
exit(2) is used whenever an internal error is encountered (missing files etc.).
Martin Mares [Sun, 25 May 2008 21:29:07 +0000 (23:29 +0200)]
Updated TODO.
Martin Mares [Sun, 25 May 2008 21:23:30 +0000 (23:23 +0200)]
Removed mo-create-packages from the makefile as well.
Martin Mares [Sun, 25 May 2008 21:19:04 +0000 (23:19 +0200)]
Cleaned up mop/admin/.
The script still need some updates and thorough testing.