ОсновноеRadiotalkПользовательское
Общие вопросы по интернет радио вещанию
6   •   Посмотреть все темы

При запуске ices ошибка Segmentation fault

 

43
RalfiBB @RalfiBB
Icescast установлен и запущен, ices тоже установлен без ошибок. При запуске ices -c /etc/ices.conf появляется ошибка: Segmentation fault

подскажите из-за чего это может быть и как решить проблему?

6245
Тарас @tarasian666
пробуйте без -c ices.conf
если будет другая ошибка значить проблема в конфиге

43
RalfiBB @RalfiBB
tarasian666 пишет:

пробуйте без -c ices.conf
если будет другая ошибка значить проблема в конфиге

Тоже самое выдает: Segmentation fault. Я уже так пробовал.

Dec 16 10:44:08 pro1007 kernel: [1244358.391052] ices[2333]: segfault at 400001c4f ip 7fe0fe88f339 sp 7fffe0a5e8b8 error 4 in libc-2.7.so[7fe0fe814000+14a000]

вот сообщение об ошибке из syslog. Есть мысли?

Отредактировано RalfiBB - 16.12.2010
6245
Тарас @tarasian666
пересобрать

43
RalfiBB @RalfiBB
tarasian666 пишет:

пересобрать

Пересобирал и сейчас еще раз пересобрал, не помогает. Версия: ices-0.4
Ошибок при сборке нет. Только при запуске (даже без конфига).

Отредактировано RalfiBB - 16.12.2010
6245
Тарас @tarasian666
памяти хватает?

43
RalfiBB @RalfiBB
tarasian666 пишет:

памяти хватает?

да

6245
Тарас @tarasian666
проблема в каких-то либах, либо в тех которые он испольует либо те с которыми компилируется.
покажите что пишет при конфигурировании

43
RalfiBB @RalfiBB
# ./configure
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for AIX... no
checking for library containing strerror... none required
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking for an ANSI C-conforming const... yes
checking whether byte ordering is bigendian... no
checking for inline... inline
checking for sys/wait.h that is POSIX.1 compatible... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking sys/signal.h usability... yes
checking sys/signal.h presence... yes
checking for sys/signal.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking for sys/stat.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for sys/types.h... (cached) yes
checking for unistd.h... (cached) yes
checking whether time.h and sys/time.h may both be included... yes
checking for pid_t... yes
checking for size_t... yes
checking return type of signal handlers... void
checking for strftime... yes
checking for vsnprintf... yes
checking for setsid... yes
checking for setlinebuf... yes
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking whether to enable maintainer-specific portions of Makefiles... no
checking for a sed that does not truncate output... /bin/sed
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for f77... no
checking for xlf... no
checking for frt... no
checking for pgf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for f90... no
checking for xlf90... no
checking for pgf90... no
checking for epcf90... no
checking for f95... f95
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether f95 accepts -g... yes
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc static flag works... yes
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
appending configuration tag "F77" to libtool
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for f95 option to produce PIC... -fPIC
checking if f95 PIC flag -fPIC works... yes
checking if f95 supports -c -o file.o... yes
checking whether the f95 linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for pkg-config... /usr/bin/pkg-config
checking shout/shout.h usability... yes
checking shout/shout.h presence... yes
checking for shout/shout.h... yes
checking for shout_new... yes
checking for xml2-config... xml2-config
checking for python... /usr/bin/python
checking Python.h usability... yes
checking Python.h presence... yes
checking for Python.h... yes
checking for Py_Initialize in -lpython2.5... yes
checking for perl_construct... no
Could not link to perl, perl scripting disabled
checking lame/lame.h usability... yes
checking lame/lame.h presence... yes
checking for lame/lame.h... yes
checking for lame_encode_flush_nogap in -lmp3lame... yes
checking for lame_decode_exit... yes
checking vorbis/vorbisfile.h usability... yes
checking vorbis/vorbisfile.h presence... yes
checking for vorbis/vorbisfile.h... yes
checking for ov_open in -lvorbisfile... yes
checking faad.h usability... no
checking faad.h presence... no
checking for faad.h... no
Could not find libfaad, MP4 transcoding disabled
checking FLAC/stream_decoder.h usability... no
checking FLAC/stream_decoder.h presence... no
checking for FLAC/stream_decoder.h... no
Could not find libFLAC, FLAC transcoding disabled
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/playlist/Makefile
config.status: creating conf/Makefile
config.status: creating conf/ices.conf.dist
config.status: creating doc/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
Compiling with: -I/usr/include/libxml2 -I/usr/include/python2.5 -g -O2 -Wall -I/usr/include -pthread
Linking with: -L/usr/lib/python2.5/config -lshout -lxml2 -lpython2.5 -lpthread -ldl -lutil -lm -lpthread -ldl -lutil -lmp3lame -lvorbisfile -lvorbis -logg -lm
Features:
XML : yes
Python : yes
Perl : no
LAME : yes
Vorbis : yes
MP4 : no
FLAC : no

Добавлено спустя 2 минуты 24 секунды:
Мне кажется проблема с либами, которые он использует. Т.к. при сборке и установке ничего криминального я не заметил. Только вот непонятно что именно ему не нравится. Как я уже выше писал в сислоге при старте ices появляются записи:

Dec 16 10:44:08 pro1007 kernel: [1244358.391052] ices[2333]: segfault at 400001c4f ip 7fe0fe88f339 sp 7fffe0a5e8b8 error 4 in libc-2.7.so[7fe0fe814000+14a000]

6245
Тарас @tarasian666
можно попробовать обновить libc

6245
Тарас @tarasian666
сегодня очередной раз убедился что от ices надо избавлятся, у меня он время от времени издавал ошибку libshout sending error и обрывал маунт но в последнее время зачастил...

43
RalfiBB @RalfiBB
Что-то не получается обновить libc.

А что еще можно поставить под IceCast легкое, вместо Ices?

43
RalfiBB @RalfiBB
У меня тут кое-что получилось. А именно: я удалил все файлы установленного ices, удалил исходники, скачал по новой ices и собрал его с опцией ./configure --with-lame. Далее после установки запускаю его без конфига и он уже не выдает ошибку Segmentation fault, а вместо этого:

install/ices-0.4# ices
Logfile opened
Could not find a valid playlist file.
Ices Exiting...

а когда пытаюсь ему скормить конфиг:
install/ices-0.4# ices -c /etc/ices.conf

получаю ошибку: Segmentation fault


и в syslog как и раньше:
Dec 17 12:43:50 pro1007 kernel: [1413920.355588] ices[23741]: segfault at 400001c4f ip 7f5183e8f339 sp 7fff99294e98 error 4 in libc-2.7.so[7f5183e14000+14a000]

получается проблемка в ices самом и libc или может быть что-то в конфиге не так, как считаешь?

Отредактировано RalfiBB - 17.12.2010
6245
Тарас @tarasian666
или чтото в конфиге или в системе
так что показывай конфиг

43
RalfiBB @RalfiBB
<?xml version="1.0"?>
<ices:Configuration xmlns:ices="http://www.icecast.org/projects/ices">
<Playlist>
<!-- This is the filename used as a playlist when using the builtin
playlist handler. -->
<File>/home/radio/mp3/playlist.txt</File>
<!-- Set this to 0 if you don't want to randomize your playlist, and to
1 if you do. -->
<Randomize>1</Randomize>
<!-- One of builtin, perl, or python. -->
<Type>builtin</Type>
<!-- Module name to pass to the playlist handler if using perl or python.
If you use the builtin playlist handler then this is ignored -->
<Module>ices</Module>
<!-- Set this to the number of seconds to crossfade between tracks.
Leave out or set to zero to disable crossfading (the default).
<Crossfade>0</Crossfade>
-->
</Playlist>

<Execution>
<!-- Set this to 1 if you want ices to launch in the background as a
daemon -->
<Background>1</Background>
<!-- Set this to 1 if you want to see more verbose output from ices -->
<Verbose>0</Verbose>
<!-- This directory specifies where ices should put the logfile, cue file
and pid file (if daemonizing). Don't use /tmp if you have l33t h4x0rz
on your server. -->
<BaseDirectory>/tmp</BaseDirectory>
</Execution>

<Stream>
<Server>
<!-- Hostname or ip of the icecast server you want to connect to -->
<Hostname>radio.chaosroad.com</Hostname>
<!-- Port of the same -->
<Port>8000</Port>
<!-- Encoder password on the icecast server -->
<Password>12345</Password>
<!-- Header protocol to use when communicating with the server.
Shoutcast servers need "icy", icecast 1.x needs "xaudiocast", and
icecast 2.x needs "http". -->
<Protocol>http</Protocol>
</Server>

<!-- The name of the mountpoint on the icecast server -->
<Mountpoint>/nonstop</Mountpoint>
<charset>CP1251</charset>
<!-- The name of the dumpfile on the server for your stream. DO NOT set
this unless you know what you're doing.
<Dumpfile>ices.dump</Dumpfile>
-->
<!-- The name of you stream, not the name of the song! -->
<Name>Радио(auto dj)</Name>
<!-- Genre of your stream, be it rock or pop or whatever -->
<Genre>Various</Genre>
<!-- Longer description of your stream -->
<Description>Радио</Description>
<!-- URL to a page describing your stream -->
<URL>http://radio.com</URL>
<!-- 0 if you don't want the icecast server to publish your stream on
the yp server, 1 if you do -->
<Public>0</Public>

<!-- Stream bitrate, used to specify bitrate if reencoding, otherwise
just used for display on YP and on the server. Try to keep it
accurate -->
<Bitrate>128</Bitrate>
<!-- If this is set to 1, and ices is compiled with liblame support,
ices will reencode the stream on the fly to the stream bitrate. -->
<Reencode>1</Reencode>
<!-- Number of channels to reencode to, 1 for mono or 2 for stereo -->
<!-- Sampe rate to reencode to in Hz. Leave out for LAME's best choice -->
<Samplerate>44100</Samplerate>
<Channels>2</Channels>
</Stream>
</ices:Configuration>

Отредактировано RalfiBB - 17.12.2010
6245
Тарас @tarasian666
RalfiBB пишет:

<charset>CP1251</charset>

вот тебе раз
RalfiBB пишет:

<Name>Радио ДчХ (auto dj)</Name>

вот тебе 2
RalfiBB пишет:

<Description>Радио онлайн игры Дорога через Хаос - Творцы Миров</Description>

вот тебе 3

1 - обязательно убрать
2 и 3 незнаю воспринимает ли вобще кирилицу в конфиге

43
RalfiBB @RalfiBB
Это рабочий конфиг, на другом сервере он работает на ура. Но я в качестве эксперимента убрал 1 полностью и оставил латиницу только в 2-3. без результатов. Segmentation fault

поставил сейчас Ices на другой машине, если получится нормально законнектиться к серверу, то остановлюсь пожалуй на этом варианте. Нет больше времени заниматься этим.

6245
Тарас @tarasian666
в любом случае <charset>CP1251</charset> ices не воспринимает

43
RalfiBB @RalfiBB
Спасибо, а не подскажешь почему Ices не находит файлы указанные в плейлисте? плейлист и файлы находятся в одной папке. Но не смотря на это ices выдает:

Logfile opened
Error opening keyk_feat._natasha_friske_-_facebook.mp3: Error opening: No such file or directory
Error opening lena_-_satellite_eurovision_2010_-_germany.mp3: Error opening: No such file or directory
Error opening Yaki-Da_-_Teaser_On_The_Catwalk.mp3: Error opening: No such file or directory
Error opening vintazh_-_roman.mp3: Error opening: No such file or directory
Error opening lera_lera_-_volchica.mp3: Error opening: No such file or directory
Error opening Trofim-Plyusheviy_Mishka.mp3: Error opening: No such file or directory
Error opening Gradusi-Rezhisser.mp3: Error opening: No such file or directory
Error opening hurts_-_stay.mp3: Error opening: No such file or directory
Error opening era_-_avatar.mp3: Error opening: No such file or directory
Error opening sia_-_i_go_to_sleep.mp3: Error opening: No such file or directory
Error opening gliukoza_-_vot_takaya_liubov.mp3: Error opening: No such file or directory
Exiting after 10 consecutive errors.
Ices Exiting...

Добавлено спустя 4 минуты 3 секунды:
разобрался

43
RalfiBB @RalfiBB
Разрулил, спасибо.
**********/