Summary: | Не выполняется exec корректно | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Vitaly Lipatov <lav> |
Component: | tk | Assignee: | Vladimir D. Seleznev <vseleznv> |
Status: | CLOSED NOTABUG | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P3 | CC: | vseleznv |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Vitaly Lipatov
2016-01-28 21:01:16 MSK
Тестовый скрипт: #!/usr/bin/wish set _git {/usr/bin/git} proc _git_cmd {name} { return [list $::_git $name] } proc git {args} { set opt [list] set cmdp [_git_cmd [lindex $args 0]] set args [lrange $args 1 end] set result [eval exec $opt $cmdp $args] puts stderr "< $result" return $result } git --version strace: pid 13416] pipe([6<pipe:[143743268]>, 7<pipe:[143743268]>]) = 0 [pid 13416] fcntl(6<pipe:[143743268]>, F_SETFD, FD_CLOEXEC) = 0 [pid 13416] fcntl(7<pipe:[143743268]>, F_SETFD, FD_CLOEXEC) = 0 [pid 13416] open("/tmp/tcliCOyqF", O_RDWR|O_CREAT|O_EXCL, 0600) = 9</tmp/tcliCOyqF> [pid 13416] fcntl(9</tmp/tcliCOyqF>, F_SETFD, FD_CLOEXEC) = 0 [pid 13416] unlink("/tmp/tcliCOyqF") = 0 [pid 13416] pipe([10<pipe:[143743271]>, 11<pipe:[143743271]>]) = 0 [pid 13416] fcntl(10<pipe:[143743271]>, F_SETFD, FD_CLOEXEC) = 0 [pid 13416] fcntl(11<pipe:[143743271]>, F_SETFD, FD_CLOEXEC) = 0 [pid 13416] close(11<pipe:[143743271]>) = 0 [pid 13416] read(10<pipe:[143743271]>, "", 223) = 0 [pid 13416] close(10<pipe:[143743271]>) = 0 [pid 13416] close(7<pipe:[143743268]>) = 0 [pid 13416] read(6<pipe:[143743268]>, "", 4096) = 0 [pid 13416] close(6<pipe:[143743268]>) = 0 [pid 13416] ioctl(9< (deleted)/tmp/tcliCOyqF>, TCGETS, 0x7ffe29879b50) = -1 ENOTTY (Inappropriate ioctl for device) [pid 13416] getsockname(9< (deleted)/tmp/tcliCOyqF>, 0x7ffe29879bf0, 0x7ffe29879bec) = -1 ENOTSOCK (Socket operation on non-socket) [pid 13416] wait4(1298893056, 0x7ffe29879bd0, 0, NULL) = -1 ECHILD (No child processes) [pid 13416] lseek(9< (deleted)/tmp/tcliCOyqF>, 0, SEEK_SET) = 0 [pid 13416] read(9< (deleted)/tmp/tcliCOyqF>, "", 4096) = 0 [pid 13416] close(9< (deleted)/tmp/tcliCOyqF>) = 0 [pid 13416] write(2</dev/pts/13>, "Error in startup script", 23Error in startup script) = 23 Судя по скрипту, проблема адресуется к wish из tk. Проверялось на tk-8.5.9-alt3 Было # rpm -V tk S....... /usr/bin/wish8.5 то есть проблемы с размером файла. После переустановки пакета tk всё заработало. Проблему вызывает запуск # prelink /usr/bin/wish8.5 |