[Bug 924873] Re: Many unnecessary rt_sigprocmask syscalls

Jo Liss 924873 at bugs.launchpad.net
Wed Feb 1 13:07:58 UTC 2012


Forgot to mention: It doesn't happen without the -i option. And I'm
using Oneiric.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to bash in Ubuntu.
https://bugs.launchpad.net/bugs/924873

Title:
  Many unnecessary rt_sigprocmask syscalls

Status in “bash” package in Ubuntu:
  New

Bug description:
  Package: Bash 4.2-0ubuntu4
  bash --version: GNU bash, version 4.2.10(1)-release (x86_64-pc-linux-gnu)

  The command

       strace -o strace bash -i -c :

  reports many rt_sigprocmask calls:

  ....
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  open("/home/ubuntu/.bash_history", O_RDONLY) = 3
  fstat(3, {st_mode=S_IFREG|0600, st_size=1922, ...}) = 0
  brk(0x1f68000)                          = 0x1f68000
  read(3, "echo bar\n#1328099029\necho 'f\n#13"..., 1922) = 1922
  close(3)                                = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  stat("/home/ubuntu/.set-locale", 0x7fffe1ffcb10) = -1 ENOENT (No such file or directory)
  rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
  rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
  ...

  This likely has a performance impact. See e.g.
  http://timetobleed.com/fix-a-bug-in-rubys-configurein-and-get-a-30
  -performance-boost/ which describes (presumably) the same problem with
  Ruby.

  This might be fixable by changing the build options.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/bash/+bug/924873/+subscriptions




More information about the foundations-bugs mailing list