parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Victor, WebXL.Admin 25.06.2008 19:33

Приветствую.
С точки зрения MySQL (и другого софта), Fedora Core - это Linux Red Hat (обозначение Red Hat обычно RH или просто Linux). И да, Вы правильно поняли - FC это Fedora Core.

По поводу текущей проблемы - а причем тут 32-битная версия libmysqlclient.so не понятно. Эту библиотеку вообще не трогали, просто перекомпилили парсер и пришли к следующему результату:
Форум работающий на parser3 с MySQL нормально работает. Подчеркиваю - он нормально работает, в том числе с установленной по умолчанию библиотекой.
А вот страница test.html не работает и выдает permature of script header (error 500). Но ведь не в библиотеке мускуля дело, форум ведь работает.
Ну и для очистки совести попробовали 32 битную библиотеку подключать к обоим версиям парсера (с этого сайта и самосборной), безрезультатно.
Но опять же повторюсь, что версия парсера которую скомпилили мы нормально работает с MySQL, а помирает она на файле test.html (тестирование парсера). Вот эту проблему бы и решить. Ошибка по полочкам:
Помирает оно по причине segmentation fault, стрейс бинарника показывает следующее:

#strace ./cgi-bin/parser3/parser3.cgi ./test.html
...много всего...
stat("/home/юзер/тутбылсайт.ru/./_test", 0x7fff839ebfc0) = -1 ENOENT (No such file or directory)
mkdir("/home", 0775) = -1 EEXIST (File exists)
mkdir("/home/юзер", 0775) = -1 EEXIST (File exists)
mkdir("/home/юзер/тутбылсайт.ru", 0775) = -1 EEXIST (File exists)
mkdir("/home/юзер/тутбылсайт.ru/.", 0775) = -1 EEXIST (File exists)
mmap(0x2aaaaac39000, 438272, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaaac39000
open("/home/юзер/тутбылсайт.ru/./_test.dir", O_RDWR|O_CREAT, 0664) = 4
open("/home/юзер/тутбылсайт.ru/./_test.pag", O_RDWR|O_CREAT, 0664) = 5
flock(4, LOCK_EX|LOCK_NB) = 0
fstat(4, {st_mode=S_IFREG|0664, st_size=0, ...}) = 0
lseek(5, 0, SEEK_SET) = 0
read(5, "\210\0\334\37\313\37\247\37\216\37j\37Q\37-\37\24\37\360\36\327\36\263\36\232\36v\36]\0369\36"..., 8192) = 8192
lseek(5, 0, SEEK_SET) = 0
write(5, "\212\0\334\37\313\37\247\37\216\37j\37Q\37-\37\24\37\360\36\327\36\263\36\232\36v\36]\0369\36"..., 8192) = 8192
lseek(5, 0, SEEK_SET) = 0
read(5, "\212\0\334\37\313\37\247\37\216\37j\37Q\37-\37\24\37\360\36\327\36\263\36\232\36v\36]\0369\36"..., 8192) = 8192
read(5, "", 8192) = 0
lseek(5, 0, SEEK_SET) = 0
read(5, "\212\0\334\37\313\37\247\37\216\37j\37Q\37-\37\24\37\360\36\327\36\263\36\232\36v\36]\0369\36"..., 8192) = 8192
read(5, "", 8192) = 0
lseek(5, 0, SEEK_SET) = 0
read(5, "\212\0\334\37\313\37\247\37\216\37j\37Q\37-\37\24\37\360\36\327\36\263\36\232\36v\36]\0369\36"..., 8192) = 8192
lseek(5, 0, SEEK_SET) = 0
read(5, "\212\0\334\37\313\37\247\37\216\37j\37Q\37-\37\24\37\360\36\327\36\263\36\232\36v\36]\0369\36"..., 8192) = 8192
read(5, "", 8192) = 0
lseek(5, 0, SEEK_SET) = 0
read(5, "\212\0\334\37\313\37\247\37\216\37j\37Q\37-\37\24\37\360\36\327\36\263\36\232\36v\36]\0369\36"..., 8192) = 8192
read(5, "", 8192) = 0
lseek(5, 0, SEEK_SET) = 0
read(5, "\212\0\334\37\313\37\247\37\216\37j\37Q\37-\37\24\37\360\36\327\36\263\36\232\36v\36]\0369\36"..., 8192) = 8192
flock(4, LOCK_UN) = 0
close(4) = 0
close(5) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

Т.е. помирает оно при работе с файлами.
Из прочитанного выше понял что эту проблему уже не решить, потому что компилится парсер на процессоре с 64-битной архитектуре.
Остается брать с этого сайта 32-битную версию парсера и ставить совместимую версию либы мускуля (compat может быть). Будем пробовать, по результатам сообщим.

P.S. При регистрации на этом форуме, получил ошибку
Unhandled Exception
The server encountered an unhandled exception and was unable to complete your request.

Правда после нажатия F5 регистрация все-таки прошла успешно.