hlds скрипт запуска (ошибка в скрипте?)

Нативные и в Wine/Cedega - проблемы, настройка, обсуждение

Модератор: Модераторы разделов

Ответить
Mister1o
Сообщения: 197
ОС: FreeBSD,Gentoo,CentOS,Debian.

hlds скрипт запуска

Сообщение Mister1o »

доброго времени суток, уважаемые. сразу скажу что выбрал даный раздел, не смотря на то что она касается игрового сервера, потому что проблема заключается (насколько я понимаю) в скрипте запуска.
итак. скачивал сервер до кс 1.6. само собой последней версии. утилита по другому не умеет. с последним билдом "не сложилось". при запуске сервера получал ошибку. разочаровался, снес фрю (зазря), поставил ArchLinix. получил ту же самую ошибку. перерыл гугл вдоль и поперек. по сути дела ничего не нашел толкового.
и вот меня осенило ))) (кажись).
сервер запускается скриптом hlds_run
на что получаю ошибку:

Код: Выделить всё

Auto detecting CPU
Using Pentium II Optimised binary.
Auto-restarting the server on crash

Console initialized.
Using breakpad crash handler
Setting breakpad minidump AppID = 70
Forcing breakpad minidump interfaces to load
./hlds_run: line 321: 27218 segmentation fault                     $HL_CMD
BFD: Warning: /home/hlds/server/core is truncated: expected core file size >= 19075072, found: 1167360.
Cannot access memory at address 0xb77a88e8
Cannot access memory at address 0xb77a88e4
debug.cmds:1: Error in sourced command file:
Cannot access memory at address 0xbf83284c
email debug.log to linux@valvesoftware.com
Пт. марта 16 13:05:05 EET 2012: Server restart in 10 seconds

смею полагать что ошибка в скрипте (и ни в чем ином). тк сам в этом более чем дуб, прошу вашей помощи. файл прилагается в аттаче. фрагмент скрипта со строки, указанной в ошибке:

Код: Выделить всё

run() {                                                                                            # злосчастная строка. полагаю, ошибка в описании функции
    # Runs the steam update and server
    # Loops if RESTART is set
    # Debugs if server failure is detected
    # Note: if RESTART is not set then
    # 1. DEBUG is set then the server is NOT exec'd
    # 2. DEBUG is not set the the server is exec'd

    if test -n "$RESTART" ; then
        echo "Auto-restarting the server on crash"

        #loop forever
        while true
        do
            # Update if needed
            update

            # Run the server
            $HL_CMD
            retval=$?
            if test $retval -eq 0 && test -z "$AUTO_UPDATE"; then
                break; # if 0 is returned then just quit
            fi

            debugcore $retval

            echo "`date`: Server restart in $TIMEOUT seconds"

            # don't thrash the hard disk if the server dies, wait a little
            sleep $TIMEOUT
        done # while true
    else
        # Update if needed
        update

        # Run the server
        if test "$DEBUG" -eq 0; then
            # debug not requested we can exec
            exec $HL_CMD
        else
            # debug requested we can't exec
            $HL_CMD
            debugcore $?
        fi
    fi
}

не понимаю только почему valve не пофиксят.
полагаю, найдутся люди, у которых рука набита ) оч надеюсь на вашу помощ. заранее благодарен. с ув. Алексей.
Вложения
hlds_run.txt
(9.15 КБ) 17 скачиваний
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5282
ОС: Gentoo

Re: hlds скрипт запуска

Сообщение /dev/random »

Нет, проблема не в скрипте. Segmentation fault - ошибка при обращении к памяти, может происходить только в бинарных программах. Проблема в самом сервере.

iУведомление от модератора
Соответственно, переношу тему в "Игры".
Спасибо сказали:
Mister1o
Сообщения: 197
ОС: FreeBSD,Gentoo,CentOS,Debian.

Re: hlds скрипт запуска

Сообщение Mister1o »

спс. я полагал что идет обращение к несуществующей переменной. поэтому и грешил на скрипт. на новой машине (мозг АМД) работает. на старой (п3) категорически отказывается... не могу понять в чем причина... нет сомнений, что аппаратная.
возможно ли это из-за устаревшего железа? или дело, напр, в памяти или контроллере?
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: hlds скрипт запуска

Сообщение yars »

Ну Вам же сказали - segmentation fault. Дело тут в том, что бинарник "рассчитан" на "немного другую" процессорную архитектуру, с которой ваша старая машина почему-то не работает. Несмотря на совместимость сверху вниз (PIII -> PII).
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:
Mister1o
Сообщения: 197
ОС: FreeBSD,Gentoo,CentOS,Debian.

Re: hlds скрипт запуска

Сообщение Mister1o »

допустил ошибку: на самом деле ошбка следующая
illegal instruction.
скачал более древний билд. работает. так что, видимо, перекомпилили с поддержкой непонятного процессору набора инструкций. очень интересный ход... при том что бинарник оптимизирован (как говорится) под п2 =)
всем спасибо за помощь.
Спасибо сказали:
Ответить