A tela GNU congela ao iniciar a sessão por SSH, funciona localmente. O que há de errado?

3

Em um iMac executando o Snow Leopard, posso abrir uma janela de terminal e iniciar uma sessão de 'tela' sem problemas. No entanto, se eu ssh na mesma máquina (de outro lugar ou localmente) e, em seguida, tentar iniciar uma sessão de 'tela', ele simplesmente trava. Nenhuma saída em tudo. Ele não responderá a Ctrl-d, Ctrl-c etc. e terá que ser eliminado através do PID. Uma sessão criada em um terminal local pode ser retomada a partir de uma sessão ssh. Isso ajuda a direcionar a suspeita para qualquer configuração?

Suspeito de um problema com um .bashrc, .profile etc., mas não sei o que se aplica nessa situação e não fiz alterações nessa área recentemente. Tudo isso é feito como o mesmo usuário.

Tenho 99% de certeza de que isso funcionou há pouco tempo, mas suponho que exista uma pequena possibilidade de que esse cenário não tenha aparecido antes para mim.

Em resposta às perguntas de Gilles abaixo:

As variáveis de ambiente são as mesmas nos dois casos. A maioria está em branco - apenas COLUMNS, LINES, HOME, PATH, SHELL e TERM foram definidos.

No estado suspenso, a tela não está recebendo nenhuma entrada. Quando é morto, o shell pai recebe qualquer entrada de teclado para a tela. Não consome tempo de CPU.

Assistindo aos dois processos de tela iniciados, o de menor número está fazendo o seguinte:

$ sudo dtruss -p 1545
SYSCALL(args)        = return
sigreturn(0x7FFF5FBFEE80, 0x1E, 0x7FFF5FBFEE80)      = 0 Err#-2
__pthread_canceled(0x0, 0x0, 0x7FFF5FBFEF38)         = -1 Err#22
setitimer(0x0, 0x7FFF5FBFEF40, 0x7FFF5FBFEF20)       = 0 0
kill(0x60A, 0x0, 0x1)        = 0 0
sigaction(0xE, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50)       = 0 0
setitimer(0x0, 0x7FFF5FBFEF40, 0x7FFF5FBFEF20)       = 0 0
sigprocmask(0x0, 0x0, 0x7FFF5FBFEF4C)        = 0x0 0
sigsuspend(0x0, 0x0, 0x0)        = -1 Err#4
<repeats approx every 10s>

O número mais alto só é gerado:

$ sudo dtruss -p 1546
SYSCALL(args)        = return

A saída de 'dtruss -f -p $ pid_of_bash_that_starts_screen' com a duplicação removida é:

