Hi, I'm writing to misc because I did a change with my programming project and it doesn't work, in fact the program does not start up but in the dynamic linking stage (it seems) cores on segmentation violation. I have tried different architectures (amd64 and octeon) and -current and both have the same problem, but I develop mostly on 6.1. When I run it through a debugger I get this:
(gdb) run Starting program: /usr/local/sbin/delphinusdnsd (no debugging symbols found) Program received signal SIGSEGV, Segmentation fault. 0x000018c933300c94 in ?? () from /usr/local/sbin/delphinusdnsd (gdb) bt #0 0x000018c933300c94 in ?? () from /usr/local/sbin/delphinusdnsd #1 0x000018c933300b3e in ?? () from /usr/local/sbin/delphinusdnsd #2 0x0000000000000000 in ?? () Apparently somewhere in the program something jumps to location 0 and from there it's downhill. Also the very first system call (a geteuid()) does not get called making me think it's before main() has been called. I'm completely boggled by this. # kdump | grep -3 geteuid # The last committed snapshot of my program is found here, and afaik it works: http://delphinusdns.org/delphinusdnsd-snapshot.tgz The changes I'm working on now which causes this weird behaviour is to tie in imsg into my program and that means linking -lutil with this program. I've checked if there was any macro collisions with TAILQ's or RB_HEAD's and tried to move those out of the way but still I get the segmentation fault. If anyone has an idea as to what could be the cause of this I'd be grateful. What follows after my signature is the diff I'm working on and my dmesg.boot: Thanks, -peter Index: axfr.c =================================================================== RCS file: /var/cvsroot/delphinusdns/delphinusdnsd/axfr.c,v retrieving revision 1.10 diff -u -p -u -r1.10 axfr.c --- axfr.c 11 Jul 2017 15:57:16 -0000 1.10 +++ axfr.c 7 Aug 2017 16:30:31 -0000 @@ -30,7 +30,7 @@ #include "ddd-db.h" -void axfrloop(int *, int, char **, ddDB *); +void axfrloop(int *, int, char **, ddDB *, struct imsgbuf *ibuf); void axfr_connection(int, char *, int, ddDB *); int build_header(ddDB *, char *, char *, struct question *, int); int build_soa(ddDB *, char *, int, struct domain *, struct question *); @@ -101,8 +101,8 @@ static struct notifyentry { extern int domaincmp(struct node *e1, struct node *e2); RB_HEAD(domaintree, node) rbhead; -RB_PROTOTYPE_STATIC(domaintree, node, entry, domaincmp) -RB_GENERATE_STATIC(domaintree, node, entry, domaincmp) +RB_PROTOTYPE_STATIC(domaintree, node, rbentry, domaincmp) +RB_GENERATE_STATIC(domaintree, node, rbentry, domaincmp) static const char rcsid[] = "$Id: axfr.c,v 1.10 2017/07/11 15:57:16 pjp Exp $"; @@ -301,7 +301,7 @@ insert_notifyslave(char *address, char * } void -axfrloop(int *afd, int sockcount, char **ident, ddDB *db) +axfrloop(int *afd, int sockcount, char **ident, ddDB *db, struct imsgbuf *ibuf) { fd_set rset; Index: db.c =================================================================== RCS file: /var/cvsroot/delphinusdns/delphinusdnsd/db.c,v retrieving revision 1.2 diff -u -p -u -r1.2 db.c --- db.c 28 Jun 2017 09:40:54 -0000 1.2 +++ db.c 7 Aug 2017 16:30:31 -0000 @@ -46,8 +46,8 @@ domaincmp(struct node *e1, struct node * RB_HEAD(domaintree, node) rbhead = RB_INITIALIZER(&rbhead); -RB_PROTOTYPE(domaintree, node, entry, domaincmp) -RB_GENERATE(domaintree, node, entry, domaincmp) +RB_PROTOTYPE(domaintree, node, rbentry, domaincmp) +RB_GENERATE(domaintree, node, rbentry, domaincmp) Index: dd-convert.c =================================================================== RCS file: /var/cvsroot/delphinusdns/delphinusdnsd/dd-convert.c,v retrieving revision 1.70 diff -u -p -u -r1.70 dd-convert.c --- dd-convert.c 27 Jun 2017 05:41:02 -0000 1.70 +++ dd-convert.c 7 Aug 2017 16:30:31 -0000 @@ -148,7 +148,7 @@ extern char * base32hex_encode(u_char *i extern int domaincmp(struct node *e1, struct node *e2); RB_HEAD(domaintree, node) rbhead; -RB_GENERATE_STATIC(domaintree, node, entry, domaincmp) +RB_GENERATE_STATIC(domaintree, node, rbentry, domaincmp) Index: ddd-db.h =================================================================== RCS file: /var/cvsroot/delphinusdns/delphinusdnsd/ddd-db.h,v retrieving revision 1.4 diff -u -p -u -r1.4 ddd-db.h --- ddd-db.h 26 Jun 2017 20:28:50 -0000 1.4 +++ ddd-db.h 7 Aug 2017 16:30:31 -0000 @@ -463,7 +463,7 @@ typedef struct __dddb { sizeof(struct domain_nsec3param) + sizeof(struct domain_ds) ) struct node { - RB_ENTRY(node) entry; /* the node entry */ + RB_ENTRY(node) rbentry; /* the node entry */ char domainname[256]; /* domain name key name */ int len; /* length of domain name */ char *data; /* data it points to */ @@ -476,6 +476,11 @@ struct cfg { int tcp[DEFAULT_SOCKET]; /* tcp socket */ int axfr[DEFAULT_SOCKET]; /* axfr udp socket */ char *ident[DEFAULT_SOCKET]; /* identification of interface */ + struct my_imsg { + int imsg_fds[2]; + } my_imsg[100]; +#define MY_IMSG_MASTER 0 +#define MY_IMSG_AXFR 1 int recurse; /* recurse socket */ int log; /* logging socket */ int sockcount; /* set sockets */ Index: ddd-include.h =================================================================== RCS file: /var/cvsroot/delphinusdns/delphinusdnsd/ddd-include.h,v retrieving revision 1.4 diff -u -p -u -r1.4 ddd-include.h --- ddd-include.h 26 Jun 2017 20:28:50 -0000 1.4 +++ ddd-include.h 7 Aug 2017 16:30:31 -0000 @@ -60,6 +60,7 @@ #include <fcntl.h> #include <stdio.h> #include <stdlib.h> +#include <stdint.h> #include <stdarg.h> #include <string.h> #include <unistd.h> @@ -71,6 +72,7 @@ #include <dirent.h> #include <signal.h> #include <time.h> +#include <imsg.h> #ifdef __linux__ #include <grp.h> Index: delphinusdnsd.c =================================================================== RCS file: /var/cvsroot/delphinusdns/delphinusdnsd/delphinusdnsd.c,v retrieving revision 1.14 diff -u -p -u -r1.14 delphinusdnsd.c --- delphinusdnsd.c 11 Jul 2017 15:57:16 -0000 1.14 +++ delphinusdnsd.c 7 Aug 2017 16:30:31 -0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2015 Peter J. Philipp + * Copyright (c) 2002-2017 Peter J. Philipp * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,7 +33,7 @@ /* prototypes */ extern void add_rrlimit(int, u_int16_t *, int, char *); -extern void axfrloop(int *, int, char **, ddDB *); +extern void axfrloop(int *, int, char **, ddDB *, struct imsgbuf *ibuf); extern struct question *build_fake_question(char *, int, u_int16_t); extern int check_ent(char *, int); extern int check_rrlimit(int, u_int16_t *, int, char *); @@ -96,11 +96,11 @@ int compress_label(u_char *, u_int16_ int free_question(struct question *); struct domain * get_soa(ddDB *, struct question *); int lookup_type(int); -void mainloop(struct cfg *); +void mainloop(struct cfg *, struct imsgbuf *); void master_reload(int); void master_shutdown(int); void recurseheader(struct srecurseheader *, int, struct sockaddr_storage *, struct sockaddr_storage *, int); -void setup_master(ddDB *, char **); +void setup_master(ddDB *, char **, struct imsgbuf *ibuf); void slave_signal(int); /* aliases */ @@ -112,6 +112,9 @@ void slave_signal(int); #define PIDFILE "/var/run/delphinusdnsd.pid" #define MYDB_PATH "/var/db/delphinusdns" +#define IMSG_HELLO_MESSAGE 0 /* hello the master process a few */ +#define IMSG_SPREAD_MESSAGE 1 /* spread a record to all childs */ + /* global variables */ extern char *__progname; @@ -203,6 +206,7 @@ main(int argc, char *argv[]) struct sockaddr_in *sin; struct sockaddr_in6 *sin6; struct cfg *cfg; + struct imsgbuf parent_ibuf[100], child_ibuf[100]; static ddDB *db; @@ -306,15 +310,25 @@ main(int argc, char *argv[]) /* make a master program that holds the pidfile, boss of ... eek */ + if (socketpair(AF_UNIX, SOCK_STREAM, PF_UNSPEC, &cfg->my_imsg[MY_IMSG_MASTER].imsg_fds[0]) < 0) { + dolog(LOG_INFO, "socketpair() failed\n"); + slave_shutdown(); + exit(1); + } + pid = fork(); switch (pid) { case -1: dolog(LOG_ERR, "fork(): %s\n", strerror(errno)); exit(1); case 0: + close(cfg->my_imsg[MY_IMSG_MASTER].imsg_fds[0]); + imsg_init(&child_ibuf[MY_IMSG_MASTER], cfg->my_imsg[MY_IMSG_MASTER].imsg_fds[1]); break; default: - setup_master(db, av); + close(cfg->my_imsg[MY_IMSG_MASTER].imsg_fds[1]); + imsg_init(&parent_ibuf[MY_IMSG_MASTER], cfg->my_imsg[MY_IMSG_MASTER].imsg_fds[0]); + setup_master(db, av, parent_ibuf); /* NOTREACHED */ exit(1); } @@ -799,6 +813,11 @@ main(int argc, char *argv[]) */ if (axfrport) { + if (socketpair(AF_UNIX, SOCK_STREAM, PF_UNSPEC, &cfg->my_imsg[MY_IMSG_AXFR].imsg_fds[0]) < 0) { + dolog(LOG_INFO, "socketpair() failed\n"); + slave_shutdown(); + exit(1); + } switch (pid = fork()) { case 0: /* close descriptors that we don't need */ @@ -812,7 +831,10 @@ main(int argc, char *argv[]) setproctitle("AXFR engine on port %d", axfrport); #endif - axfrloop(afd, i, ident, db); + close(cfg->my_imsg[MY_IMSG_AXFR].imsg_fds[1]); + imsg_init(&parent_ibuf[MY_IMSG_AXFR], cfg->my_imsg[MY_IMSG_AXFR].imsg_fds[0]); + + axfrloop(afd, i, ident, db, &parent_ibuf[MY_IMSG_AXFR]); /* NOTREACHED */ exit(1); default: @@ -820,6 +842,9 @@ main(int argc, char *argv[]) for (j = 0; j < i; j++) { close(afd[j]); } + /* XXX these are reversed because we need to use child_ibuf later */ + close(cfg->my_imsg[MY_IMSG_AXFR].imsg_fds[0]); + imsg_init(&child_ibuf[MY_IMSG_AXFR], cfg->my_imsg[MY_IMSG_AXFR].imsg_fds[1]); break; } @@ -859,7 +884,7 @@ main(int argc, char *argv[]) cfg->log = lfd; - (void)mainloop(cfg); + (void)mainloop(cfg, child_ibuf); /* NOTREACHED */ default: @@ -881,7 +906,7 @@ main(int argc, char *argv[]) cfg->log = lfd; - (void)mainloop(cfg); + (void)mainloop(cfg, child_ibuf); /* NOTREACHED */ return (0); @@ -1467,7 +1492,7 @@ get_soa(ddDB *db, struct question *quest */ void -mainloop(struct cfg *cfg) +mainloop(struct cfg *cfg, struct imsgbuf *ibuf) { fd_set rset; int sel; @@ -1484,6 +1509,7 @@ mainloop(struct cfg *cfg) int blacklist = 1; int sp; int lfd; + int idata; u_int32_t received_ttl; #if defined __FreeBSD__ || defined __OpenBSD__ @@ -1633,6 +1659,12 @@ mainloop(struct cfg *cfg) free(tnp); } } + /* send an imsg hello to the root owned process */ + + idata = arc4random(); + imsg_compose(&ibuf[MY_IMSG_MASTER], IMSG_HELLO_MESSAGE, + 0, 0, -1, &idata, sizeof(idata)); + continue; } @@ -3056,12 +3088,19 @@ recurseheader(struct srecurseheader *rh, */ void -setup_master(ddDB *db, char **av) +setup_master(ddDB *db, char **av, struct imsgbuf *ibuf) { - //ddDB *destroy; char buf[512]; pid_t pid; int fd; + int sel, max = 0; + + ssize_t n; + fd_set rset; + + struct timeval tv; + struct domain *idata; + struct imsg imsg; #if __OpenBSD__ #ifdef NEEDPLEDGE @@ -3072,9 +3111,15 @@ setup_master(ddDB *db, char **av) #endif #endif -#if !defined __APPLE__ + idata = (struct domain *)calloc(1, SIZENODE); + if (idata == NULL) { + dolog(LOG_ERR, "couldn't malloc memory for idata\n"); + pid = getpgrp(); + killpg(pid, SIGTERM); + exit(1); + } + setproctitle("delphinusdnsd master"); -#endif fd = open(PIDFILE, O_WRONLY | O_APPEND | O_CREAT, 0644); if (fd < 0) { @@ -3095,46 +3140,87 @@ setup_master(ddDB *db, char **av) signal(SIGQUIT, master_shutdown); signal(SIGHUP, master_reload); + FD_ZERO(&rset); for (;;) { - sleep(1); + tv.tv_sec = 10; + tv.tv_usec = 0; - if (*ptr) { - dolog(LOG_INFO, "pid %u died, killing delphinusdnsd\n", *ptr); - master_shutdown(SIGTERM); - } + FD_CLR(ibuf->fd, &rset); + if (ibuf->fd > max) + max = ibuf->fd; + + sel = select(max + 1, &rset, NULL, NULL, &tv); + /* on signal or timeout check...*/ + if (sel < 1) { + if (*ptr) { + dolog(LOG_INFO, "pid %u died, killing delphinusdnsd\n", *ptr); + master_shutdown(SIGTERM); + } - if (mshutdown) { - dolog(LOG_INFO, "shutting down on signal %d\n", msig); - unlink(PIDFILE); + if (mshutdown) { + dolog(LOG_INFO, "shutting down on signal %d\n", msig); + unlink(PIDFILE); - pid = getpgrp(); - killpg(pid, msig); + pid = getpgrp(); + killpg(pid, msig); - exit(0); - } - - if (reload) { + exit(0); + } - signal(SIGTERM, SIG_IGN); + if (reload) { + signal(SIGTERM, SIG_IGN); - pid = getpgrp(); - killpg(pid, SIGTERM); - if (munmap(ptr, sizeof(int)) < 0) { - dolog(LOG_ERR, "munmap: %s\n", strerror(errno)); - } + pid = getpgrp(); + killpg(pid, SIGTERM); + if (munmap(ptr, sizeof(int)) < 0) { + dolog(LOG_ERR, "munmap: %s\n", strerror(errno)); + } - unlink(PIDFILE); + unlink(PIDFILE); - dolog(LOG_INFO, "restarting on SIGHUP\n"); + dolog(LOG_INFO, "restarting on SIGHUP\n"); - closelog(); - if (execvp("/usr/local/sbin/delphinusdnsd", av) < 0) { + closelog(); + if (execvp("/usr/local/sbin/delphinusdnsd", av) < 0) { dolog(LOG_ERR, "execvp: %s\n", strerror(errno)); + } + /* NOTREACHED */ + exit(1); + } + continue; + } + + if (FD_ISSET(ibuf->fd, &rset)) { + + if ((n = imsg_read(ibuf)) < 0 && errno != EAGAIN) { + dolog(LOG_ERR, "imsg read failure %s\n", strerror(errno)); + continue; } - /* NOTREACHED */ - exit(1); - } - } + if (n == 0) { + /* child died? */ + dolog(LOG_INFO, "sigpipe on child? exiting.\n"); + master_shutdown(SIGTERM); + } + + for (;;) { + if ((n = imsg_get(ibuf, &imsg)) < 0) { + dolog(LOG_ERR, "imsg read error: %s\n", strerror(errno)); + break; + } else { + if (n == 0) + break; + + switch(imsg.hdr.type) { + case IMSG_HELLO_MESSAGE: + dolog(LOG_DEBUG, "received hello from child\n"); + break; + } + + imsg_free(&imsg); + } + } /* for (;;) */ + } /* FD_ISSET... */ + } /* for (;;) */ /* NOTREACHED */ } Index: ent.c =================================================================== RCS file: /var/cvsroot/delphinusdns/delphinusdnsd/ent.c,v retrieving revision 1.2 diff -u -p -u -r1.2 ent.c --- ent.c 26 Jun 2017 20:28:50 -0000 1.2 +++ ent.c 7 Aug 2017 16:30:31 -0000 @@ -75,8 +75,8 @@ extern int domaincmp(struct node *e1, st RB_HEAD(domaintree, node) rbhead; -RB_PROTOTYPE_STATIC(domaintree, node, entry, domaincmp) -RB_GENERATE_STATIC(domaintree, node, entry, domaincmp) +RB_PROTOTYPE_STATIC(domaintree, node, rbentry, domaincmp) +RB_GENERATE_STATIC(domaintree, node, rbentry, domaincmp) /* * INIT_ENTLIST - initialize the ent singly linked list Index: parse.y =================================================================== RCS file: /var/cvsroot/delphinusdns/delphinusdnsd/parse.y,v retrieving revision 1.45 diff -u -p -u -r1.45 parse.y --- parse.y 26 Jun 2017 20:28:50 -0000 1.45 +++ parse.y 7 Aug 2017 16:30:31 -0000 @@ -68,7 +68,7 @@ extern uint8_t vslen; TAILQ_HEAD(files, file) files = TAILQ_HEAD_INITIALIZER(files); static struct file { - TAILQ_ENTRY(file) entry; + TAILQ_ENTRY(file) file_entry; FILE *stream; char *name; int lineno; @@ -3626,7 +3626,7 @@ pushfile(const char *name, int secret) time_changed = (time_t)sb.st_ctime; /* ufs1 is only 32 bits */ nfile->lineno = 1; - TAILQ_INSERT_TAIL(&files, nfile, entry); + TAILQ_INSERT_TAIL(&files, nfile, file_entry); return (nfile); } @@ -3680,10 +3680,10 @@ popfile(void) { struct file *prev; - if ((prev = TAILQ_PREV(file, files, entry)) != NULL) + if ((prev = TAILQ_PREV(file, files, file_entry)) != NULL) prev->errors += file->errors; - TAILQ_REMOVE(&files, file, entry); + TAILQ_REMOVE(&files, file, file_entry); fclose(file->stream); free(file->name); free(file); Index: delphinusdnsd/Makefile.openbsd =================================================================== RCS file: /var/cvsroot/delphinusdns/delphinusdnsd/delphinusdnsd/Makefile.openbsd,v retrieving revision 1.3 diff -u -p -u -r1.3 Makefile.openbsd --- delphinusdnsd/Makefile.openbsd 26 Jun 2017 20:28:50 -0000 1.3 +++ delphinusdnsd/Makefile.openbsd 7 Aug 2017 16:30:31 -0000 @@ -8,7 +8,7 @@ SRCS=delphinusdnsd.c parse.y reply.c add CFLAGS= -Wall -g CFLAGS+= -I${.CURDIR}/.. LDFLAGS= -Wall -g -LDADD= -lcrypto -lssl +LDADD= -lcrypto -lssl -lutil LDLIBS= OBJDIR=. OpenBSD 6.1 (GENERIC.MP) #19: Thu Aug 3 14:59:44 CEST 2017 [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 34006806528 (32431MB) avail mem = 32971489280 (31444MB) mpath0 at root scsibus0 at mpath0: 256 targets mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xec1f0 (91 entries) bios0: vendor American Megatrends Inc. version "1504" date 10/04/2013 bios0: ASUS All Series acpi0 at bios0: rev 2 acpi0: sleep states S0 S3 S4 S5 acpi0: tables DSDT FACP APIC FPDT LPIT SSDT SSDT MCFG HPET SSDT SSDT DMAR BGRT acpi0: wakeup devices PXSX(S4) RP01(S4) PXSX(S4) PXSX(S4) RP03(S4) PXSX(S4) PXSX(S4) PXSX(S4) PXSX(S4) PXSX(S4) RP08(S4) UAR1(S4) PS2K(S4) GLAN(S4) EHC1(S4) EHC2(S4) [...] acpitimer0 at acpi0: 3579545 Hz, 24 bits acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Xeon(R) CPU E3-1275 v3 @ 3.50GHz, 3498.49 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,ITSC,FSGSBASE,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,SENSOR,ARAT cpu0: 256KB 64b/line 8-way L2 cache cpu0: TSC frequency 3498492960 Hz cpu0: smt 0, core 0, package 0 mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges cpu0: apic clock running at 99MHz cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4, IBE cpu1 at mainbus0: apid 2 (application processor) cpu1: Intel(R) Xeon(R) CPU E3-1275 v3 @ 3.50GHz, 3497.98 MHz cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,ITSC,FSGSBASE,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,SENSOR,ARAT cpu1: 256KB 64b/line 8-way L2 cache cpu1: smt 0, core 1, package 0 cpu2 at mainbus0: apid 4 (application processor) cpu2: Intel(R) Xeon(R) CPU E3-1275 v3 @ 3.50GHz, 3497.98 MHz cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,ITSC,FSGSBASE,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,SENSOR,ARAT cpu2: 256KB 64b/line 8-way L2 cache cpu2: smt 0, core 2, package 0 cpu3 at mainbus0: apid 6 (application processor) cpu3: Intel(R) Xeon(R) CPU E3-1275 v3 @ 3.50GHz, 3497.98 MHz cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,ITSC,FSGSBASE,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,SENSOR,ARAT cpu3: 256KB 64b/line 8-way L2 cache cpu3: smt 0, core 3, package 0 cpu4 at mainbus0: apid 1 (application processor) cpu4: Intel(R) Xeon(R) CPU E3-1275 v3 @ 3.50GHz, 3497.98 MHz cpu4: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,ITSC,FSGSBASE,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,SENSOR,ARAT cpu4: 256KB 64b/line 8-way L2 cache cpu4: smt 1, core 0, package 0 cpu5 at mainbus0: apid 3 (application processor) cpu5: Intel(R) Xeon(R) CPU E3-1275 v3 @ 3.50GHz, 3497.98 MHz cpu5: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,ITSC,FSGSBASE,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,SENSOR,ARAT cpu5: 256KB 64b/line 8-way L2 cache cpu5: smt 1, core 1, package 0 cpu6 at mainbus0: apid 5 (application processor) cpu6: Intel(R) Xeon(R) CPU E3-1275 v3 @ 3.50GHz, 3497.98 MHz cpu6: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,ITSC,FSGSBASE,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,SENSOR,ARAT cpu6: 256KB 64b/line 8-way L2 cache cpu6: smt 1, core 2, package 0 cpu7 at mainbus0: apid 7 (application processor) cpu7: Intel(R) Xeon(R) CPU E3-1275 v3 @ 3.50GHz, 3497.98 MHz cpu7: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,ITSC,FSGSBASE,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,SENSOR,ARAT cpu7: 256KB 64b/line 8-way L2 cache cpu7: smt 1, core 3, package 0 ioapic0 at mainbus0: apid 8 pa 0xfec00000, version 20, 24 pins acpimcfg0 at acpi0 addr 0xf8000000, bus 0-63 acpihpet0 at acpi0: 14318179 Hz acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus 5 (RP01) acpiprt2 at acpi0: bus 6 (RP03) acpiprt3 at acpi0: bus 7 (RP08) acpiprt4 at acpi0: bus 1 (PEG0) acpiprt5 at acpi0: bus -1 (PEG1) acpiprt6 at acpi0: bus -1 (PEG2) acpiec0 at acpi0: not present acpicpu0 at acpi0: C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu1 at acpi0: C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu2 at acpi0: C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu3 at acpi0: C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu4 at acpi0: C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu5 at acpi0: C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu6 at acpi0: C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpicpu7 at acpi0: C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS acpipwrres0 at acpi0: FN00, resource for FAN0 acpipwrres1 at acpi0: FN01, resource for FAN1 acpipwrres2 at acpi0: FN02, resource for FAN2 acpipwrres3 at acpi0: FN03, resource for FAN3 acpipwrres4 at acpi0: FN04, resource for FAN4 acpitz0 at acpi0: critical temperature is 105 degC acpitz1 at acpi0: critical temperature is 105 degC "INT3F0D" at acpi0 not configured "PNP0501" at acpi0 not configured "PNP0303" at acpi0 not configured "pnp0c14" at acpi0 not configured acpibtn0 at acpi0: PWRB "PNP0C0B" at acpi0 not configured "PNP0C0B" at acpi0 not configured "PNP0C0B" at acpi0 not configured "PNP0C0B" at acpi0 not configured "PNP0C0B" at acpi0 not configured "PNP0A0A" at acpi0 not configured "PNP0C14" at acpi0 not configured acpivideo0 at acpi0: GFX0 acpivout0 at acpivideo0: DD1F cpu0: Enhanced SpeedStep 3498 MHz: speeds: 3501, 3500, 3300, 3100, 2900, 2700, 2500, 2300, 2100, 2000, 1800, 1600, 1400, 1200, 1000, 800 MHz pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function 0 "Intel Xeon E3-1200 v3 Host" rev 0x06 ppb0 at pci0 dev 1 function 0 "Intel Core 4G PCIE" rev 0x06: msi pci1 at ppb0 bus 1 ppb1 at pci1 dev 0 function 0 vendor "PLX", unknown product 0x8747 rev 0xba pci2 at ppb1 bus 2 ppb2 at pci2 dev 8 function 0 vendor "PLX", unknown product 0x8747 rev 0xba: msi pci3 at ppb2 bus 4 ppb3 at pci2 dev 16 function 0 vendor "PLX", unknown product 0x8747 rev 0xba: msi pci4 at ppb3 bus 3 inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics P4600" rev 0x06 drm0 at inteldrm0 inteldrm0: msi inteldrm0: 1920x1080, 32bpp wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation) wsdisplay0: screen 1-5 added (std, vt100 emulation) azalia0 at pci0 dev 3 function 0 "Intel Core 4G HD Audio" rev 0x06: msi azalia0: No codecs found xhci0 at pci0 dev 20 function 0 "Intel 8 Series xHCI" rev 0x05: msi usb0 at xhci0: USB revision 3.0 uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 addr 1 "Intel 8 Series MEI" rev 0x04 at pci0 dev 22 function 0 not configured ehci0 at pci0 dev 26 function 0 "Intel 8 Series USB" rev 0x05: apic 8 int 20 usb1 at ehci0: USB revision 2.0 uhub1 at usb1 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 azalia1 at pci0 dev 27 function 0 "Intel 8 Series HD Audio" rev 0x05: msi azalia1: codecs: Realtek ALC1150 audio0 at azalia1 ppb4 at pci0 dev 28 function 0 "Intel 8 Series PCIE" rev 0xd5: msi pci5 at ppb4 bus 5 ppb5 at pci0 dev 28 function 2 "Intel 8 Series PCIE" rev 0xd5: msi pci6 at ppb5 bus 6 em0 at pci6 dev 0 function 0 "Intel I210" rev 0x03: msi, address bc:ee:7b:dd:2e:5a ppb6 at pci0 dev 28 function 7 "Intel 8 Series PCIE" rev 0xd5: msi pci7 at ppb6 bus 7 em1 at pci7 dev 0 function 0 "Intel I210" rev 0x03: msi, address bc:ee:7b:dd:2e:5b ehci1 at pci0 dev 29 function 0 "Intel 8 Series USB" rev 0x05: apic 8 int 23 usb2 at ehci1: USB revision 2.0 uhub2 at usb2 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 pcib0 at pci0 dev 31 function 0 "Intel Z87 LPC" rev 0x05 ahci0 at pci0 dev 31 function 2 "Intel 8 Series AHCI" rev 0x05: msi, AHCI 1.3 ahci0: port 1: 6.0Gb/s ahci0: port 5: 1.5Gb/s scsibus1 at ahci0: 32 targets sd0 at scsibus1 targ 1 lun 0: <ATA, INTEL SSDSC2BW18, DC12> SCSI3 0/direct fixed naa.55cd2e404b859213 sd0: 171705MB, 512 bytes/sector, 351651888 sectors, thin cd0 at scsibus1 targ 5 lun 0: <HL-DT-ST, BD-RE BH16NS40, 1.01> ATAPI 5/cdrom removable ichiic0 at pci0 dev 31 function 3 "Intel 8 Series SMBus" rev 0x05: apic 8 int 18 iic0 at ichiic0 spdmem0 at iic0 addr 0x50: 8GB DDR3 SDRAM PC3-12800 spdmem1 at iic0 addr 0x51: 8GB DDR3 SDRAM PC3-12800 spdmem2 at iic0 addr 0x52: 8GB DDR3 SDRAM PC3-12800 spdmem3 at iic0 addr 0x53: 8GB DDR3 SDRAM PC3-12800 isa0 at pcib0 isadma0 at isa0 com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo pckbc0 at isa0 port 0x60/5 irq 1 irq 12 pckbd0 at pckbc0 (kbd slot) wskbd0 at pckbd0: console keyboard, using wsdisplay0 pcppi0 at isa0 port 0x61 spkr0 at pcppi0 vmm0 at mainbus0: VMX/EPT uhidev0 at uhub0 port 8 configuration 1 interface 0 "Wacom Co.,Ltd. Intuos PS" rev 2.00/1.00 addr 2 uhidev0: iclass 3/0, 192 report ids uhid0 at uhidev0 reportid 2: input=0, output=0, feature=1 uhid1 at uhidev0 reportid 3: input=0, output=0, feature=1 uhid2 at uhidev0 reportid 4: input=0, output=0, feature=1 uhid3 at uhidev0 reportid 5: input=0, output=0, feature=1 uhid4 at uhidev0 reportid 7: input=0, output=0, feature=9 uhid5 at uhidev0 reportid 8: input=0, output=0, feature=9 uwacom0 at uhidev0 reportid 16: 3 buttons wsmouse0 at uwacom0 mux 0 uhid6 at uhidev0 reportid 17: input=0, output=0, feature=16 uhid7 at uhidev0 reportid 19: input=0, output=0, feature=1 uhid8 at uhidev0 reportid 20: input=0, output=0, feature=31 uhid9 at uhidev0 reportid 32: input=0, output=0, feature=5 uhid10 at uhidev0 reportid 33: input=0, output=0, feature=1 uhid11 at uhidev0 reportid 34: input=0, output=0, feature=1 uhid12 at uhidev0 reportid 35: input=0, output=0, feature=14 uhid13 at uhidev0 reportid 36: input=0, output=0, feature=31 uhid14 at uhidev0 reportid 37: input=0, output=0, feature=4 uhid15 at uhidev0 reportid 48: input=0, output=0, feature=2 uhid16 at uhidev0 reportid 49: input=0, output=0, feature=33 uhid17 at uhidev0 reportid 50: input=0, output=0, feature=33 uhid18 at uhidev0 reportid 51: input=0, output=0, feature=1 uhid19 at uhidev0 reportid 64: input=0, output=0, feature=10 uhid20 at uhidev0 reportid 192: input=9, output=0, feature=0 uhidev1 at uhub0 port 8 configuration 1 interface 1 "Wacom Co.,Ltd. Intuos PS" rev 2.00/1.00 addr 2 uhidev1: iclass 3/0, 3 report ids uhid21 at uhidev1 reportid 2: input=63, output=0, feature=0 uhid22 at uhidev1 reportid 3: input=63, output=0, feature=0 uhidev2 at uhub0 port 8 configuration 1 interface 2 "Wacom Co.,Ltd. Intuos PS" rev 2.00/1.00 addr 2 uhidev2: iclass 3/1, 1 report id ums0 at uhidev2 reportid 1: 5 buttons wsmouse1 at ums0 mux 0 uhidev3 at uhub0 port 10 configuration 1 interface 0 "Logitech USB-PS/2 Optical Mouse" rev 2.00/27.20 addr 3 uhidev3: iclass 3/1 ums1 at uhidev3: 8 buttons, Z and W dir wsmouse2 at ums1 mux 0 uhub3 at uhub0 port 13 configuration 1 interface 0 "ASUS Tek. ASM107x" rev 2.10/1.00 addr 4 uhub4 at uhub0 port 20 configuration 1 interface 0 "ASUS Tek. ASM107x" rev 3.00/1.00 addr 5 uhub5 at uhub1 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev 2.00/0.05 addr 2 uhub6 at uhub2 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev 2.00/0.05 addr 2 vscsi0 at root scsibus2 at vscsi0: 256 targets softraid0 at root scsibus3 at softraid0: 256 targets root on sd0a (e047d81ad072bdb6.a) swap on sd0b dump on sd0b

