Bug 16492 - waits for smth before startup
Summary: waits for smth before startup
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: audacity (show other bugs)
Version: unstable
Hardware: all Linux
: P2 minor
Assignee: Ivan A. Melnikov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-31 15:51 MSD by Ivan Zakharyaschev
Modified: 2014-04-28 23:30 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Zakharyaschev 2008-07-31 15:51:13 MSD
audacity-1.3.4-alt0.9.2

When I start audacity:

$ audacity  
exec of JACK server failed: No such file or directory

and then it waits around 6 seconds for something (no disk or CPU activity), only after that the GUI appears. 

On some older versions there was no such behavior.

It's negligible for one time, but if I start it often (and if I'm in a hurry to start a recording then), then this delay becomes quite annoying.
Comment 1 Ivan Zakharyaschev 2008-07-31 17:43:25 MSD
$ strace -fF -e trace=all audacity

shows that it waits several more seconds for this JACK (although it is clear straightaway that it can't be started): 

socket(PF_FILE, SOCK_STREAM, 0)         = 7
getuid32()                              = 502
connect(7, {sa_family=AF_FILE, path="/var/lib/jack/tmp/jack-502/default/jack_0"}, 110) = -1 ENOENT (No such file or directory)
close(7)                                = 0
clone(Process 12488 attached
child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb6a89928) = 12488
[pid 12488] clone(Process 12489 attached
child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb6a89928) = 12489
[pid 12489] open("/home/ivan/.jackdrc", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 12489] open("/etc/jackd.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 12489] execve("/usr/bin/jackstart", ["/usr/bin/jackstart"..., "-T"..., "-ndefault"..., "-T"..., "-R"..., "-d"..., "alsa"..., "-p"..., "512"...], [/* 70 vars */]) = -1 ENOENT (No such file or directory)
[pid 12489] dup(2)                      = 7
[pid 12489] fcntl64(7, F_GETFL)         = 0x2 (flags O_RDWR)
[pid 12489] fstat64(7, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
[pid 12489] mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6a36000
[pid 12489] _llseek(7, 0, 0xbfb29b98, SEEK_CUR) = -1 ESPIPE (Illegal seek)
[pid 12489] write(7, "exec of JACK server failed: No s"..., 54exec of JACK server failed: No such file or directory
) = 54
[pid 12489] close(7)                    = 0
[pid 12489] munmap(0xb6a36000, 4096)    = 0
[pid 12489] exit_group(99)              = ?
Process 12489 detached
[pid 12487] rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
[pid 12487] rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
[pid 12487] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
[pid 12487] nanosleep({1, 0},  <unfinished ...>
[pid 12488] --- SIGCHLD (Child exited) @ 0 (0) ---
[pid 12488] exit_group(0)               = ?
Process 12488 detached
<... nanosleep resumed> 0xbfb2a054)     = ? ERESTART_RESTARTBLOCK (To be restarted)
--- SIGCHLD (Child exited) @ 0 (0) ---
restart_syscall(<... resuming interrupted call ...>) = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 7
connect(7, {sa_family=AF_FILE, path="/var/lib/jack/tmp/jack-502/default/jack_0"}, 110) = -1 ENOENT (No such file or directory)
close(7)                                = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, {1, 0})               = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 7
connect(7, {sa_family=AF_FILE, path="/var/lib/jack/tmp/jack-502/default/jack_0"}, 110) = -1 ENOENT (No such file or directory)
close(7)                                = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, {1, 0})               = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 7
connect(7, {sa_family=AF_FILE, path="/var/lib/jack/tmp/jack-502/default/jack_0"}, 110) = -1 ENOENT (No such file or directory)
close(7)                                = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, {1, 0})               = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 7
connect(7, {sa_family=AF_FILE, path="/var/lib/jack/tmp/jack-502/default/jack_0"}, 110) = -1 ENOENT (No such file or directory)
close(7)                                = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, {1, 0})               = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 7
connect(7, {sa_family=AF_FILE, path="/var/lib/jack/tmp/jack-502/default/jack_0"}, 110) = -1 ENOENT (No such file or directory)
close(7)                                = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 
[1]+  Stopped                 strace -fF -e trace=all audacity
$ 

Can't audacity proceed without waiting if it's clear that a "JACK" server can't be started?
Comment 2 Ivan Zakharyaschev 2008-07-31 17:47:03 MSD
More clear -- with time indications:

17:45:50 socket(PF_FILE, SOCK_STREAM, 0) = 7
17:45:50 getuid32()                     = 502
17:45:50 connect(7, {sa_family=AF_FILE, path="/var/lib/jack/tmp/jack-502/default/jack_0"}, 110) = -1 ENOENT (No such file or directory)
17:45:50 close(7)                       = 0
17:45:50 clone(Process 12578 attached
child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb69fa928) = 12578
[pid 12578] 17:45:50 clone(Process 12579 attached
child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb69fa928) = 12579
[pid 12579] 17:45:50 open("/home/ivan/.jackdrc", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 12579] 17:45:50 open("/etc/jackd.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 12579] 17:45:50 execve("/usr/bin/jackstart", ["/usr/bin/jackstart"..., "-T"..., "-ndefault"..., "-T"..., "-R"..., "-d"..., "alsa"..., "-p"..., "512"...], [/* 70 vars */]) = -1 ENOENT (No such file or directory)
[pid 12579] 17:45:50 dup(2)             = 7
[pid 12579] 17:45:50 fcntl64(7, F_GETFL) = 0x2 (flags O_RDWR)
[pid 12579] 17:45:50 fstat64(7, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
[pid 12579] 17:45:50 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb69a7000
[pid 12579] 17:45:50 _llseek(7, 0, 0xbf8748e8, SEEK_CUR) = -1 ESPIPE (Illegal seek)
[pid 12579] 17:45:50 write(7, "exec of JACK server failed: No s"..., 54exec of JACK server failed: No such file or directory
) = 54
[pid 12579] 17:45:50 close(7)           = 0
[pid 12579] 17:45:50 munmap(0xb69a7000, 4096) = 0
[pid 12579] 17:45:50 exit_group(99)     = ?
Process 12579 detached
[pid 12578] 17:45:50 --- SIGCHLD (Child exited) @ 0 (0) ---
[pid 12578] 17:45:50 exit_group(0)      = ?
Process 12578 detached
17:45:50 --- SIGCHLD (Child exited) @ 0 (0) ---
17:45:50 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
17:45:50 rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
17:45:50 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
17:45:50 nanosleep({1, 0}, {1, 0})      = 0
17:45:51 socket(PF_FILE, SOCK_STREAM, 0) = 7
17:45:51 connect(7, {sa_family=AF_FILE, path="/var/lib/jack/tmp/jack-502/default/jack_0"}, 110) = -1 ENOENT (No such file or directory)
17:45:51 close(7)                       = 0
17:45:51 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
17:45:51 rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
17:45:51 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
17:45:51 nanosleep({1, 0}, {1, 0})      = 0
17:45:52 socket(PF_FILE, SOCK_STREAM, 0) = 7
17:45:52 connect(7, {sa_family=AF_FILE, path="/var/lib/jack/tmp/jack-502/default/jack_0"}, 110) = -1 ENOENT (No such file or directory)
17:45:52 close(7)                       = 0
17:45:52 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
17:45:52 rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
17:45:52 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
17:45:52 nanosleep({1, 0}, {1, 0})      = 0
17:45:53 socket(PF_FILE, SOCK_STREAM, 0) = 7
17:45:53 connect(7, {sa_family=AF_FILE, path="/var/lib/jack/tmp/jack-502/default/jack_0"}, 110) = -1 ENOENT (No such file or directory)
17:45:53 close(7)                       = 0
17:45:53 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
17:45:53 rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
17:45:53 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
17:45:53 nanosleep({1, 0}, {1, 0})      = 0
17:45:54 socket(PF_FILE, SOCK_STREAM, 0) = 7
17:45:54 connect(7, {sa_family=AF_FILE, path="/var/lib/jack/tmp/jack-502/default/jack_0"}, 110) = -1 ENOENT (No such file or directory)
17:45:54 close(7)                       = 0
17:45:54 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
17:45:54 rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
17:45:54 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
17:45:54 nanosleep({1, 0}, {1, 0})      = 0
17:45:55 socket(PF_FILE, SOCK_STREAM, 0) = 7
17:45:55 connect(7, {sa_family=AF_FILE, path="/var/lib/jack/tmp/jack-502/default/jack_0"}, 110) = -1 ENOENT (No such file or directory)
17:45:55 close(7)                       = 0
17:45:55 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
17:45:55 rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
17:45:55 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
17:45:55 nanosleep({1, 0}, 
[1]+  Stopped                 strace -t -fF -e trace=all audacity
$ 
Comment 3 karpov 2008-08-08 14:20:14 MSD
Могу собрать 1.3.5 без данной проблемы и поддержки Mpeg 1 Layer 3 хоть сегодня. Устроит?
Comment 4 Ivan Zakharyaschev 2008-08-12 03:30:22 MSD
(In reply to comment #3)
> Могу собрать 1.3.5 без данной проблемы и поддержки Mpeg 1 Layer 3 хоть сегодня.
> Устроит?

Спасибо за отклик! 
Я не совсем понял, потеряет ли такая сборка какие-то полезные свойства или действительно просто исправит эту неприятность. Если потеряет полезные свойства, то не надо, нужно более правильное исправление тогда.

(Просто исходя из здравого смысла, в 21-ом веке программе не нужно 5 сек ждать, чтобы узнать, что на этом же компьютере какая-то программа не запустится, потому что её нет.)
Comment 5 karpov 2008-08-12 13:29:29 MSD
Mpeg 1 layer 3 блоее известен как mp3. Не то чтобы сверхважная штука, но отсутствие поддержки этого формата вызовет недовольство, мне кажется.
Comment 6 karpov 2008-09-30 11:22:06 MSD
Прошу тестировать audacity-1.3.5
Comment 7 Michael Shigorin 2014-04-28 23:30:08 MSK
На 2.0.x у меня не наблюдается.