1500/0x15a94:  write_nocancel(0x2, "s
$ sudo dtruss -p 1545
SYSCALL(args)        = return
sigreturn(0x7FFF5FBFEE80, 0x1E, 0x7FFF5FBFEE80)      = 0 Err#-2
__pthread_canceled(0x0, 0x0, 0x7FFF5FBFEF38)         = -1 Err#22
setitimer(0x0, 0x7FFF5FBFEF40, 0x7FFF5FBFEF20)       = 0 0
kill(0x60A, 0x0, 0x1)        = 0 0
sigaction(0xE, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50)       = 0 0
setitimer(0x0, 0x7FFF5FBFEF40, 0x7FFF5FBFEF20)       = 0 0
sigprocmask(0x0, 0x0, 0x7FFF5FBFEF4C)        = 0x0 0
sigsuspend(0x0, 0x0, 0x0)        = -1 Err#4
<repeats approx every 10s>
", 0x1) = 1 0 1500/0x15a94: sigprocmask(0x1, 0x0, 0x7FFF5FBFEB00) = 0x0 0 1500/0x15a94: sigaltstack(0x0, 0x7FFF5FBFEAF0, 0x0) = 0 0 1500/0x15a94: read(0x0, "c
$ sudo dtruss -p 1546
SYSCALL(args)        = return
", 0x1) = 1 0 1500/0x15a94: write_nocancel(0x2, "c
1500/0x15a94:  write_nocancel(0x2, "s%pre%", 0x1)       = 1 0
1500/0x15a94:  sigprocmask(0x1, 0x0, 0x7FFF5FBFEB00)         = 0x0 0
1500/0x15a94:  sigaltstack(0x0, 0x7FFF5FBFEAF0, 0x0)         = 0 0
1500/0x15a94:  read(0x0, "c%pre%", 0x1)         = 1 0
1500/0x15a94:  write_nocancel(0x2, "c%pre%", 0x1)       = 1 0
1500/0x15a94:  sigprocmask(0x1, 0x0, 0x7FFF5FBFEB00)         = 0x0 0
1500/0x15a94:  sigaltstack(0x0, 0x7FFF5FBFEAF0, 0x0)         = 0 0
1500/0x15a94:  read(0x0, "r%pre%", 0x1)         = 1 0
1500/0x15a94:  write_nocancel(0x2, "r%pre%", 0x1)       = 1 0
1500/0x15a94:  sigprocmask(0x1, 0x0, 0x7FFF5FBFEB00)         = 0x0 0
1500/0x15a94:  sigaltstack(0x0, 0x7FFF5FBFEAF0, 0x0)         = 0 0
1500/0x15a94:  read(0x0, "e%pre%", 0x1)         = 1 0
1500/0x15a94:  write_nocancel(0x2, "e%pre%", 0x1)       = 1 0
1500/0x15a94:  sigprocmask(0x1, 0x0, 0x7FFF5FBFEB00)         = 0x0 0
1500/0x15a94:  sigaltstack(0x0, 0x7FFF5FBFEAF0, 0x0)         = 0 0
1500/0x15a94:  read(0x0, "e%pre%", 0x1)         = 1 0
1500/0x15a94:  write_nocancel(0x2, "e%pre%", 0x1)       = 1 0
1500/0x15a94:  sigprocmask(0x1, 0x0, 0x7FFF5FBFEB00)         = 0x0 0
1500/0x15a94:  sigaltstack(0x0, 0x7FFF5FBFEAF0, 0x0)         = 0 0
1500/0x15a94:  read(0x0, "n%pre%", 0x1)         = 1 0
1500/0x15a94:  write_nocancel(0x2, "n27_77%pre%", 0x1)      = 1 0
1500/0x15a94:  sigprocmask(0x1, 0x0, 0x7FFF5FBFEB00)         = 0x0 0
1500/0x15a94:  sigaltstack(0x0, 0x7FFF5FBFEAF0, 0x0)         = 0 0
1500/0x15a94:  fork()        = 1635 0
1500/0x15a94:  setpgid(0x663, 0x663, 0x5DD)      = 0 0
1500/0x15a94:  sigprocmask(0x3, 0x7FFF5FBFF9C8, 0x0)         = 0x0 0
1500/0x15a94:  sigprocmask(0x1, 0x7FFF5FBFFA8C, 0x7FFF5FBFFA88)      = 0x0 0
1500/0x15a94:  sigprocmask(0x1, 0x7FFF5FBFFA2C, 0x7FFF5FBFFA28)      = 0x0 0
1500/0x15a94:  ioctl(0xFF, 0x4004667A, 0x7FFF5FBFF97C)       = 0 0
1500/0x15a94:  ioctl(0xFF, 0x80047476, 0x7FFF5FBFF9FC)       = 0 0
1500/0x15a94:  sigprocmask(0x3, 0x7FFF5FBFFA28, 0x0)         = 0x0 0
1500/0x15a94:  sigprocmask(0x3, 0x7FFF5FBFFA88, 0x0)         = 0x0 0
1500/0x15a94:  sigprocmask(0x1, 0x7FFF5FBFFA8C, 0x7FFF5FBFFA88)      = 0x0 0
1635/0x1654c:  ioctl(0x3, 0x80086804, 0x7FFF5FBFD6A0)        = 0 0
1635/0x1654c:  close(0x3)        = 0 0
1635/0x1654c:  __sysctl(0x7FFF5FBFD590, 0x2, 0x7FFF5FBFD580)         = 0 0
1635/0x1654c:  bsdthread_register(0x7FFF82BA42FC, 0x7FFF82B84F18, 0x2000)        = 0 0
1635/0x1654c:  thread_selfid(0x7FFF82BA42FC, 0x7FFF82B84F18, 0x0)        = 91468 0
1635/0x1654c:  open_nocancel("/dev/urandom%pre%", 0x0, 0x7FFF705D1B60)      = 3 0
1635/0x1654c:  read_nocancel(0x3, "g7750=2e27o1757%pre%23Ra^24z8\nf3557v151pj0rNW34100W\f3O&<274^0!\n1&1P\5%pre%", 0x40)       = 64 0
1635/0x1654c:  close_nocancel(0x3)       = 0 0
1635/0x1654c:  mmap(0x0, 0x3000, 0x3, 0x1002, 0x1000000, 0x7FFF00000001)         = 0x59000 0
1635/0x1654c:  __sysctl(0x7FFF5FBFD410, 0x2, 0x7FFF5FBFD3D0)         = 0 0
1635/0x1654c:  __sysctl(0x7FFF5FBFD3D0, 0x2, 0x7FFF5FBFD468)         = 0 0
1635/0x1654c:  getpid(0x7FFF5FBFD360, 0x7FFFFFE00050, 0x0)       = 1635 0
1635/0x1654c:  open_nocancel("/dev/urandom%pre%", 0x0, 0x0)         = 3 0
1635/0x1654c:  read_nocancel(0x3, ":juq63OW51,%pre%255E6_6>H\t6=30\0\tN?0412q<e0M20le<1$772Xs452+#z+13I6s774174213Qn54U21735\f3I102Id71tB66/(3462S512Y{%pre%", 0x6C)         = 108 0
1635/0x1654c:  close_nocancel(0x3)       = 0 0
1635/0x1654c:  __sysctl(0x7FFF5FBFD410, 0x2, 0x7FFF5FBFD43C)         = 0 0
1635/0x1654c:  mmap(0x0, 0xD000, 0x3, 0x1002, 0x1000000, 0x7FFF00000001)         = 0x5C000 0
1635/0x1654c:  mmap(0x0, 0xD000, 0x3, 0x1002, 0x1000000, 0x7FFF00000001)         = 0x69000 0
1635/0x1654c:  mmap(0x0, 0x1000, 0x3, 0x1002, 0x1000000, 0x7FFF00000001)         = 0x76000 0
1635/0x1654c:  mmap(0x0, 0x200000, 0x3, 0x1002, 0x7000000, 0x7FFF00000001)       = 0x77000 0
1635/0x1654c:  munmap(0x100077000, 0x89000)      = 0 0
1635/0x1654c:  munmap(0x100200000, 0x77000)      = 0 0
1635/0x1654c:  __sysctl(0x7FFF5FBFD570, 0x2, 0x7FFF5FBFD530)         = 0 0
1635/0x1654c:  __sysctl(0x7FFF5FBFD530, 0x2, 0x7FFF705DE6C0)         = 0 0
1635/0x1654c:  __sysctl(0x7FFF5FBFD570, 0x2, 0x7FFF5FBFD530)         = 0 0
1635/0x1654c:  __sysctl(0x7FFF5FBFD530, 0x2, 0x7FFF705DE6C4)         = 0 0
1635/0x1654c:  __sysctl(0x7FFF5FBFD570, 0x2, 0x7FFF5FBFD530)         = 0 0
1635/0x1654c:  __sysctl(0x7FFF5FBFD530, 0x2, 0x7FFF705DE6C8)         = 0 0
1635/0x1654c:  getdtablesize(0x0, 0x7FFF5FBFFA40, 0x0)       = 256 0
1635/0x1654c:  close(0xFF)       = -1 Err#9
...
1635/0x1654c:  close(0x3)        = -1 Err#9
1635/0x1654c:  getuid(0x10002D277, 0xFFFFFFFFFFFFFFFF, 0x7FFF5FBFF3D1)       = 502 0
1635/0x1654c:  getgid(0x10002D277, 0xFFFFFFFFFFFFFFFF, 0x0)      = 20 0
1635/0x1654c:  geteuid(0x10002D277, 0xFFFFFFFFFFFFFFFF, 0x0)         = 502 0
1635/0x1654c:  getegid(0x10002D277, 0xFFFFFFFFFFFFFFFF, 0x0)         = 20 0
1635/0x1654c:  sigaction(0x19, 0x7FFF5FBFF200, 0x7FFF5FBFF240)       = 0 0
1635/0x1654c:  sigaction(0xD, 0x7FFF5FBFF200, 0x7FFF5FBFF240)        = 0 0
1635/0x1654c:  access("/Users/chris/.nethackrc%pre%", 0x0, 0x17)        = -1 Err#2
1635/0x1654c:  getlogin(0x7FFF705D05A0, 0xFF, 0xFFFFFFFFFFFFFFFF)        = 0 0
1635/0x1654c:  mmap(0x0, 0x1000000, 0x3, 0x1002, 0x2000000, 0x100000000)         = 0x200000 0
1635/0x1654c:  munmap(0x100200000, 0x600000)         = 0 0
1635/0x1654c:  munmap(0x101000000, 0x200000)         = 0 0
1635/0x1654c:  shm_open(0x7FFF82CBF980, 0x0, 0x0)        = 3 0
1635/0x1654c:  mmap(0x0, 0x1000, 0x1, 0x1, 0x3, 0x100000000)         = 0x77000 0
1635/0x1654c:  close_nocancel(0x3)       = 0 0
1635/0x1654c:  getrlimit(0x1008, 0x7FFF5FBFEFF0, 0x7FFF82B6E86C)         = 0 0
1635/0x1654c:  open_nocancel("/etc/sysinfo.conf%pre%", 0x0, 0x1B6)      = -1 Err#2
1635/0x1654c:  stat64("/var/folders/jJ/jJ6dXorgFwuvL9p+qVUNVU+++TM/%pre%", 0x7FFF5FBFED00, 0x0)         = 0 0
1635/0x1654c:  mkdir("/var/folders/jJ/jJ6dXorgFwuvL9p+qVUNVU+++TM/-Tmp-/%pre%", 0x1C0, 0x7FFF5FBFEE13)      = -1 Err#17
1635/0x1654c:  access("/var/folders/jJ/jJ6dXorgFwuvL9p+qVUNVU+++TM/-Tmp-/.screen%pre%", 0x0, 0x3C0)         = 0 0
1635/0x1654c:  stat64("/var/folders/jJ/jJ6dXorgFwuvL9p+qVUNVU+++TM/-Tmp-/.screen%pre%", 0x7FFF5FBFF2C0, 0x0)        = 0 0
1635/0x1654c:  umask(0x12, 0x7FFF5FBFF2C0, 0x80808000)       = 0 0
1635/0x1654c:  __sysctl(0x7FFF5FBFF110, 0x2, 0x7FFF5FBFF120)         = 0 0
1635/0x1654c:  sigaction(0x1, 0x7FFF5FBFF200, 0x7FFF5FBFF240)        = 0 0
1635/0x1654c:  fork()        = 1636 0
1635/0x1654c:  setgid(0x14, 0x7FFF5FBFF7F1, 0x10005364B)         = 0 0
1635/0x1654c:  setuid(0x1F6, 0x7FFF5FBFF7F1, 0x0)        = 0 0
1635/0x1654c:  sigaction(0x1, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50)        = 0 0
1635/0x1654c:  sigaction(0x1, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50)        = 0 0
1635/0x1654c:  sigaction(0x1E, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50)       = 0 0
1635/0x1654c:  sigaction(0x1F, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50)       = 0 0
1635/0x1654c:  sigaction(0x2, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50)        = 0 0
1635/0x1654c:  sigaction(0x12, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50)       = 0 0
1635/0x1654c:  sigaction(0x1C, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50)       = 0 0
1635/0x1654c:  sigaction(0xE, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50)        = 0 0
1635/0x1654c:  setitimer(0x0, 0x7FFF5FBFEF40, 0x7FFF5FBFEF20)        = 0 0
1635/0x1654c:  sigprocmask(0x0, 0x0, 0x7FFF5FBFEF4C)         = 0x0 0
1636/0x1654e:  fstat64(0x2, 0x7FFF5FBFE5F0, 0x7FFF5FBFE6BC)      = 0 0
1636/0x1654e:  ioctl(0x2, 0x4004667A, 0x7FFF5FBFE63C)        = 0 0
1636/0x1654e:  write_nocancel(0x2, "SCREEN: can't detach from console\n%pre%", 0x22)        = 34 0
1635/0x1654c:  sigsuspend(0x0, 0x0, 0x0)         = -1 Err#4
1635/0x1654c:  __pthread_canceled(0x0, 0x0, 0x7FFF5FBFEF38)      = -1 Err#22
1635/0x1654c:  setitimer(0x0, 0x7FFF5FBFEF40, 0x7FFF5FBFEF20)        = 0 0
1635/0x1654c:  kill(0x664, 0x0, 0x1)         = 0 0
1635/0x1654c:  sigaction(0xE, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50)        = 0 0
1635/0x1654c:  setitimer(0x0, 0x7FFF5FBFEF40, 0x7FFF5FBFEF20)        = 0 0
1635/0x1654c:  sigprocmask(0x0, 0x0, 0x7FFF5FBFEF4C)         = 0x0 0
1500/0x15a94:  read(0x0, "\r%pre%6%pre%", 0x1)        = 1 0
1500/0x15a94:  write_nocancel(0x2, "\n%pre%6%pre%", 0x1)      = 1 0
1500/0x15a94:  sigprocmask(0x1, 0x1000A5984, 0x1000A5988)        = 0x0 0
1500/0x15a94:  ioctl(0x0, 0x80487414, 0x1000A59C0)       = 0 0
1500/0x15a94:  sigprocmask(0x3, 0x1000A5988, 0x0)        = 0x0 0
1500/0x15a94:  sigaction(0x2, 0x7FFF5FBFEAE0, 0x7FFF5FBFEB10)        = 0 0
1500/0x15a94:  sigaction(0xF, 0x7FFF5FBFEAE0, 0x7FFF5FBFEB10)        = 0 0
1500/0x15a94:  sigaction(0x3, 0x7FFF5FBFEAE0, 0x7FFF5FBFEB10)        = 0 0
1500/0x15a94:  sigaction(0xE, 0x7FFF5FBFEAE0, 0x7FFF5FBFEB10)        = 0 0
1500/0x15a94:  sigaction(0x12, 0x7FFF5FBFEAE0, 0x7FFF5FBFEB10)       = 0 0
1500/0x15a94:  sigaction(0x16, 0x7FFF5FBFEAE0, 0x7FFF5FBFEB10)       = 0 0
1500/0x15a94:  sigaction(0x15, 0x7FFF5FBFEAE0, 0x7FFF5FBFEB10)       = 0 0
1500/0x15a94:  sigaction(0x1C, 0x7FFF5FBFEAE0, 0x7FFF5FBFEB10)       = 0 0
1500/0x15a94:  sigaction(0x2, 0x7FFF5FBFEB00, 0x7FFF5FBFEB30)        = 0 0
1500/0x15a94:  gettimeofday(0x7FFF5FBFE9D0, 0x0, 0x1F80)         = 1289128377 0
1500/0x15a94:  sigprocmask(0x1, 0x7FFF5FBFF9CC, 0x7FFF5FBFF9C8)      = 0x0 0
1635/0x1654c:  fork()        = 0 0
1635/0x1654c:  thread_selfid(0x7FFF705D4C20, 0x3, 0x1)       = 91468 0
1635/0x1654c:  getpid(0x7FFF705D4C20, 0x3, 0x0)      = 1635 0
1635/0x1654c:  sigprocmask(0x3, 0x1000A69D8, 0x0)        = 0x0 0
1635/0x1654c:  sigaction(0x12, 0x7FFF5FBFF950, 0x7FFF5FBFF980)       = 0 0
1635/0x1654c:  sigaction(0x15, 0x7FFF5FBFF950, 0x7FFF5FBFF980)       = 0 0
1635/0x1654c:  sigaction(0x16, 0x7FFF5FBFF960, 0x7FFF5FBFF990)       = 0 0
1635/0x1654c:  setpgid(0x663, 0x663, 0x0)        = 0 0
1635/0x1654c:  sigprocmask(0x1, 0x7FFF5FBFF98C, 0x7FFF5FBFF988)      = 0x0 0
1635/0x1654c:  ioctl(0xFF, 0x4004667A, 0x7FFF5FBFF8DC)       = 0 0
1635/0x1654c:  ioctl(0xFF, 0x80047476, 0x7FFF5FBFF95C)       = 0 0
1635/0x1654c:  sigprocmask(0x3, 0x7FFF5FBFF988, 0x0)         = 0x0 0
1635/0x1654c:  sigaction(0x2, 0x7FFF5FBFF950, 0x7FFF5FBFF980)        = 0 0
1635/0x1654c:  sigaction(0x3, 0x7FFF5FBFF950, 0x7FFF5FBFF980)        = 0 0
1635/0x1654c:  sigaction(0xF, 0x7FFF5FBFF950, 0x7FFF5FBFF980)        = 0 0
1635/0x1654c:  sigaction(0x14, 0x7FFF5FBFF950, 0x7FFF5FBFF980)       = 0 0
1635/0x1654c:  execve(0x1001D0C30, 0x1001D0D20, 0x1001CFC40)         = 0 0
1635/0x1654c:  gettimeofday(0x7FFF5FBFF850, 0x0, 0x7FFF5FBFFA50)         = 1289128377 0
1635/0x1654c:  getpid(0x7FFF5FBFF850, 0x0, 0x0)      = 1635 0
1635/0x1654c:  open_nocancel("/dev/urandom%pre%", 0x0, 0x0)         = 3 0
1635/0x1654c:  read_nocancel(0x3, "1M3J237%pre%1py3h11)660r\n9r\b2g26%pre%32061%pre%", 0x6C)      = 108 0
1635/0x1654c:  close_nocancel(0x3)       = 0 0
1635/0x1654c:  issetugid(0x100000000, 0x7FFF5FBFFB18, 0x7FFF5FC40530)        = 0 0
1635/0x1654c:  geteuid(0x100000000, 0x7FFF5FBFFB18, 0x0)         = 502 0
1635/0x1654c:  __sysctl(0x7FFF5FBFD740, 0x2, 0x7FFF5FBFD700)         = 0 0
1635/0x1654c:  __sysctl(0x7FFF5FBFD700, 0x2, 0x7FFF5FBFD79C)         = 0 0
1635/0x1654c:  shared_region_check_np(0x7FFF5FBFD908, 0x0, 0x7FFF5FC1DC86)       = 0 0
1635/0x1654c:  stat64("/Applications/ImageMagick/lib/libncurses.5.4.dylib%pre%", 0x7FFF5FBFCE50, 0x7FFF5FBFD0F0)        = -1 Err#2
1635/0x1654c:  stat64("/usr/lib/libncurses.5.4.dylib%pre%", 0x7FFF5FBFCAB0, 0x7FFF5FBFD0F0)         = 0 0
1635/0x1654c:  stat64("/Applications/ImageMagick/lib/libSystem.B.dylib%pre%", 0x7FFF5FBFCE50, 0x7FFF5FBFD0F0)       = -1 Err#2
1635/0x1654c:  stat64("/usr/lib/libSystem.B.dylib%pre%", 0x7FFF5FBFCAB0, 0x7FFF5FBFD0F0)        = 0 0
1635/0x1654c:  stat64("/Applications/ImageMagick/lib/libmathCommon.A.dylib%pre%", 0x7FFF5FBFCBB0, 0x7FFF5FBFCE50)       = -1 Err#2
1635/0x1654c:  stat64("/usr/lib/system/libmathCommon.A.dylib%pre%", 0x7FFF5FBFC810, 0x7FFF5FBFCE50)         = 0 0
1635/0x1654c:  madvise(0x7FFF89561000, 0x2000, 0x5)      = 0 0
1635/0x1654c:  open("/dev/dtracehelper%pre%", 0x2, 0x7FFF5FC451F8)      = 3 0
1635/0x1654c:  ioctl(0x0, 0x40487413, 0x7FFF5FBFF1E0)        = 0 0
1635/0x1654c:  fstat64(0x0, 0x7FFF5FBFF150, 0x0)         = 0 0
1635/0x1654c:  open_nocancel("/dev/%pre%", 0x100004, 0x0)       = 3 0
1635/0x1654c:  fcntl_nocancel(0x3, 0x2, 0x1)         = 0 0
1635/0x1654c:  __sysctl(0x7FFF5FBFE5E0, 0x2, 0x7FFF705D6698)         = 0 0
1635/0x1654c:  fstatfs64(0x3, 0x7FFF5FBFE630, 0x0)       = 0 0
1635/0x1654c:  getdirentries64(0x3, 0x100801400, 0x1000)         = 3080 0
1635/0x1654c:  lstat64("/dev/.%pre%", 0x7FFF5FBFEF70, 0x0)      = 0 0
1635/0x1654c:  lstat64("/dev/..%pre%", 0x7FFF5FBFEF70, 0x0)         = 0 0
1635/0x1654c:  lstat64("/dev/console%pre%", 0x7FFF5FBFEF70, 0x0)        = 0 0
1635/0x1654c:  lstat64("/dev/tty%pre%", 0x7FFF5FBFEF70, 0x0)        = 0 0
1635/0x1654c:  lstat64("/dev/null%pre%", 0x7FFF5FBFEF70, 0x0)       = 0 0
1635/0x1654c:  lstat64("/dev/zero%pre%", 0x7FFF5FBFEF70, 0x0)       = 0 0
1635/0x1654c:  lstat64("/dev/klog%pre%", 0x7FFF5FBFEF70, 0x0)       = 0 0
1635/0x1654c:  lstat64("/dev/fd%pre%", 0x7FFF5FBFEF70, 0x0)         = 0 0
1635/0x1654c:  lstat64("/dev/stdin%pre%", 0x7FFF5FBFEF70, 0x0)      = 0 0
1635/0x1654c:  lstat64("/dev/stdout%pre%", 0x7FFF5FBFEF70, 0x0)         = 0 0
1635/0x1654c:  lstat64("/dev/stderr%pre%", 0x7FFF5FBFEF70, 0x0)         = 0 0
1635/0x1654c:  lstat64("/dev/auditpipe%pre%", 0x7FFF5FBFEF70, 0x0)      = 0 0
1635/0x1654c:  lstat64("/dev/ttyp0%pre%", 0x7FFF5FBFEF70, 0x0)      = 0 0
1635/0x1654c:  lstat64("/dev/ptyp0%pre%", 0x7FFF5FBFEF70, 0x0)      = 0 0
...
1635/0x1654c:  lstat64("/dev/ttywf%pre%", 0x7FFF5FBFEF70, 0x0)      = 0 0
1635/0x1654c:  lstat64("/dev/ptywf%pre%", 0x7FFF5FBFEF70, 0x0)      = 0 0
1635/0x1654c:  lstat64("/dev/ptmx%pre%", 0x7FFF5FBFEF70, 0x0)       = 0 0
1635/0x1654c:  lstat64("/dev/vn0%pre%", 0x7FFF5FBFEF70, 0x0)        = 0 0
1635/0x1654c:  lstat64("/dev/vn1%pre%", 0x7FFF5FBFEF70, 0x0)        = 0 0
1635/0x1654c:  lstat64("/dev/vn2%pre%", 0x7FFF5FBFEF70, 0x0)        = 0 0
1635/0x1654c:  lstat64("/dev/vn3%pre%", 0x7FFF5FBFEF70, 0x0)        = 0 0
1635/0x1654c:  lstat64("/dev/bpf0%pre%", 0x7FFF5FBFEF70, 0x0)       = 0 0
1635/0x1654c:  lstat64("/dev/bpf1%pre%", 0x7FFF5FBFEF70, 0x0)       = 0 0
1635/0x1654c:  lstat64("/dev/bpf2%pre%", 0x7FFF5FBFEF70, 0x0)       = 0 0
1635/0x1654c:  lstat64("/dev/bpf3%pre%", 0x7FFF5FBFEF70, 0x0)       = 0 0
1635/0x1654c:  lstat64("/dev/fsevents%pre%", 0x7FFF5FBFEF70, 0x0)       = 0 0
1635/0x1654c:  lstat64("/dev/random%pre%", 0x7FFF5FBFEF70, 0x0)         = 0 0
1635/0x1654c:  lstat64("/dev/urandom%pre%", 0x7FFF5FBFEF70, 0x0)        = 0 0
1635/0x1654c:  lstat64("/dev/dtrace%pre%", 0x7FFF5FBFEF70, 0x0)         = 0 0
1635/0x1654c:  lstat64("/dev/dtracehelper%pre%", 0x7FFF5FBFEF70, 0x0)       = 0 0
1635/0x1654c:  lstat64("/dev/lockstat%pre%", 0x7FFF5FBFEF70, 0x0)       = 0 0
1635/0x1654c:  lstat64("/dev/sdt%pre%", 0x7FFF5FBFEF70, 0x0)        = 0 0
1635/0x1654c:  lstat64("/dev/systrace%pre%", 0x7FFF5FBFEF70, 0x0)       = 0 0
1635/0x1654c:  lstat64("/dev/machtrace%pre%", 0x7FFF5FBFEF70, 0x0)      = 0 0
1635/0x1654c:  lstat64("/dev/fbt%pre%", 0x7FFF5FBFEF70, 0x0)        = 0 0
1635/0x1654c:  lstat64("/dev/profile%pre%", 0x7FFF5FBFEF70, 0x0)        = 0 0
1635/0x1654c:  getdirentries64(0x3, 0x100801400, 0x1000)         = 888 0
1635/0x1654c:  lstat64("/dev/pmCPUClient%pre%", 0x7FFF5FBFEF70, 0x0)        = 0 0
1635/0x1654c:  lstat64("/dev/disk0%pre%", 0x7FFF5FBFEF70, 0x0)      = 0 0
1635/0x1654c:  lstat64("/dev/rdisk0%pre%", 0x7FFF5FBFEF70, 0x0)         = 0 0
1635/0x1654c:  lstat64("/dev/disk0s1%pre%", 0x7FFF5FBFEF70, 0x0)        = 0 0
1635/0x1654c:  lstat64("/dev/rdisk0s1%pre%", 0x7FFF5FBFEF70, 0x0)       = 0 0
1635/0x1654c:  lstat64("/dev/disk0s2%pre%", 0x7FFF5FBFEF70, 0x0)        = 0 0
1635/0x1654c:  lstat64("/dev/rdisk0s2%pre%", 0x7FFF5FBFEF70, 0x0)       = 0 0
1635/0x1654c:  lstat64("/dev/io8log%pre%", 0x7FFF5FBFEF70, 0x0)         = 0 0
1635/0x1654c:  lstat64("/dev/io8logmt%pre%", 0x7FFF5FBFEF70, 0x0)       = 0 0
1635/0x1654c:  lstat64("/dev/cu.Bluetooth-Modem%pre%", 0x7FFF5FBFEF70, 0x0)         = 0 0
1635/0x1654c:  lstat64("/dev/tty.Bluetooth-Modem%pre%", 0x7FFF5FBFEF70, 0x0)        = 0 0
1635/0x1654c:  lstat64("/dev/cu.W880i-SerialPort%pre%", 0x7FFF5FBFEF70, 0x0)        = 0 0
1635/0x1654c:  lstat64("/dev/tty.W880i-SerialPort%pre%", 0x7FFF5FBFEF70, 0x0)       = 0 0
1635/0x1654c:  lstat64("/dev/cu.Bluetooth-PDA-Sync%pre%", 0x7FFF5FBFEF70, 0x0)      = 0 0
1635/0x1654c:  lstat64("/dev/tty.Bluetooth-PDA-Sync%pre%", 0x7FFF5FBFEF70, 0x0)         = 0 0
1635/0x1654c:  lstat64("/dev/autofs%pre%", 0x7FFF5FBFEF70, 0x0)         = 0 0
1635/0x1654c:  lstat64("/dev/autofs_nowait%pre%", 0x7FFF5FBFEF70, 0x0)      = 0 0
1635/0x1654c:  lstat64("/dev/autofs_control%pre%", 0x7FFF5FBFEF70, 0x0)         = 0 0
1635/0x1654c:  lstat64("/dev/ttys000%pre%", 0x7FFF5FBFEF70, 0x0)        = 0 0
1635/0x1654c:  lstat64("/dev/ttys002%pre%", 0x7FFF5FBFEF70, 0x0)        = 0 0
1635/0x1654c:  close_nocancel(0x3)       = 0 0
1635/0x1654c:  stat64("/dev/ttys002%pre%", 0x7FFF5FBFF2C0, 0x7FFF705D03A0)      = 0 0
1635/0x1654c:  seteuid(0x1F6, 0x6, 0x0)      = 0 0
1635/0x1654c:  setegid(0x14, 0x6, 0x0)       = 0 0
1635/0x1654c:  open("/dev/ttys002%pre%", 0x6, 0x0)      = 3 0
1635/0x1654c:  seteuid(0x1F6, 0x6, 0x0)      = 0 0
1635/0x1654c:  setegid(0x14, 0x6, 0x0)       = 0 0
1635/0x1654c:  close(0x3)        = 0 0
1635/0x1654c:  ioctl(0x0, 0x40487413, 0x100053C20)       = 0 0
1635/0x1654c:  umask(0x0, 0x40487413, 0x0)       = 18 0
1635/0x1654c:  geteuid(0x1, 0x7FFF5FBFEDE0, 0x400)       = 502 0
1636/0x1654e:  fork()        = 0 0
1636/0x1654e:  thread_selfid(0x7FFF705D4C20, 0x3, 0x1)       = 91470 0
1636/0x1654e:  getpid(0x7FFF705D4C20, 0x3, 0x0)      = 1636 0
1636/0x1654e:  seteuid(0x1F6, 0x2, 0x0)      = 0 0
1636/0x1654e:  setegid(0x14, 0x2, 0x0)       = 0 0
1636/0x1654e:  open("/dev/ttys002%pre%", 0x2, 0x0)      = 3 0
1636/0x1654e:  seteuid(0x1F6, 0x2, 0x0)      = 0 0
1636/0x1654e:  setegid(0x14, 0x2, 0x0)       = 0 0
1636/0x1654e:  close_nocancel(0x0)       = 0 0
1636/0x1654e:  open_nocancel("/dev/null%pre%", 0x0, 0x1B6)      = 0 0
1636/0x1654e:  close_nocancel(0x1)       = 0 0
1636/0x1654e:  open_nocancel("/dev/null%pre%", 0x601, 0x1B6)        = 1 0
1636/0x1654e:  close_nocancel(0x2)       = 0 0
1636/0x1654e:  open_nocancel("/dev/null%pre%", 0x601, 0x1B6)        = 2 0
1636/0x1654e:  audit_session_self(0x664, 0x7FFF5FBFF228, 0x7FFF82B6B366)         = 2563 0
1635/0x1654c:  sigsuspend(0x0, 0x0, 0x0)         = -1 Err#4
1635/0x1654c:  sigreturn(0x7FFF5FBFEE80, 0x1E, 0x7FFF5FBFEE80)       = 0 Err#-2
1635/0x1654c:  __pthread_canceled(0x0, 0x0, 0x7FFF5FBFEF38)      = -1 Err#22
1635/0x1654c:  setitimer(0x0, 0x7FFF5FBFEF40, 0x7FFF5FBFEF20)        = 0 0
1635/0x1654c:  kill(0x664, 0x0, 0x1)         = 0 0
1635/0x1654c:  sigaction(0xE, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50)        = 0 0
1635/0x1654c:  setitimer(0x0, 0x7FFF5FBFEF40, 0x7FFF5FBFEF20)        = 0 0
1635/0x1654c:  sigprocmask(0x0, 0x0, 0x7FFF5FBFEF4C)         = 0x0 0
", 0x1) = 1 0 1500/0x15a94: sigprocmask(0x1, 0x0, 0x7FFF5FBFEB00) = 0x0 0 1500/0x15a94: sigaltstack(0x0, 0x7FFF5FBFEAF0, 0x0) = 0 0 1500/0x15a94: read(0x0, "r%pre%", 0x1) = 1 0 1500/0x15a94: write_nocancel(0x2, "r%pre%", 0x1) = 1 0 1500/0x15a94: sigprocmask(0x1, 0x0, 0x7FFF5FBFEB00) = 0x0 0 1500/0x15a94: sigaltstack(0x0, 0x7FFF5FBFEAF0, 0x0) = 0 0 1500/0x15a94: read(0x0, "e%pre%", 0x1) = 1 0 1500/0x15a94: write_nocancel(0x2, "e%pre%", 0x1) = 1 0 1500/0x15a94: sigprocmask(0x1, 0x0, 0x7FFF5FBFEB00) = 0x0 0 1500/0x15a94: sigaltstack(0x0, 0x7FFF5FBFEAF0, 0x0) = 0 0 1500/0x15a94: read(0x0, "e%pre%", 0x1) = 1 0 1500/0x15a94: write_nocancel(0x2, "e%pre%", 0x1) = 1 0 1500/0x15a94: sigprocmask(0x1, 0x0, 0x7FFF5FBFEB00) = 0x0 0 1500/0x15a94: sigaltstack(0x0, 0x7FFF5FBFEAF0, 0x0) = 0 0 1500/0x15a94: read(0x0, "n%pre%", 0x1) = 1 0 1500/0x15a94: write_nocancel(0x2, "n27_77%pre%", 0x1) = 1 0 1500/0x15a94: sigprocmask(0x1, 0x0, 0x7FFF5FBFEB00) = 0x0 0 1500/0x15a94: sigaltstack(0x0, 0x7FFF5FBFEAF0, 0x0) = 0 0 1500/0x15a94: fork() = 1635 0 1500/0x15a94: setpgid(0x663, 0x663, 0x5DD) = 0 0 1500/0x15a94: sigprocmask(0x3, 0x7FFF5FBFF9C8, 0x0) = 0x0 0 1500/0x15a94: sigprocmask(0x1, 0x7FFF5FBFFA8C, 0x7FFF5FBFFA88) = 0x0 0 1500/0x15a94: sigprocmask(0x1, 0x7FFF5FBFFA2C, 0x7FFF5FBFFA28) = 0x0 0 1500/0x15a94: ioctl(0xFF, 0x4004667A, 0x7FFF5FBFF97C) = 0 0 1500/0x15a94: ioctl(0xFF, 0x80047476, 0x7FFF5FBFF9FC) = 0 0 1500/0x15a94: sigprocmask(0x3, 0x7FFF5FBFFA28, 0x0) = 0x0 0 1500/0x15a94: sigprocmask(0x3, 0x7FFF5FBFFA88, 0x0) = 0x0 0 1500/0x15a94: sigprocmask(0x1, 0x7FFF5FBFFA8C, 0x7FFF5FBFFA88) = 0x0 0 1635/0x1654c: ioctl(0x3, 0x80086804, 0x7FFF5FBFD6A0) = 0 0 1635/0x1654c: close(0x3) = 0 0 1635/0x1654c: __sysctl(0x7FFF5FBFD590, 0x2, 0x7FFF5FBFD580) = 0 0 1635/0x1654c: bsdthread_register(0x7FFF82BA42FC, 0x7FFF82B84F18, 0x2000) = 0 0 1635/0x1654c: thread_selfid(0x7FFF82BA42FC, 0x7FFF82B84F18, 0x0) = 91468 0 1635/0x1654c: open_nocancel("/dev/urandom%pre%", 0x0, 0x7FFF705D1B60) = 3 0 1635/0x1654c: read_nocancel(0x3, "g7750=2e27o1757%pre%23Ra^24z8\nf3557v151pj0rNW34100W\f3O&<274^0!\n1&1P\5%pre%", 0x40) = 64 0 1635/0x1654c: close_nocancel(0x3) = 0 0 1635/0x1654c: mmap(0x0, 0x3000, 0x3, 0x1002, 0x1000000, 0x7FFF00000001) = 0x59000 0 1635/0x1654c: __sysctl(0x7FFF5FBFD410, 0x2, 0x7FFF5FBFD3D0) = 0 0 1635/0x1654c: __sysctl(0x7FFF5FBFD3D0, 0x2, 0x7FFF5FBFD468) = 0 0 1635/0x1654c: getpid(0x7FFF5FBFD360, 0x7FFFFFE00050, 0x0) = 1635 0 1635/0x1654c: open_nocancel("/dev/urandom%pre%", 0x0, 0x0) = 3 0 1635/0x1654c: read_nocancel(0x3, ":juq63OW51,%pre%255E6_6>H\t6=30\0\tN?0412q<e0M20le<1$772Xs452+#z+13I6s774174213Qn54U21735\f3I102Id71tB66/(3462S512Y{%pre%", 0x6C) = 108 0 1635/0x1654c: close_nocancel(0x3) = 0 0 1635/0x1654c: __sysctl(0x7FFF5FBFD410, 0x2, 0x7FFF5FBFD43C) = 0 0 1635/0x1654c: mmap(0x0, 0xD000, 0x3, 0x1002, 0x1000000, 0x7FFF00000001) = 0x5C000 0 1635/0x1654c: mmap(0x0, 0xD000, 0x3, 0x1002, 0x1000000, 0x7FFF00000001) = 0x69000 0 1635/0x1654c: mmap(0x0, 0x1000, 0x3, 0x1002, 0x1000000, 0x7FFF00000001) = 0x76000 0 1635/0x1654c: mmap(0x0, 0x200000, 0x3, 0x1002, 0x7000000, 0x7FFF00000001) = 0x77000 0 1635/0x1654c: munmap(0x100077000, 0x89000) = 0 0 1635/0x1654c: munmap(0x100200000, 0x77000) = 0 0 1635/0x1654c: __sysctl(0x7FFF5FBFD570, 0x2, 0x7FFF5FBFD530) = 0 0 1635/0x1654c: __sysctl(0x7FFF5FBFD530, 0x2, 0x7FFF705DE6C0) = 0 0 1635/0x1654c: __sysctl(0x7FFF5FBFD570, 0x2, 0x7FFF5FBFD530) = 0 0 1635/0x1654c: __sysctl(0x7FFF5FBFD530, 0x2, 0x7FFF705DE6C4) = 0 0 1635/0x1654c: __sysctl(0x7FFF5FBFD570, 0x2, 0x7FFF5FBFD530) = 0 0 1635/0x1654c: __sysctl(0x7FFF5FBFD530, 0x2, 0x7FFF705DE6C8) = 0 0 1635/0x1654c: getdtablesize(0x0, 0x7FFF5FBFFA40, 0x0) = 256 0 1635/0x1654c: close(0xFF) = -1 Err#9 ... 1635/0x1654c: close(0x3) = -1 Err#9 1635/0x1654c: getuid(0x10002D277, 0xFFFFFFFFFFFFFFFF, 0x7FFF5FBFF3D1) = 502 0 1635/0x1654c: getgid(0x10002D277, 0xFFFFFFFFFFFFFFFF, 0x0) = 20 0 1635/0x1654c: geteuid(0x10002D277, 0xFFFFFFFFFFFFFFFF, 0x0) = 502 0 1635/0x1654c: getegid(0x10002D277, 0xFFFFFFFFFFFFFFFF, 0x0) = 20 0 1635/0x1654c: sigaction(0x19, 0x7FFF5FBFF200, 0x7FFF5FBFF240) = 0 0 1635/0x1654c: sigaction(0xD, 0x7FFF5FBFF200, 0x7FFF5FBFF240) = 0 0 1635/0x1654c: access("/Users/chris/.nethackrc%pre%", 0x0, 0x17) = -1 Err#2 1635/0x1654c: getlogin(0x7FFF705D05A0, 0xFF, 0xFFFFFFFFFFFFFFFF) = 0 0 1635/0x1654c: mmap(0x0, 0x1000000, 0x3, 0x1002, 0x2000000, 0x100000000) = 0x200000 0 1635/0x1654c: munmap(0x100200000, 0x600000) = 0 0 1635/0x1654c: munmap(0x101000000, 0x200000) = 0 0 1635/0x1654c: shm_open(0x7FFF82CBF980, 0x0, 0x0) = 3 0 1635/0x1654c: mmap(0x0, 0x1000, 0x1, 0x1, 0x3, 0x100000000) = 0x77000 0 1635/0x1654c: close_nocancel(0x3) = 0 0 1635/0x1654c: getrlimit(0x1008, 0x7FFF5FBFEFF0, 0x7FFF82B6E86C) = 0 0 1635/0x1654c: open_nocancel("/etc/sysinfo.conf%pre%", 0x0, 0x1B6) = -1 Err#2 1635/0x1654c: stat64("/var/folders/jJ/jJ6dXorgFwuvL9p+qVUNVU+++TM/%pre%", 0x7FFF5FBFED00, 0x0) = 0 0 1635/0x1654c: mkdir("/var/folders/jJ/jJ6dXorgFwuvL9p+qVUNVU+++TM/-Tmp-/%pre%", 0x1C0, 0x7FFF5FBFEE13) = -1 Err#17 1635/0x1654c: access("/var/folders/jJ/jJ6dXorgFwuvL9p+qVUNVU+++TM/-Tmp-/.screen%pre%", 0x0, 0x3C0) = 0 0 1635/0x1654c: stat64("/var/folders/jJ/jJ6dXorgFwuvL9p+qVUNVU+++TM/-Tmp-/.screen%pre%", 0x7FFF5FBFF2C0, 0x0) = 0 0 1635/0x1654c: umask(0x12, 0x7FFF5FBFF2C0, 0x80808000) = 0 0 1635/0x1654c: __sysctl(0x7FFF5FBFF110, 0x2, 0x7FFF5FBFF120) = 0 0 1635/0x1654c: sigaction(0x1, 0x7FFF5FBFF200, 0x7FFF5FBFF240) = 0 0 1635/0x1654c: fork() = 1636 0 1635/0x1654c: setgid(0x14, 0x7FFF5FBFF7F1, 0x10005364B) = 0 0 1635/0x1654c: setuid(0x1F6, 0x7FFF5FBFF7F1, 0x0) = 0 0 1635/0x1654c: sigaction(0x1, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50) = 0 0 1635/0x1654c: sigaction(0x1, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50) = 0 0 1635/0x1654c: sigaction(0x1E, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50) = 0 0 1635/0x1654c: sigaction(0x1F, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50) = 0 0 1635/0x1654c: sigaction(0x2, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50) = 0 0 1635/0x1654c: sigaction(0x12, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50) = 0 0 1635/0x1654c: sigaction(0x1C, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50) = 0 0 1635/0x1654c: sigaction(0xE, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50) = 0 0 1635/0x1654c: setitimer(0x0, 0x7FFF5FBFEF40, 0x7FFF5FBFEF20) = 0 0 1635/0x1654c: sigprocmask(0x0, 0x0, 0x7FFF5FBFEF4C) = 0x0 0 1636/0x1654e: fstat64(0x2, 0x7FFF5FBFE5F0, 0x7FFF5FBFE6BC) = 0 0 1636/0x1654e: ioctl(0x2, 0x4004667A, 0x7FFF5FBFE63C) = 0 0 1636/0x1654e: write_nocancel(0x2, "SCREEN: can't detach from console\n%pre%", 0x22) = 34 0 1635/0x1654c: sigsuspend(0x0, 0x0, 0x0) = -1 Err#4 1635/0x1654c: __pthread_canceled(0x0, 0x0, 0x7FFF5FBFEF38) = -1 Err#22 1635/0x1654c: setitimer(0x0, 0x7FFF5FBFEF40, 0x7FFF5FBFEF20) = 0 0 1635/0x1654c: kill(0x664, 0x0, 0x1) = 0 0 1635/0x1654c: sigaction(0xE, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50) = 0 0 1635/0x1654c: setitimer(0x0, 0x7FFF5FBFEF40, 0x7FFF5FBFEF20) = 0 0 1635/0x1654c: sigprocmask(0x0, 0x0, 0x7FFF5FBFEF4C) = 0x0 0 1500/0x15a94: read(0x0, "\r%pre%6%pre%", 0x1) = 1 0 1500/0x15a94: write_nocancel(0x2, "\n%pre%6%pre%", 0x1) = 1 0 1500/0x15a94: sigprocmask(0x1, 0x1000A5984, 0x1000A5988) = 0x0 0 1500/0x15a94: ioctl(0x0, 0x80487414, 0x1000A59C0) = 0 0 1500/0x15a94: sigprocmask(0x3, 0x1000A5988, 0x0) = 0x0 0 1500/0x15a94: sigaction(0x2, 0x7FFF5FBFEAE0, 0x7FFF5FBFEB10) = 0 0 1500/0x15a94: sigaction(0xF, 0x7FFF5FBFEAE0, 0x7FFF5FBFEB10) = 0 0 1500/0x15a94: sigaction(0x3, 0x7FFF5FBFEAE0, 0x7FFF5FBFEB10) = 0 0 1500/0x15a94: sigaction(0xE, 0x7FFF5FBFEAE0, 0x7FFF5FBFEB10) = 0 0 1500/0x15a94: sigaction(0x12, 0x7FFF5FBFEAE0, 0x7FFF5FBFEB10) = 0 0 1500/0x15a94: sigaction(0x16, 0x7FFF5FBFEAE0, 0x7FFF5FBFEB10) = 0 0 1500/0x15a94: sigaction(0x15, 0x7FFF5FBFEAE0, 0x7FFF5FBFEB10) = 0 0 1500/0x15a94: sigaction(0x1C, 0x7FFF5FBFEAE0, 0x7FFF5FBFEB10) = 0 0 1500/0x15a94: sigaction(0x2, 0x7FFF5FBFEB00, 0x7FFF5FBFEB30) = 0 0 1500/0x15a94: gettimeofday(0x7FFF5FBFE9D0, 0x0, 0x1F80) = 1289128377 0 1500/0x15a94: sigprocmask(0x1, 0x7FFF5FBFF9CC, 0x7FFF5FBFF9C8) = 0x0 0 1635/0x1654c: fork() = 0 0 1635/0x1654c: thread_selfid(0x7FFF705D4C20, 0x3, 0x1) = 91468 0 1635/0x1654c: getpid(0x7FFF705D4C20, 0x3, 0x0) = 1635 0 1635/0x1654c: sigprocmask(0x3, 0x1000A69D8, 0x0) = 0x0 0 1635/0x1654c: sigaction(0x12, 0x7FFF5FBFF950, 0x7FFF5FBFF980) = 0 0 1635/0x1654c: sigaction(0x15, 0x7FFF5FBFF950, 0x7FFF5FBFF980) = 0 0 1635/0x1654c: sigaction(0x16, 0x7FFF5FBFF960, 0x7FFF5FBFF990) = 0 0 1635/0x1654c: setpgid(0x663, 0x663, 0x0) = 0 0 1635/0x1654c: sigprocmask(0x1, 0x7FFF5FBFF98C, 0x7FFF5FBFF988) = 0x0 0 1635/0x1654c: ioctl(0xFF, 0x4004667A, 0x7FFF5FBFF8DC) = 0 0 1635/0x1654c: ioctl(0xFF, 0x80047476, 0x7FFF5FBFF95C) = 0 0 1635/0x1654c: sigprocmask(0x3, 0x7FFF5FBFF988, 0x0) = 0x0 0 1635/0x1654c: sigaction(0x2, 0x7FFF5FBFF950, 0x7FFF5FBFF980) = 0 0 1635/0x1654c: sigaction(0x3, 0x7FFF5FBFF950, 0x7FFF5FBFF980) = 0 0 1635/0x1654c: sigaction(0xF, 0x7FFF5FBFF950, 0x7FFF5FBFF980) = 0 0 1635/0x1654c: sigaction(0x14, 0x7FFF5FBFF950, 0x7FFF5FBFF980) = 0 0 1635/0x1654c: execve(0x1001D0C30, 0x1001D0D20, 0x1001CFC40) = 0 0 1635/0x1654c: gettimeofday(0x7FFF5FBFF850, 0x0, 0x7FFF5FBFFA50) = 1289128377 0 1635/0x1654c: getpid(0x7FFF5FBFF850, 0x0, 0x0) = 1635 0 1635/0x1654c: open_nocancel("/dev/urandom%pre%", 0x0, 0x0) = 3 0 1635/0x1654c: read_nocancel(0x3, "1M3J237%pre%1py3h11)660r\n9r\b2g26%pre%32061%pre%", 0x6C) = 108 0 1635/0x1654c: close_nocancel(0x3) = 0 0 1635/0x1654c: issetugid(0x100000000, 0x7FFF5FBFFB18, 0x7FFF5FC40530) = 0 0 1635/0x1654c: geteuid(0x100000000, 0x7FFF5FBFFB18, 0x0) = 502 0 1635/0x1654c: __sysctl(0x7FFF5FBFD740, 0x2, 0x7FFF5FBFD700) = 0 0 1635/0x1654c: __sysctl(0x7FFF5FBFD700, 0x2, 0x7FFF5FBFD79C) = 0 0 1635/0x1654c: shared_region_check_np(0x7FFF5FBFD908, 0x0, 0x7FFF5FC1DC86) = 0 0 1635/0x1654c: stat64("/Applications/ImageMagick/lib/libncurses.5.4.dylib%pre%", 0x7FFF5FBFCE50, 0x7FFF5FBFD0F0) = -1 Err#2 1635/0x1654c: stat64("/usr/lib/libncurses.5.4.dylib%pre%", 0x7FFF5FBFCAB0, 0x7FFF5FBFD0F0) = 0 0 1635/0x1654c: stat64("/Applications/ImageMagick/lib/libSystem.B.dylib%pre%", 0x7FFF5FBFCE50, 0x7FFF5FBFD0F0) = -1 Err#2 1635/0x1654c: stat64("/usr/lib/libSystem.B.dylib%pre%", 0x7FFF5FBFCAB0, 0x7FFF5FBFD0F0) = 0 0 1635/0x1654c: stat64("/Applications/ImageMagick/lib/libmathCommon.A.dylib%pre%", 0x7FFF5FBFCBB0, 0x7FFF5FBFCE50) = -1 Err#2 1635/0x1654c: stat64("/usr/lib/system/libmathCommon.A.dylib%pre%", 0x7FFF5FBFC810, 0x7FFF5FBFCE50) = 0 0 1635/0x1654c: madvise(0x7FFF89561000, 0x2000, 0x5) = 0 0 1635/0x1654c: open("/dev/dtracehelper%pre%", 0x2, 0x7FFF5FC451F8) = 3 0 1635/0x1654c: ioctl(0x0, 0x40487413, 0x7FFF5FBFF1E0) = 0 0 1635/0x1654c: fstat64(0x0, 0x7FFF5FBFF150, 0x0) = 0 0 1635/0x1654c: open_nocancel("/dev/%pre%", 0x100004, 0x0) = 3 0 1635/0x1654c: fcntl_nocancel(0x3, 0x2, 0x1) = 0 0 1635/0x1654c: __sysctl(0x7FFF5FBFE5E0, 0x2, 0x7FFF705D6698) = 0 0 1635/0x1654c: fstatfs64(0x3, 0x7FFF5FBFE630, 0x0) = 0 0 1635/0x1654c: getdirentries64(0x3, 0x100801400, 0x1000) = 3080 0 1635/0x1654c: lstat64("/dev/.%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/..%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/console%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/tty%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/null%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/zero%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/klog%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/fd%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/stdin%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/stdout%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/stderr%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/auditpipe%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/ttyp0%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/ptyp0%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 ... 1635/0x1654c: lstat64("/dev/ttywf%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/ptywf%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/ptmx%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/vn0%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/vn1%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/vn2%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/vn3%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/bpf0%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/bpf1%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/bpf2%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/bpf3%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/fsevents%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/random%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/urandom%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/dtrace%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/dtracehelper%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/lockstat%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/sdt%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/systrace%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/machtrace%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/fbt%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/profile%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: getdirentries64(0x3, 0x100801400, 0x1000) = 888 0 1635/0x1654c: lstat64("/dev/pmCPUClient%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/disk0%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/rdisk0%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/disk0s1%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/rdisk0s1%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/disk0s2%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/rdisk0s2%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/io8log%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/io8logmt%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/cu.Bluetooth-Modem%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/tty.Bluetooth-Modem%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/cu.W880i-SerialPort%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/tty.W880i-SerialPort%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/cu.Bluetooth-PDA-Sync%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/tty.Bluetooth-PDA-Sync%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/autofs%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/autofs_nowait%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/autofs_control%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/ttys000%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: lstat64("/dev/ttys002%pre%", 0x7FFF5FBFEF70, 0x0) = 0 0 1635/0x1654c: close_nocancel(0x3) = 0 0 1635/0x1654c: stat64("/dev/ttys002%pre%", 0x7FFF5FBFF2C0, 0x7FFF705D03A0) = 0 0 1635/0x1654c: seteuid(0x1F6, 0x6, 0x0) = 0 0 1635/0x1654c: setegid(0x14, 0x6, 0x0) = 0 0 1635/0x1654c: open("/dev/ttys002%pre%", 0x6, 0x0) = 3 0 1635/0x1654c: seteuid(0x1F6, 0x6, 0x0) = 0 0 1635/0x1654c: setegid(0x14, 0x6, 0x0) = 0 0 1635/0x1654c: close(0x3) = 0 0 1635/0x1654c: ioctl(0x0, 0x40487413, 0x100053C20) = 0 0 1635/0x1654c: umask(0x0, 0x40487413, 0x0) = 18 0 1635/0x1654c: geteuid(0x1, 0x7FFF5FBFEDE0, 0x400) = 502 0 1636/0x1654e: fork() = 0 0 1636/0x1654e: thread_selfid(0x7FFF705D4C20, 0x3, 0x1) = 91470 0 1636/0x1654e: getpid(0x7FFF705D4C20, 0x3, 0x0) = 1636 0 1636/0x1654e: seteuid(0x1F6, 0x2, 0x0) = 0 0 1636/0x1654e: setegid(0x14, 0x2, 0x0) = 0 0 1636/0x1654e: open("/dev/ttys002%pre%", 0x2, 0x0) = 3 0 1636/0x1654e: seteuid(0x1F6, 0x2, 0x0) = 0 0 1636/0x1654e: setegid(0x14, 0x2, 0x0) = 0 0 1636/0x1654e: close_nocancel(0x0) = 0 0 1636/0x1654e: open_nocancel("/dev/null%pre%", 0x0, 0x1B6) = 0 0 1636/0x1654e: close_nocancel(0x1) = 0 0 1636/0x1654e: open_nocancel("/dev/null%pre%", 0x601, 0x1B6) = 1 0 1636/0x1654e: close_nocancel(0x2) = 0 0 1636/0x1654e: open_nocancel("/dev/null%pre%", 0x601, 0x1B6) = 2 0 1636/0x1654e: audit_session_self(0x664, 0x7FFF5FBFF228, 0x7FFF82B6B366) = 2563 0 1635/0x1654c: sigsuspend(0x0, 0x0, 0x0) = -1 Err#4 1635/0x1654c: sigreturn(0x7FFF5FBFEE80, 0x1E, 0x7FFF5FBFEE80) = 0 Err#-2 1635/0x1654c: __pthread_canceled(0x0, 0x0, 0x7FFF5FBFEF38) = -1 Err#22 1635/0x1654c: setitimer(0x0, 0x7FFF5FBFEF40, 0x7FFF5FBFEF20) = 0 0 1635/0x1654c: kill(0x664, 0x0, 0x1) = 0 0 1635/0x1654c: sigaction(0xE, 0x7FFF5FBFEF10, 0x7FFF5FBFEF50) = 0 0 1635/0x1654c: setitimer(0x0, 0x7FFF5FBFEF40, 0x7FFF5FBFEF20) = 0 0 1635/0x1654c: sigprocmask(0x0, 0x0, 0x7FFF5FBFEF4C) = 0x0 0
    
por Chris 05.11.2010 / 22:26

2 respostas

5

Você não é o único com esse problema. Tela trava em um pedaço de código específico da Apple. Parece que se você pegar esse código e recompilar, ele funciona .

  • Você precisa ter as ferramentas de desenvolvimento da Apple (Xcode) instaladas.
  • Faça o download da fonte de tela . (Há uma versão mais recente, a tela 19, onde você terá que remover o código incorreto manualmente em screen.c .) Em seguida, descompacte-o:

    tar -xzf screen-16.tar.gz
    cd screen-16
    
  • Retire o primeiro e o terceiro trecho do patch para screen.c ; ou seja, patches/screen.c.diff deve agora conter

    --- screen.c    2003-09-08 07:26:41.000000000 -0700
    +++ screen.c    2009-02-13 12:05:05.000000000 -0800
    @@ -929,6 +934,16 @@
        Panic(0, "No $SCREENDIR with multi screens, please.");
     #endif
         }
    +#ifdef __APPLE__
    +    else if (!multi && real_uid == eff_uid) {
    +      static char DarwinSockDir[PATH_MAX];
    +      if (confstr(_CS_DARWIN_USER_TEMP_DIR, DarwinSockDir, sizeof(DarwinSockDir))) {
    +   strlcat(DarwinSockDir, ".screen", sizeof(DarwinSockDir));
    +   SockDir = DarwinSockDir;
    +      }
    +    }
    +#endif /* __APPLE__ */
    +
     #ifdef MULTIUSER
       if (multiattach)
         {
    
  • Agora compile o código:

    make install_source
    make
    
  • Verifique se o executável resultante /tmp/screen/Build/screen funciona.

  • Veja blog do D4T3N7OD para saber como substituir o executável da tela oficial pelo seu.

Não tenho ideia de por que a tela trava, por que a correção acima funciona e o que você perde removendo esse trecho de correção. Caso alguém esteja interessado, aqui está o quanto eu fui rastrear o código.

  • A tela bifurca um processo filho, que congela depois de abrir /dev/null em std {in, out, err} e chamando audit_session_self . O local correspondente na fonte está em screen.c , onde ver uma chamada para uma API da Apple privada:

    #if defined(__APPLE__) && !TARGET_OS_EMBEDDED
        if (_vprocmgr_detach_from_console(0) != NULL)
            errx(1, "can't detach from console");
    #endif
    
  • Este código parece ter origem no patch da Apple para tela 11 .

  • A implementação de _vprocmgr_detach_from_console parece estar em libvproc , onde leva a

    task_name_for_pid(mach_task_self(), getpid(), &tnp);
    vproc_mig_switch_to_session(bootstrap_port, tnp, (char *)target_session, _audit_session_self(), &new_bsport))
    

    Aqui reconhecemos _audit_session_self , a última chamada ao sistema (Darwin) que funcionou.

  • Em seguida, é a chamada Mach switch_to_session . É aí que eu perco a noção.

por 08.11.2010 / 21:52
0

Isso está no macOS 10.12.6 (estava funcionando bem em 10.11.6 sem a mudança abaixo)

Se você estiver efetuando login via ssh e nohup estiver falhando na mesma chamada de sistema com erros ioctl e undefined e a tela estiver interrompida conforme descrito acima, ative UsePAM em / etc / ssh / sshd_config. Descobrimos que fazer um su-$ USER e, em seguida, executar a tela ou nohup funcionaria de dentro do SSH, mas o login direto via ssh e a execução dos comandos não (a menos que o UsePAM estivesse habilitado). Deve haver alguns recursos / ganchos de "segurança" que fazem com que isso seja ativado.

    
por 29.09.2017 / 10:12

Tags