FreeBSD_HEAD_i386 - Build #591 - Failure

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view

FreeBSD_HEAD_i386 - Build #591 - Failure

FreeBSD_HEAD_i386 - Build #591 - Failure:

Build information:
Full change log:
Full build log:

Change summaries:

285621 by jhibbits:
Fix formatting.

285620 by jhibbits:
Fix userland program exception handling for powerpc64.

It appears that the linker will not handle 64-bit relocations at addresses that
are not aligned to 8-byte boundaries.  Prior to this change the line:

  .llong generictrap

was aligned to a 4-byte address, and the linker replaced that with an 8-byte
0x0.  Aligning that address to 8 bytes caused the linker to generate the proper
relocation.  As a follow-through, the dblow from trap_subr33.S used the code
sequence 'lwz %r1, TRAP_GENTRAP(0)', so this reproduces the analogue of that for

285619 by neel:
If uart interrupts are not functioning then schedule the callout to do the
polling at device attach time [1].

Add tunables 'debug.uart_force_poll' and 'debug.uart_poll_freq' to control
uart polling.

Submitted by: Aleksey Kuleshov ([hidden email]) [1]

285618 by araujo:
Fix a warning spotted by gcc4.9: dereferencing type-punned pointer will break
strict-aliasing rules.

Declare some variables as statics as well as some functions that are internal
helpers. Update the function broadcast_result() to a post-K&R definition.

Differential Revision: D2690
Reviewed by: rodrigc, dim

285617 by ache:
Comment out usr/sbin/mailwrapper removal
because for no mailwrapper case we have:
/usr/sbin/sendmail -> /usr/sbin/mailwrapper
/usr/sbin/mailwrapper -> /usr/libexec/sendmail/sendmail
Add comment explaining it.

The end of the build log:

Started by an SCM change
Building remotely on (jailer) in workspace /jenkins/workspace/FreeBSD_HEAD_i386
Updating svn:// at revision '2015-07-16T05:15:08.697 +0000'
U         sys/dev/uart/uart_core.c
U         sys/powerpc/aim/trap_subr64.S
U         usr.sbin/devctl/devctl.8
At revision 285621
No emails were triggered.
[FreeBSD_HEAD_i386] $ /bin/sh -xe /tmp/
+ export 'PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin'
+ export 'jname=FreeBSD_HEAD_i386'
+ echo env:
+ /usr/bin/env
BUILDER_RESOLV_CONF=nameserver 2610:1c1:1:6002::100\nnameserver 2610:1c1:1:6002::200\n
+ echo 'setup jail FreeBSD_HEAD_i386'
setup jail FreeBSD_HEAD_i386
+ fetch -m
+ mkdir FreeBSD_HEAD_i386
mkdir: FreeBSD_HEAD_i386: File exists
Build step 'Execute shell' marked build as failure
[PostBuildScript] - Execution post build scripts.
[FreeBSD_HEAD_i386] $ /bin/sh -xe /tmp/
+ export 'PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin'
+ export 'jname=FreeBSD_HEAD_i386'
+ echo 'clean up jail FreeBSD_HEAD_i386'
clean up jail FreeBSD_HEAD_i386
+ sudo jail -r FreeBSD_HEAD_i386
+ sudo ifconfig igb0 inet6 2610:1c1:1:607c::106:1 -alias
+ sudo umount FreeBSD_HEAD_i386/usr/src
+ sudo umount FreeBSD_HEAD_i386/dev
+ sudo rm -fr FreeBSD_HEAD_i386
rm: FreeBSD_HEAD_i386/sbin/init: Operation not permitted
rm: FreeBSD_HEAD_i386/sbin: Directory not empty
rm: FreeBSD_HEAD_i386/usr/lib/ Operation not permitted
rm: FreeBSD_HEAD_i386/usr/lib: Directory not empty
rm: FreeBSD_HEAD_i386/usr/bin/chpass: Operation not permitted
rm: FreeBSD_HEAD_i386/usr/bin/chsh: Operation not permitted
rm: FreeBSD_HEAD_i386/usr/bin/opiepasswd: Operation not permitted
rm: FreeBSD_HEAD_i386/usr/bin/opieinfo: Operation not permitted
rm: FreeBSD_HEAD_i386/usr/bin/su: Operation not permitted
rm: FreeBSD_HEAD_i386/usr/bin/chfn: Operation not permitted
rm: FreeBSD_HEAD_i386/usr/bin/yppasswd: Operation not permitted
rm: FreeBSD_HEAD_i386/usr/bin/crontab: Operation not permitted
rm: FreeBSD_HEAD_i386/usr/bin/ypchfn: Operation not permitted
rm: FreeBSD_HEAD_i386/usr/bin/login: Operation not permitted
rm: FreeBSD_HEAD_i386/usr/bin/ypchsh: Operation not permitted
rm: FreeBSD_HEAD_i386/usr/bin/ypchpass: Operation not permitted
rm: FreeBSD_HEAD_i386/usr/bin/passwd: Operation not permitted
rm: FreeBSD_HEAD_i386/usr/bin: Directory not empty
rm: FreeBSD_HEAD_i386/usr: Directory not empty
rm: FreeBSD_HEAD_i386/libexec/ Operation not permitted
rm: FreeBSD_HEAD_i386/libexec: Directory not empty
rm: FreeBSD_HEAD_i386/lib/ Operation not permitted
rm: FreeBSD_HEAD_i386/lib/ Operation not permitted
rm: FreeBSD_HEAD_i386/lib/ Operation not permitted
rm: FreeBSD_HEAD_i386/lib: Directory not empty
rm: FreeBSD_HEAD_i386: Directory not empty
+ true
+ sudo chflags -R noschg FreeBSD_HEAD_i386
+ sudo rm -fr FreeBSD_HEAD_i386
Email was triggered for: Failure - Any
Sending email for trigger: Failure - Any
[hidden email] mailing list
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view

FreeBSD_HEAD_i386 - Build #592 - Fixed

FreeBSD_HEAD_i386 - Build #592 - Fixed:

Build information:
Full change log:
Full build log:

Change summaries:

285622 by ed:
Implement CloudABI's exec() call.

In a runtime that is purely based on capability-based security, there is
a strong emphasis on how programs start their execution. We need to make
sure that we execute an new program with an exact set of file
descriptors, ensuring that credentials are not leaked into the process

Providing the right file descriptors is just half the problem. There
also needs to be a framework in place that gives meaning to these file
descriptors. How does a CloudABI mail server know which of the file
descriptors corresponds to the socket that receives incoming emails?
Furthermore, how will this mail server acquire its configuration
parameters, as it cannot open a configuration file from a global path on

CloudABI solves this problem by replacing traditional string command
line arguments by tree-like data structure consisting of scalars,
sequences and mappings (similar to YAML/JSON). In this structure, file
descriptors are treated as a first-class citizen. When calling exec(),
file descriptors are passed on to the new executable if and only if they
are referenced from this tree structure. See the cloudabi-run(1) man
page for more details and examples (sysutils/cloudabi-utils).

Fortunately, the kernel does not need to care about this tree structure
at all. The C library is responsible for serializing and deserializing,
but also for extracting the list of referenced file descriptors. The
system call only receives a copy of the serialized data and a layout of
what the new file descriptor table should look like:

    int proc_exec(int execfd, const void *data, size_t datalen, const int *fds,
              size_t fdslen);

This change introduces a set of fd*_remapped() functions:

- fdcopy_remapped() pulls a copy of a file descriptor table, remapping
  all of the file descriptors according to the provided mapping table.
- fdinstall_remapped() replaces the file descriptor table of the process
  by the copy created by fdcopy_remapped().
- fdescfree_remapped() frees the table in case we aborted before

We then add a function exec_copyin_data_fds() that builds on top these
functions. It copies in the data and constructs a new remapped file
descriptor. This is used by cloudabi_sys_proc_exec().

Test Plan:
cloudabi-run(1) is capable of spawning processes successfully, providing
it data and file descriptors. procstat -f seems to confirm all is good.
Regular FreeBSD processes also work properly.

Reviewers: kib, mjg

Reviewed By: mjg

Subscribers: imp

Differential Revision:

[hidden email] mailing list
To unsubscribe, send any mail to "[hidden email]"