Romka_Kharkov

Romka_Kharkov
Рейтинг
485
Регистрация
08.04.2009
Должность
Хостинг
Качественный хостинг

В общем strace ничего пока не дал путевого, заслал им результат, посмотрели, сказали мол куча ошибок там (Bad file descriptor), предложили Fsck, сделал из single-user , журналы на месте, все в полном порядке, проблема не ушла.....

Boris A Dolgov:
Пока GDB висит после надписи Program received signal SIGSEGV, Segmentation fault. процесс живёт.

Ух ты, уже иду смотреть.....

---------- Добавлено 14.05.2013 в 20:36 ----------

Boris A Dolgov:
Пока GDB висит после надписи Program received signal SIGSEGV, Segmentation fault. процесс живёт.

Отвлекают со всех сторон, простите пожалуйста, параллельно Cpanel попросили сделать strace происходящего, как правильно посмотреть?, они тоже полагают что там будет некий файл к которому было последнее обращение..... Подскажете?

Boris A Dolgov:
Можно попробовать посмотреть ls -lia /proc/6446/fd и посмотреть там файлы, относящиеся к пользователю. Видимо, там есть какой-то кеш, который побился.
Ещё можно проверить, не побился ли /usr/local/cpanel/perl/Storable/Storable.so, но это очень вряд ли.

C последним тоже согласен, но проверю шас md5 по соседнему серверу, проблемма процесса 6446 в том, что его нет пока я не попробовал подключится\авторизоваться... как же его словить? Ведь он тут же падает по причине segfault.... стало быть надо как-то его "подождать", lsof умеет?

/usr/local/cpanel/perl/Storable/Storable.so - md5 OK на 3х машинках. Да и к чему бы это, была бы либа порченная, у всех бы клиентов не работало, а тут только 1 .... ))) какая-то ссылка куда-то есть которая почему-то перестала работать или что-то в этом роде....

Уже и не думал, что кто-то этим занимается ;)) Невероятно...

Имею самый широчайший опыт в IRC серверах :))) Какой вам софт нужен? Есть какие-то желания? Одно время был очень модным Unreal-IRCD... может сейчас все иначе.... в любом случае сможем предоставить и VPS и настройку любого IRC демона, так же сможем предоставить его сопровождение, линковку, обратную зону и тому подобное.

Andreyka:
Пересобери отдеьный Perl с debug и запусти его с этим модулем из-под аккаунта проблемного пользователя
По коре можно будет понять более детально

Кого "его" запустить? perl ? НЕ совсем понял, перл системный подменить на собранный с дебагом?

Andreyka:

Ядро кстати не клаудлинукс? ;)

Не, GENERIC так сказать :D

Я так понимаю что -p надо передавать PID, а он получается видимо как субпроцесс.... т.е создается после попытки авторизации.... выходит его надо как-то словить....

---------- Добавлено 14.05.2013 в 19:24 ----------

Boris A Dolgov:
Тогда попробовать
gdb -p `pgrep cpsrvd`
set follow-fork-mode child
c
после этого f5

При падении процесса в segfault gdb сам покажет свою консоль.

Что-то есть:


(gdb) set follow-fork-mode child
(gdb) c
Continuing.
[New process 6440]
[New process 6446]
Executing new program: /usr/local/cpanel/cpanel

