Фряха, перловка и выделение памяти

Тема в разделе "Администрирование серверов", создана пользователем the_user, 7 фев 2009.

Статус темы:
Закрыта.
Модераторы: mefish, stooper
  1. the_user

    the_user Постоялец

    Регистр.:
    4 май 2008
    Сообщения:
    61
    Симпатии:
    1
    Странная проблема с форумом YaBB (Perl, open-source) под фряхой (раньше хостился на мажордомо, проблемы не было:( в некоторых топиках парсер bb-кодов валится с ошибкой

    Out of memory during ridiculously large request at ./Sources/System.pl line 453

    Зависимости длины сообщения, наличия каких-то специфических символов, старости темы и пр. с ошибкой я найти не смог. С ошибкой столкнулся впервые, на других платформах (ASPL, SUSE, WinXP, MacOS) ничего подобного никогда не было. Памяти на сервере - >2Gb free по top-у. Исходники форума не трогал, ошибка возникла при переезде на другой сервер.

    Есть идеи? Разработчики ябба потестили на 7 и 7.1 фряхе и ошибку воспроизвести не смогли.


    Платформа:
    HTML:
    
    [root]$ uname -a
    FreeBSD 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC 2008     root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
    
    Стоит Apache/2.2.9.

    Перловка:

    HTML:
    
    [root]$ perl -V
    Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
      Platform:
        osname=freebsd, osvers=7.0-release, archname=i386-freebsd-64int
        uname='freebsd freebsd.org 7.0-release freebsd 7.0-release #0: fri dec 7 15:51:05 pst 2007 kris@freebsd.org:usrsrcsysmagickernelpath i386 '
        config_args='-sde -Dprefix=/usr/local -Darchlib=/usr/local/lib/perl5/5.8.8/mach -Dprivlib=/usr/local/lib/perl5/5.8.8 -Dman3dir=/usr/local/lib/perl5/5.8.8/perl/man/man3 -Dman1dir=/usr/local/man/man1 -Dsitearch=/usr/local/lib/perl5/site_perl/5.8.8/mach -Dsitelib=/usr/local/lib/perl5/site_perl/5.8.8 -Dscriptdir=/usr/local/bin -Dsiteman3dir=/usr/local/lib/perl5/5.8.8/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Ui_malloc -Ui_iconv -Uinstallusrbinperl -Dcc=cc -Duseshrplib -Dccflags=-DAPPLLIB_EXP="/usr/local/lib/perl5/5.8.8/BSDPAN" -Doptimize=-O2 -fno-strict-aliasing -pipe  -Ud_dosuid -Ui_gdbm -Dusethreads=n -Dusemymalloc=y -Duse64bitint'
        hint=recommended, useposix=true, d_sigaction=define
        usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
        useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
        use64bitint=define use64bitall=undef uselongdouble=undef
        usemymalloc=y, bincompat5005=undef
      Compiler:
        cc='cc', ccflags ='-DAPPLLIB_EXP="/usr/local/lib/perl5/5.8.8/BSDPAN" -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include',
        optimize='-O2 -fno-strict-aliasing -pipe ',
        cppflags='-DAPPLLIB_EXP="/usr/local/lib/perl5/5.8.8/BSDPAN" -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include'
        ccversion='', gccversion='4.2.1 20070719  [FreeBSD]', gccosandvers=''
        intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
        d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
        ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
        alignbytes=4, prototype=define
      Linker and Libraries:
        ld='cc', ldflags =' -Wl,-E -L/usr/local/lib'
        libpth=/usr/lib /usr/local/lib
        libs=-lm -lcrypt -lutil
        perllibs=-lm -lcrypt -lutil
        libc=, so=so, useshrplib=true, libperl=libperl.so
        gnulibc_version=''
      Dynamic Linking:
        dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='  -Wl,-R/usr/local/lib/perl5/5.8.8/mach/CORE'
        cccdlflags='-DPIC -fPIC', lddlflags='-shared  -L/usr/local/lib'
    
    
    Characteristics of this binary (from libperl):
      Compile-time options: MYMALLOC PERL_MALLOC_WRAP USE_64_BIT_INT
    				USE_LARGE_FILES USE_PERLIO
      Locally applied patches:
    	  defined-or
      Built under freebsd
      Compiled at Dec  7 2007 23:55:19
      @INC:
        /usr/local/lib/perl5/5.8.8/BSDPAN
        /usr/local/lib/perl5/site_perl/5.8.8/mach
        /usr/local/lib/perl5/site_perl/5.8.8
        /usr/local/lib/perl5/site_perl
        /usr/local/lib/perl5/5.8.8/mach
        /usr/local/lib/perl5/5.8.8
        .
    
     
  2. despainer

    despainer

    Регистр.:
    15 фев 2008
    Сообщения:
    615
    Симпатии:
    168
    Есть вариант что на сервере нет каких то бибиотек Perl,поэтому скрипт ругается на ошибку
     
    scarabey нравится это.
  3. Kaimi

    Kaimi

    Регистр.:
    28 окт 2007
    Сообщения:
    257
    Симпатии:
    253
  4. sens7

    sens7 Постоялец

    Регистр.:
    9 авг 2008
    Сообщения:
    51
    Симпатии:
    7
    как я понимаю проблема в перле, его сборке(версии)
    можно увидеть вывод версии перла с сервера где оно работало
    мне кажеться проблема в том что надо увеличить
    compile-time default is 64K
    вот тут есть описание этой ошибки
    http://ts.psc.ru/perl/CR/chap16.html
     
    the_user нравится это.
  5. AccessForbidden

    AccessForbidden

    Регистр.:
    5 янв 2009
    Сообщения:
    324
    Симпатии:
    57
    Я не гуру фряхи но все же
    У тебя я увидел Duse64bitint
    Попробуй пересобери, обязательно расскажи помогло или нет.
     
    the_user нравится это.
  6. the_user

    the_user Постоялец

    Регистр.:
    4 май 2008
    Сообщения:
    61
    Симпатии:
    1
    Нет такого варианта. Внимательно перечитываем первый пост )

    Он саймый.

    По 2 последним ответам - буду думать, спасибо. О результатах отпишусь.
     
  7. unixman

    unixman

    Регистр.:
    6 сен 2006
    Сообщения:
    688
    Симпатии:
    61
    i386 - вот причина всех бед
    Нуна FreeBSD amd64!
     
  8. the_user

    the_user Постоялец

    Регистр.:
    4 май 2008
    Сообщения:
    61
    Симпатии:
    1
    Пересобрал вот так:


    Помогло. Спасибо всем большое за ответы!
     
  9. the_user

    the_user Постоялец

    Регистр.:
    4 май 2008
    Сообщения:
    61
    Симпатии:
    1
    Зато, как выяснилось, при сборке перла посыпался сендмэйл =( так что - история продолжается.
     
  10. unixman

    unixman

    Регистр.:
    6 сен 2006
    Сообщения:
    688
    Симпатии:
    61
    Пересобирай сендмыл :)
     
Статус темы:
Закрыта.