LINUX.ORG.RU

deadbeef-0.7.2 и попытка воспроизвести MP3 во FreeBSD

 , ,


0

3

Хочу добавить mp3-файлы в список воспроизведения Файл -> Добавить файл(ы) -> [в окне выбора файлов в каталоге с MP3 выделяю все файлы и нажимаю кн.Открыть], плеер падает.

> deadbeef 
starting deadbeef 0.7.2
server_start
searching for GUI plugins in /home/igor/.local/lib64/deadbeef
searching for GUI plugins in /home/igor/.local/lib/deadbeef
searching for GUI plugins in /usr/local/lib/deadbeef
load_plugin_dir /usr/local/lib/deadbeef: scandir found 39 files
found gui plugin ddb_gui_GTK2.so
added GTK2 gui plugin
load gui plugin
checking GUI plugin: GTK2
found selected GUI plugin: GTK2
loading plugin /usr/local/lib/deadbeef/ddb_gui_GTK2.so
loading plugins from /home/igor/.local/lib64/deadbeef
loading plugins from /home/igor/.local/lib/deadbeef
loading plugins from /usr/local/lib/deadbeef
load_plugin_dir /usr/local/lib/deadbeef: scandir found 39 files
loading plugin /usr/local/lib/deadbeef/aac.so
loading plugin /usr/local/lib/deadbeef/adplug.so
loading plugin /usr/local/lib/deadbeef/alac.so
loading plugin /usr/local/lib/deadbeef/artwork.so
loading plugin /usr/local/lib/deadbeef/cdda.so
loading plugin /usr/local/lib/deadbeef/converter.so
loading plugin /usr/local/lib/deadbeef/converter_gtk2.so
loading plugin /usr/local/lib/deadbeef/dca.so
loading plugin /usr/local/lib/deadbeef/ddb_ao.so
loading plugin /usr/local/lib/deadbeef/ddb_mono2stereo.so
loading plugin /usr/local/lib/deadbeef/ddb_shn.so
loading plugin /usr/local/lib/deadbeef/dsp_libsrc.so
loading plugin /usr/local/lib/deadbeef/ffap.so
loading plugin /usr/local/lib/deadbeef/flac.so
loading plugin /usr/local/lib/deadbeef/gme.so
loading plugin /usr/local/lib/deadbeef/in_sc68.so
loading plugin /usr/local/lib/deadbeef/m3u.so
loading plugin /usr/local/lib/deadbeef/mms.so
loading plugin /usr/local/lib/deadbeef/mp3.so
loading plugin /usr/local/lib/deadbeef/musepack.so
loading plugin /usr/local/lib/deadbeef/notify.so
loading plugin /usr/local/lib/deadbeef/oss.so
loading plugin /usr/local/lib/deadbeef/pltbrowser_gtk2.so
loading plugin /usr/local/lib/deadbeef/sid.so
loading plugin /usr/local/lib/deadbeef/sndfile.so
loading plugin /usr/local/lib/deadbeef/supereq.so
loading plugin /usr/local/lib/deadbeef/tta.so
loading plugin /usr/local/lib/deadbeef/vfs_curl.so
loading plugin /usr/local/lib/deadbeef/vfs_zip.so
loading plugin /usr/local/lib/deadbeef/vorbis.so
loading plugin /usr/local/lib/deadbeef/vtx.so
loading plugin /usr/local/lib/deadbeef/wavpack.so
loading plugin /usr/local/lib/deadbeef/wildmidi.so
loading plugin /usr/local/lib/deadbeef/wma.so
selected output plugin: OSS output plugin
INFO: loading playlist Default
INFO: from file /home/igor/.config/deadbeef/playlists/0.dbpl
INFO: loading playlist Новый плейлист (1)
INFO: from file /home/igor/.config/deadbeef/playlists/1.dbpl
INFO: loading playlist Новый плейлист
INFO: from file /home/igor/.config/deadbeef/playlists/2.dbpl
gtkui plugin compiled for gtk version: 2.24.29
connecting button tray signals
Ошибка адресации на шине

Вот такая ошибка. Перекомпиляция плеера ничего не дала.

Замечу, файлы FLAC и M4P открываются и воспроизводятся нормально.

★★★★★

gstreamer-alsa может нету а деадбифу они нужны

прст на днях в браузере такое было пока гстример не доставил не чиго не пело в браузере

dima1981 ()

Такой большой, а про -g -O0 и gdb ничего не слышал.

Deleted ()
Ответ на: комментарий от Deleted

Такой большой, а про -g -O0 и gdb ничего не слышал.

да, только надо быть готовым к тому, что это будут постоянные спутники пользователя дедбифа на фрибзд.

Novel ★★★★ ()
Ответ на: комментарий от dima1981

gstreamer-alsa может нету а деадбифу они нужны

4.2

ни то, ни другое не нужно.

waker ★★★★★ ()
Ответ на: комментарий от waker

тогда походу что то с правами на либы одни в home лежат вторые в системных директориях наверное. я не шарю сорян, потому отчаливаю с диалога.

dima1981 ()
Ответ на: комментарий от waker

gdb нету, но есть lldb

Вот что он вытворяет:

(lldb) process launch /usr/local/bin/deadbeef
Process 26450 launching
Process 26450 launched: '/usr/local/bin/deadbeef' (x86_64)
starting deadbeef 0.7.2
server_start
searching for GUI plugins in /home/igor/.local/lib64/deadbeef
searching for GUI plugins in /home/igor/.local/lib/deadbeef
searching for GUI plugins in /usr/local/lib/deadbeef
load_plugin_dir /usr/local/lib/deadbeef: scandir found 39 files
found gui plugin ddb_gui_GTK2.so
added GTK2 gui plugin
load gui plugin
checking GUI plugin: GTK2
found selected GUI plugin: GTK2
loading plugin /usr/local/lib/deadbeef/ddb_gui_GTK2.so
loading plugins from /home/igor/.local/lib64/deadbeef
loading plugins from /home/igor/.local/lib/deadbeef
loading plugins from /usr/local/lib/deadbeef
load_plugin_dir /usr/local/lib/deadbeef: scandir found 39 files
loading plugin /usr/local/lib/deadbeef/aac.so
loading plugin /usr/local/lib/deadbeef/adplug.so
loading plugin /usr/local/lib/deadbeef/alac.so
loading plugin /usr/local/lib/deadbeef/artwork.so
loading plugin /usr/local/lib/deadbeef/cdda.so
loading plugin /usr/local/lib/deadbeef/converter.so
loading plugin /usr/local/lib/deadbeef/converter_gtk2.so
loading plugin /usr/local/lib/deadbeef/dca.so
loading plugin /usr/local/lib/deadbeef/ddb_ao.so
loading plugin /usr/local/lib/deadbeef/ddb_mono2stereo.so
loading plugin /usr/local/lib/deadbeef/ddb_shn.so
loading plugin /usr/local/lib/deadbeef/dsp_libsrc.so
loading plugin /usr/local/lib/deadbeef/ffap.so
loading plugin /usr/local/lib/deadbeef/flac.so
loading plugin /usr/local/lib/deadbeef/gme.so
loading plugin /usr/local/lib/deadbeef/in_sc68.so
loading plugin /usr/local/lib/deadbeef/m3u.so
loading plugin /usr/local/lib/deadbeef/mms.so
loading plugin /usr/local/lib/deadbeef/mp3.so
loading plugin /usr/local/lib/deadbeef/musepack.so
loading plugin /usr/local/lib/deadbeef/notify.so
loading plugin /usr/local/lib/deadbeef/oss.so
loading plugin /usr/local/lib/deadbeef/pltbrowser_gtk2.so
loading plugin /usr/local/lib/deadbeef/sid.so
loading plugin /usr/local/lib/deadbeef/sndfile.so
loading plugin /usr/local/lib/deadbeef/supereq.so
loading plugin /usr/local/lib/deadbeef/tta.so
loading plugin /usr/local/lib/deadbeef/vfs_curl.so
loading plugin /usr/local/lib/deadbeef/vfs_zip.so
loading plugin /usr/local/lib/deadbeef/vorbis.so
loading plugin /usr/local/lib/deadbeef/vtx.so
loading plugin /usr/local/lib/deadbeef/wavpack.so
loading plugin /usr/local/lib/deadbeef/wildmidi.so
loading plugin /usr/local/lib/deadbeef/wma.so
selected output plugin: OSS output plugin
INFO: loading playlist Default
INFO: from file /home/igor/.config/deadbeef/playlists/0.dbpl
INFO: loading playlist Новый плейлист
INFO: from file /home/igor/.config/deadbeef/playlists/1.dbpl
playlist load fail (/usr/local/bin/deadbeef)!
failed to add file or folder /usr/local/bin/deadbeef
gtkui plugin compiled for gtk version: 2.24.29
connecting button tray signals
Process 26450 stopped
* thread #18: tid = 100750, 0x0000000801419940 libc.so.7`_citrus_iconv_open(rcv=0x00007fffdedf22c8, src="", dst="utf-8") + 224 at citrus_iconv.c:289, stop reason = signal SIGBUS: hardware error
    frame #0: 0x0000000801419940 libc.so.7`_citrus_iconv_open(rcv=0x00007fffdedf22c8, src="", dst="utf-8") + 224 at citrus_iconv.c:289
   286 		init_cache();
   287 	
   288 		/* GNU behaviour, using locale encoding if "" or "char" is specified */
-> 289 		if ((strcmp(src, "") == 0) || (strcmp(src, "char") == 0))
   290 			src = nl_langinfo(CODESET);
   291 		if ((strcmp(dst, "") == 0) || (strcmp(dst, "char") == 0))
   292 			dst = nl_langinfo(CODESET);
(lldb)
на попытку добавить в плейлист mp3-файл.

iZEN ★★★★★ ()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: gdb нету, но есть lldb от iZEN

я не знаю команд lldb, но нужно сделать backtrace. без этого помочь ничем не могу.

waker ★★★★★ ()
Ответ на: gdb нету, но есть lldb от iZEN

я сейчас вспомнил, что мне кто-то присылал подобный баг. увы, не вспомню на каком форуме или где еще это происходило. но точно помню, что результатом оказался баг в citrus iconv, и юзер пошел к ним в багтрекер. чем это кончилось - понятия не имею.

waker ★★★★★ ()
Ответ на: комментарий от kravich
> lldb /usr/local/bin/deadbeef
(lldb) target create "/usr/local/bin/deadbeef"
Current executable set to '/usr/local/bin/deadbeef' (x86_64).
(lldb) r
Process 877 launching
Process 877 launched: '/usr/local/bin/deadbeef' (x86_64)
starting deadbeef 0.7.2
server_start
searching for GUI plugins in /home/igor/.local/lib64/deadbeef
searching for GUI plugins in /home/igor/.local/lib/deadbeef
searching for GUI plugins in /usr/local/lib/deadbeef
load_plugin_dir /usr/local/lib/deadbeef: scandir found 39 files
found gui plugin ddb_gui_GTK2.so
added GTK2 gui plugin
load gui plugin
checking GUI plugin: GTK2
found selected GUI plugin: GTK2
loading plugin /usr/local/lib/deadbeef/ddb_gui_GTK2.so
loading plugins from /home/igor/.local/lib64/deadbeef
loading plugins from /home/igor/.local/lib/deadbeef
loading plugins from /usr/local/lib/deadbeef
load_plugin_dir /usr/local/lib/deadbeef: scandir found 39 files
loading plugin /usr/local/lib/deadbeef/aac.so
loading plugin /usr/local/lib/deadbeef/adplug.so
loading plugin /usr/local/lib/deadbeef/alac.so
loading plugin /usr/local/lib/deadbeef/artwork.so
loading plugin /usr/local/lib/deadbeef/cdda.so
loading plugin /usr/local/lib/deadbeef/converter.so
loading plugin /usr/local/lib/deadbeef/converter_gtk2.so
loading plugin /usr/local/lib/deadbeef/dca.so
loading plugin /usr/local/lib/deadbeef/ddb_ao.so
loading plugin /usr/local/lib/deadbeef/ddb_mono2stereo.so
loading plugin /usr/local/lib/deadbeef/ddb_shn.so
loading plugin /usr/local/lib/deadbeef/dsp_libsrc.so
loading plugin /usr/local/lib/deadbeef/ffap.so
loading plugin /usr/local/lib/deadbeef/flac.so
loading plugin /usr/local/lib/deadbeef/gme.so
loading plugin /usr/local/lib/deadbeef/in_sc68.so
loading plugin /usr/local/lib/deadbeef/m3u.so
loading plugin /usr/local/lib/deadbeef/mms.so
loading plugin /usr/local/lib/deadbeef/mp3.so
loading plugin /usr/local/lib/deadbeef/musepack.so
loading plugin /usr/local/lib/deadbeef/notify.so
loading plugin /usr/local/lib/deadbeef/oss.so
loading plugin /usr/local/lib/deadbeef/pltbrowser_gtk2.so
loading plugin /usr/local/lib/deadbeef/sid.so
loading plugin /usr/local/lib/deadbeef/sndfile.so
loading plugin /usr/local/lib/deadbeef/supereq.so
loading plugin /usr/local/lib/deadbeef/tta.so
loading plugin /usr/local/lib/deadbeef/vfs_curl.so
loading plugin /usr/local/lib/deadbeef/vfs_zip.so
loading plugin /usr/local/lib/deadbeef/vorbis.so
loading plugin /usr/local/lib/deadbeef/vtx.so
loading plugin /usr/local/lib/deadbeef/wavpack.so
loading plugin /usr/local/lib/deadbeef/wildmidi.so
loading plugin /usr/local/lib/deadbeef/wma.so
selected output plugin: OSS output plugin
INFO: loading playlist Default
INFO: from file /home/igor/.config/deadbeef/playlists/0.dbpl
gtkui plugin compiled for gtk version: 2.24.29
connecting button tray signals
Process 877 stopped
* thread #20: tid = 100794, 0x0000000801419940 libc.so.7`_citrus_iconv_open(rcv=0x00007fffdebf12c8, src="", dst="utf-8") + 224 at citrus_iconv.c:289, stop reason = signal SIGBUS: hardware error
    frame #0: 0x0000000801419940 libc.so.7`_citrus_iconv_open(rcv=0x00007fffdebf12c8, src="", dst="utf-8") + 224 at citrus_iconv.c:289
   286 		init_cache();
   287 	
   288 		/* GNU behaviour, using locale encoding if "" or "char" is specified */
-> 289 		if ((strcmp(src, "") == 0) || (strcmp(src, "char") == 0))
   290 			src = nl_langinfo(CODESET);
   291 		if ((strcmp(dst, "") == 0) || (strcmp(dst, "char") == 0))
   292 			dst = nl_langinfo(CODESET);
(lldb) bt
* thread #20: tid = 100794, 0x0000000801419940 libc.so.7`_citrus_iconv_open(rcv=0x00007fffdebf12c8, src="", dst="utf-8") + 224 at citrus_iconv.c:289, stop reason = signal SIGBUS: hardware error
  * frame #0: 0x0000000801419940 libc.so.7`_citrus_iconv_open(rcv=0x00007fffdebf12c8, src="", dst="utf-8") + 224 at citrus_iconv.c:289
    frame #1: 0x000000080141786c libc.so.7`__bsd___iconv_open(out="utf-8", in="", handle=<unavailable>) + 124 at bsd_iconv.c:77
    frame #2: 0x00000000004194cb deadbeef`??? + 1195
    frame #3: 0x0000000000419bd2 deadbeef`??? + 130
    frame #4: 0x000000080e5420d8 mp3.so`??? + 440
    frame #5: 0x000000000040adf5 deadbeef`??? + 1125
    frame #6: 0x000000000040fc39 deadbeef`??? + 41
    frame #7: 0x0000000802053d96 ddb_gui_GTK2.so`??? + 54
    frame #8: 0x00000008047bbfcd libglib-2.0.so.0`g_slist_foreach + 45
    frame #9: 0x0000000802053cf3 ddb_gui_GTK2.so`gtkpl_add_files + 67
    frame #10: 0x0000000800d89b95 libthr.so.3`thread_start(curthread=<unavailable>) + 325 at thr_create.c:289
(lldb)
iZEN ★★★★★ ()
Ответ на: комментарий от iZEN

Без отладочных символов бектрейс бесполезен, перекомпилируй приложение с -g -O0

kravich ★★★★ ()
Ответ на: комментарий от kravich

Перекомпилировал:

% cd /usr/ports/audio/deadbeef/ && make WITH_DEBUG=true DEBUG_FLAGS='-g -O0'
% cd /usr/ports/audio/deadbeef/ && make WITH_DEBUG=true DEBUG_FLAGS='-g -O0' deinstall install clean
Та же самая трассировка. Ничего не поменялось.

Ещё пробовал по-разному собирать и после какой-то сборки УДАЛОСЬ добавить в пустой плейлист два mp3-файла, каждый раз вызывая диалог добавления. Без ошибок. Но комбинацию ключиков компиляции не запомнил. Всю историю команд и проб повторять не хочется.

iZEN ★★★★★ ()
Ответ на: комментарий от iZEN

Та же самая трассировка. Ничего не поменялось.

Что-то фряхоспецифичное, похоже. Хз, что еще попробовать

kravich ★★★★ ()

Решение


https://github.com/DeaDBeeF-Player/deadbeef/issues/1693
https://github.com/DeaDBeeF-Player/deadbeef/commit/37bf84d7be75365395f3bc9d4c...

/usr/ports/audio/deadbeef/files/patch-junklib.c

--- junklib.c.orig	2016-04-24 21:38:13 UTC
+++ junklib.c
@@ -33,7 +33,6 @@
 #include <string.h>
 #undef HAVE_ICI
 #if HAVE_ICONV
-  #define LIBICONV_PLUG
   #include <iconv.h>
 #elif HAVE_ICU
   #warning icu
@@ -1129,6 +1129,8 @@ str_trim_right (uint8_t *str, int len) {
 
 int
 junk_id3v1_read_int (playItem_t *it, char *buffer, const char **charset) {
+    const char *cs = NULL;
+
     if (!buffer) {
         return -1;
     }
@@ -1137,7 +1139,6 @@ junk_id3v1_read_int (playItem_t *it, char *buffer, const char **charset) {
         if (memcmp (buffer, "TAG", 3)) {
             return -1; // no tag
         }
-        const char *cs = NULL;
         charset = &cs;
         int res = junk_id3v1_read_int (NULL, buffer, charset);
         if (res) {

Ether ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.