Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release of 0.3.5-3 (rc3) #12

Merged
merged 5 commits into from
May 7, 2013
Merged

Release of 0.3.5-3 (rc3) #12

merged 5 commits into from
May 7, 2013

Conversation

liuyu81
Copy link
Member

@liuyu81 liuyu81 commented May 7, 2013

This maintenance release of libsandbox comes with several improvements and fixes.

  1. improved proc_dump() and Sandbox.dump() for error differentiation

    the improved proc_dump() can dump a memory block of specified size
    instead of one machine word at at time. it has also been optimized to fail
    gracefully in case of trying to inspect bad address for syscall arguments.
    the pythonic wrapper Sandbox.dump() returns None on such failures for
    better error differentiation thus resolving issue Error differentiation for memory dump #8

  2. fallback to hybrid sync/async profiling

    the full asynchronous profiling introduced in 0.3.5-2 may fail to update
    the resource usage of some very short tasks and leave incomplete statistics.
    the resumed (and thoroughly refactored) hybrid profiling makes sure to update
    stat before dispatching events and fixes issue Incomplete statistics for very short tasks #9

  3. prevent program overrun in trace_kill()

    certain linux kernels may leave a SIGKILLed program to overrun for a few
    instructions; and the overrun may lead to undesirable side effects or even
    security risk. the improved trace_kill() performs opcode flush and syscall
    replacement to eliminate risky side effects.

  4. release of portable testing framework

    a portable test suite has been included in this release. more than 50 test
    cases has been ported from the internal quality control process of libsandbox
    and wrapped in python's unittest framework. the test suite serves both as
    a verification tool and a comprehensive demo for libsandbox and pysandbox

  5. revised sample programs to support mixed linux32/64 abi

liuyu81 added 5 commits March 31, 2013 03:45
1. fallback to hybrid sync/async profiling

the full asynchronous profiling introduced in 0.3.5-2 may fail to update
the resource usage of some very short tasks and leave some statistics zero.
the hybrid profiling makes sure to update stat before dispatching events.

2. prevent program overrun in trace_kill()

certain linux kernels may leave a SIGKILLed program to overrun for a few
instructions; and the overrun may lead to undesirable side effects or even
security risk. the improved trace_kill() performs opcode flush and syscall
replacement to eliminate risky side effects.

3. refactor unittest framework to verify the fixes

the python unittest framework has been thoroughly refactored. new test cases
are included for verification and benchmarking.
liuyu81 added a commit that referenced this pull request May 7, 2013
Release of 0.3.5-3 (rc3)
@liuyu81 liuyu81 merged commit 8f20919 into openjudge:V_0_3_x May 7, 2013
@ghost ghost assigned liuyu81 May 7, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant