LINUX.ORG.RU

openSuSE x86_64 & Maya 2008 x64


0

0

Возникла проблемка...На оф. форуме ничего не пишут, поэтому обращаюсь сюда.

Есть Maya 2008 64-bit, которая ВРОДЕ работает, но есть внутри неё программка, которая конвертит изображения в файлы IFF(растровые изображения стандарта Alias). Ну И она мне постоянно вываливает что-то вроде

// Error: Failed to open IFF file for reading : /tmp//maya48060x7fff7b508f20.iff // И в ps -A обнаруживаю кучу imgcvt.bin <defunct>

Собственно, программа-модуль конвертящая изображения в нативный IFF файлы изображений (они используются в работе всей программы).

Собственно, мне кажется что оно не работает как надо, т.е. ничего никуда не конвертит.

ВОПРОС - что делать-то? Как посмотреть, ПОЧЕМУ оно этого не делает? Возможно, проблема в том что у меня amd64, но на оф. сайте написано что эта архитектура поддерживается 64-бит версией Майи...

Всем заранее спасибо за помощь.


Да, очень интересно, как можно за полсекунды (а то и меньше) от запуска до перехода в состояние defunct поймать pid этого процесса и прилепить к нему strace. strace -p #maya.bin вываливает в консоль огромную кучу объемного мусора который сыплется в основном при перемещении мышки в окне maya.

oguretz
() автор топика

strace умеет писать лог на каждого потомка в отдельный файл.

Ещё раз говорю

man strace!!!

birdie ★★★★★
()
Ответ на: комментарий от birdie

К сожалению, не смог разобаться в логах, а точнее выявить причину ошибки. Наткнулся на вот такое: access("/usr/autodesk/maya2008-x64/bin/imgcvt.bin", X_OK) = 0 pipe([19, 20]) = 0 pipe([21, 22]) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x2ae8b34ba 5e0) = 10033 close(22) = 0 close(19) = 0 close(20) = 0 fcntl(21, F_GETFL) = 0 (flags O_RDONLY) fstat(21, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaab2257000 lseek(21, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) read(21, "", 1024) = 0 --- SIGCHLD (Child exited) @ 0 (0) ---

Сдается мне, что проблема где-то здесь... Особливо смущает Illegal seek. Погуглил немного - примерно то же происходит с нативной второй квакой и именно в SuSE.

oguretz
() автор топика
Ответ на: комментарий от oguretz

access("/usr/autodesk/maya2008-x64/bin/imgcvt.bin", X_OK) = 0
pipe([19, 20])                          = 0
pipe([21, 22])                          = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x2ae8b34ba
5e0) = 10033
close(22) = 0
close(19) = 0
close(20) = 0
fcntl(21, F_GETFL) = 0 (flags O_RDONLY)
fstat(21, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaab2257000
lseek(21, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
read(21, "", 1024) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---

Вот так, сорри за TeX, забыл переключить.

oguretz
() автор топика
Ответ на: комментарий от oguretz

Видимо, бинарник вообще не запускается - ручками, а не из maya пробовали?

Может его с 32битными библиотеками запускать? Замените бинарник на bash script, из которого вызывайте его нужным способом.

birdie ★★★★★
()
Ответ на: комментарий от birdie

Итак... очередным нахрапом взять эту штуку не удалось. Но выяснилась интересная вещь - проблема именно в работе утилиты imgcvt.bin. Надыбал 32-х битную версию этой штучки, поковырял - и что же я увидел...

При использовании 64-х битной версии в целевой файл (если, к примеру, преобразовывать JPG в IFF) записываются только нули, 32-х битная версия работает нормально. Размеры файлов в первом и втором случае получаются одинаковые. Ругани в консоль не идет. Strace-логи уж больно разные, не могу выявить в них проблему, но их всего 2 (никаких больше процессов не запускается) так что если кому-нибудь будет не лень посмотреть - обязательно выложу... Есть вариант юзать утилиту imgcvt из 32-хбитной версии, но неизвестно - возможно не только она такая привередливая.

oguretz
() автор топика
Ответ на: комментарий от oguretz

2 лога в том смысле что один лог работы 32х битной версии программы, второй - 64х битной. В первом случае всё ок, во втором - нули.

oguretz
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.