Program received signal SIGSEGV, Segmentation fault.
[Switching to process 6446]
0x00002b10acdd9711 in Perl_vmess () from /usr/local/cpanel/perl/libperl.so
(gdb) bt
#0 0x00002b10acdd9711 in Perl_vmess () from /usr/local/cpanel/perl/libperl.so
#1 0x00002b10acddaec4 in Perl_vcroak () from /usr/local/cpanel/perl/libperl.so
#2 0x00002b10acddb367 in Perl_croak () from /usr/local/cpanel/perl/libperl.so
#3 0x00002b10ad466c70 in ?? () from /usr/local/cpanel/perl/Storable/Storable.so
#4 0x00002b10ad46764f in ?? () from /usr/local/cpanel/perl/Storable/Storable.so
#5 0x00002b10ad46ab56 in XS_Storable_pretrieve () from /usr/local/cpanel/perl/Storable/Storable.so
#6 0x00002b10acde5c03 in Perl_pp_entersub () from /usr/local/cpanel/perl/libperl.so
#7 0x00002b10acde49c6 in Perl_runops_standard () from /usr/local/cpanel/perl/libperl.so
#8 0x00002b10acda5252 in perl_run () from /usr/local/cpanel/perl/libperl.so
#9 0x00000000007c0b33 in Perl_sv_magic ()
#10 0x00000039a741d9c4 in __libc_start_main () from /lib64/libc.so.6
#11 0x00000000004023d9 in Perl_sv_magic ()
#12 0x00007fff6b027e68 in ?? ()
#13 0x0000000000000000 in ?? ()
V(o)ViK:
Раз уж до такого дошло, сделайте все же бэкап аккаунта
/scripts/pkgacct --skiphomedir user и восстановите на соседнем если у вас нет днс кластера. Если будет работать, попробуйте поверх rsync на /home/user/

Кластер есть и ИП надо будет переносить, не подходит... :(

V(o)ViK:
Не вижу смысла не давать пароль в поддержку.

Ваш дело :D

V(o)ViK:

Если захотят нагадить, сделают это при очередном обновлении панели:)

Это будет уже официально :D

---------- Добавлено 14.05.2013 в 19:12 ----------

Boris A Dolgov:
Я сейчас не сижу в icq, можно в jabber (boris@dolgov.name)
То, что Вы показали -- это без нажатия c, то есть не момент падения, а просто тот момент, когда отладчик подцепился к процессу.

Значит оно ничего не захватило......

Смотрите, если делаю как вы говорите gdb -p `pgrep cpanel`, получаю:


Excess command line arguments ignored. (19325)
GNU gdb (GDB) CentOS (7.0.1-45.el5.centos)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
17916: No such file or directory.
Attaching to process 1875
Reading symbols from /usr/local/cpanel/3rdparty/perl/514/bin/perl...(no debugging symbols found)...done.
Reading symbols from /usr/lib64/libgdbm.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libgdbm.so.2
Reading symbols from /usr/local/cpanel/3rdparty/perl/514/lib64/perl5/5.14.3/x86_64-linux-64int/CORE/libperl.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/cpanel/3rdparty/perl/514/lib64/perl5/5.14.3/x86_64-linux-64int/CORE/libperl.so
Reading symbols from /lib64/libnsl.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libnsl.so.1
Reading symbols from /lib64/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libm.so.6
Reading symbols from /lib64/libcrypt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libcrypt.so.1
Reading symbols from /lib64/libutil.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libutil.so.1
Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /usr/local/cpanel/3rdparty/perl/514/lib64/perl5/5.14.3/x86_64-linux-64int/auto/Fcntl/Fcntl.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/cpanel/3rdparty/perl/514/lib64/perl5/5.14.3/x86_64-linux-64int/auto/Fcntl/Fcntl.so
Reading symbols from /usr/local/cpanel/3rdparty/perl/514/lib64/perl5/cpanel_lib/x86_64-linux-64int/auto/IO/IO.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/cpanel/3rdparty/perl/514/lib64/perl5/cpanel_lib/x86_64-linux-64int/auto/IO/IO.so

warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fff79bfd000
0x00000039a749a1b0 in __nanosleep_nocancel () from /lib64/libc.so.6

После чего ввожу "c": и получаю:


0x00000039a749a1b0 in __nanosleep_nocancel () from /lib64/libc.so.6
(gdb) c
Continuing.

Ввод команд недоступен, оно или что-то ждет или что-то делает, думаю ждет.

Теперь иду и логинюсь, в окошке gdb ничего не меняется.... так и висит в пред. состоянии....

т.е уже <bt> мне надо вводить после CTRL+C.....

Если же делаю: gdb -p `pgrep cpsrvd-ssl`

То есть реакция после "c" когда я пытаюсь залогиниться, следующего вида:


Detaching after fork from child process 31687.
Detaching after fork from child process 31696.
Detaching after fork from child process 31724.
Detaching after fork from child process 31769.

Совпадает с тем когда я нажимаю F5 на страничке где у меня 500 Err после авторизации, но режим "c" не отпускает...... CTRL+D не катит.... что делать? BT по прежнему могу передать только после CTRL+C

netwind:
А у программиста панели свои планы, релизы и cпринты. У себя в тикет запишут, что вы отказались сотрудничать и все. Раз проблема еще не исправлена на основании чужих жалоб, очевидно, она ваша частная.

Она куда больше чем частная, у 1го клиента проблема на сервере (пока так вижу)... :))) Так может он пусть и решает её?

netwind:
А разве у вас есть выбор? Единственный шанс нагуглить собратьев по несчастью, которые уже предоставляли доступ root. Ну или понтануться знанием gdb и strace, что на практике не обязательно помогает догадаться в чем дело.

Да вроде как есть, я все таки денежки за лицензию плачу, какой никакой суппорт там для меня есть, по крайней мере фаза "того что я уже попробовал" прошла ))) предефайны работают :D Буду пытаться добиться рабочего варианта от cPanel Support без предоставления root доступа. Пусть бинарик мне соберут дебажный какой-то.... у меня десятки серверов, сотни баксов в месяц за лицензии :D

---------- Добавлено 14.05.2013 в 17:48 ----------

V(o)ViK:
Ну попробуйте еще /usr/local/cpanel/base/frontend/x3 слить с соседнего если все одинаковое.

Это прошли с суппортом, кстати в процессе этого шага обнаружили проблему, за что уже сказали спасибо :D (будет исправлено в след. версии). Удалял /frontend, следом upcp --force, заливается, все ок, ошибок нет, проблема на месте.

---------- Добавлено 14.05.2013 в 17:53 ----------

Boris A Dolgov:
Сделайте gdb -p `pgrep cpanel`
введите c
Затем попробуйте войти под аккаунтом
введите bt
введите q
нажмите y
Пришлите вывод. Как настоящий экстрасенс попробую помочь.

Как-то последовательность невозможна... постукал в ICQ.

---------- Добавлено 14.05.2013 в 18:03 ----------

Boris A Dolgov,

получил нечто похожее на:


#0 0x00000039a74ce0f3 in __select_nocancel () from /lib64/libc.so.6
#1 0x00002ac8777c3ddd in Perl_pp_sselect () from /usr/local/cpanel/perl/libperl.so
#2 0x00002ac8777909c6 in Perl_runops_standard () from /usr/local/cpanel/perl/libperl.so
#3 0x00002ac877751252 in perl_run () from /usr/local/cpanel/perl/libperl.so
#4 0x0000000000565b6d in Perl_sv_magic ()
#5 0x00000039a741d9c4 in __libc_start_main () from /lib64/libc.so.6
#6 0x0000000000402029 in Perl_sv_magic ()
#7 0x00007fffb4003858 in ?? ()
#8 0x0000000000000000 in ?? ()

Только пришлось pgrep cpsrvd, cpanel Видимо subprocess какой-то, не сильно понимаю....

V(o)ViK,

Не все так просто , акаунт важный, 25 гиг данных, нельзя его снести и установить по новой за пол минуты, так что такой подход не катит :)

По вопросам квоты тоже смотрел, иноды смотрел все смотрел, пользователь выглядит вполне нормально, до превышения квоты ему еще 50% , инодов полно, и тому подобное..... система выглядит нормально и соседнии пользователи выглядят тоже нормально и они работают .... проблема почему-то с 1м акаунтом, проверил права на все что можно , включая домашнюю директорию и.т.п в общем пока не понимаю в чем история...... cPanel Support сквозь зубы начал помогать советами которые были испробованы раньше обращения в суппорт, посмотрим что еще скажут.

/// Дополнительная информация

При теме "x3" - глюк

При тебе "x3mail" - нет глюка, но нет функционала :D

Почистил всякие *.cache, подергал всякие /scripts/*cache* , ничего пока не помогает.

Всего: 6838