24.06.2017, 08:34 UTC+1

Вы не зарегистрированы.

1455

Участник

Сообщения: 1 445

Благодарностей: 489

601

07.12.2016, 15:41

Raider05, по результатам надёжности я бы пока остановился на 14.04-i386. В таком окружении почти не уступает VDR с выводом через xineliboutput.

1455

Участник

Сообщения: 1 445

Благодарностей: 489

602

14.12.2016, 09:19

Для сборки на 16.04 необходимо убедиться, чтобы не было установлено никаких других версий swig, кроме той, что указана в скрипте. А именно, если установлен swig3.0, то при вызове системных плагинов "Настройка позиционера" и "Поиск спутника" будет вылет:

Исходный текст

1
File "/usr/local/e2/lib/enigma2/python/enigma.py", line 2786, in __init__     raise AttributeError("No constructor defined")

Нужно что-то исправлять под новую версию swig. На мысль навела эта тема.
Исправил скрипт для 16.04, указав swig2.0.

1455

Участник

Сообщения: 1 445

Благодарностей: 489

603

01.01.2017, 17:24

Привет, Raider05!
По поводу заголовков dvb, на просторах сети нашёл гораздо лучшее решение для сборки на 16.04 с gcc5. В файлах tuxbox.m4, которые в папках /enigma2/m4 и /plugins-enigma2/m4 замени:

Исходный текст

1
2
-	DVB_API_VERSION=`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | $EGREP "^version" | sed "s,version\ ,,"`
+	DVB_API_VERSION=`(eval "$ac_cpp -traditional-cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | $EGREP "^version" | sed "s,version\ ,,"`

Пока с гребёнкой *.png не разобрался.
Можешь качнуть тут. Очень много исправлений, включая откровенные ошибки питоновских файлов.

Это сообщение уже редактировалось 1, последний раз пользователем »1455« (08.02.2017, 09:45)


Спасибо сказали 2 пользователей .

Пользователи , которые поблагодарили:

Raider05 (06.01.2017), schpuntik (01.01.2017)

1455

Участник

Сообщения: 1 445

Благодарностей: 489

604

08.02.2017, 10:03

У кого есть время, убедительно прошу протестировать на платформе x86_64. Интересует закономерность - будет ли всегда крах на разном железе.
У меня на 64-дистре один из 3...5-и запусков удачный, а в основном, ошибка сегментирования при переключении каналов, возврате на видео из радио, либо при выходе из плагинов настройки позиционера и поиска сигнала. Причём, core получается без указания конкретного места ошибки, хотя gdb это может. С помощью другого отладчика выяснил, что крах происходит при обращении к libdvbcsa. Пишут, что ошибка сегментации происходит если указатель или нулевой, или указывает на произвольный участок памяти (возможно, потому что не был инициализирован), или указывает на удаленный участок памяти.
Такое впечатление, что именно от балды выделяется память и иногда удачно. Либо это dvbsoftwareca, либо decsa.

Например:

Исходный текст

1
2
3
4
5
6
gdb ./enigma2
run
continue
...
continue
bt

Если начать с открытого канала, то:

Исходный текст

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
XINE STARTED !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
STILL, FIRST, CONTROL, SEEK FRAME
RECEIVED XINE_EVENT_SET_VIDEO_STREAMTYPE
RECEIVED XINE_EVENT_SET_AUDIO_STREAMTYPE
[Thread 0x7fffae9c2700 (LWP 25535) exited]
[New Thread 0x7fffae9c2700 (LWP 25537)]
Start live TV!
[eFilePushThreadRecorder] *read error* (Неправильный дескриптор файла) - aborting thread because i don't know what else to do.
[eDVBRecordFileThread] waiting for aio to complete
[eDVBRecordFileThread] buffer usage histogram (320 buffers of 188 kB)
[eDVBRecordFileThread]   1:      8
[eDVBRecordFileThread]   2:      1
[eFilePushThreadRecorder] THREAD STOP
I have XINE event ---  2
xine_event_handler(): event->type: 2
[eFilePushThreadRecorder] stopping thread.
Thread 18 "enigma2" received signal SIGUSR1, User defined signal 1.
[Switching to Thread 0x7fffb41e6700 (LWP 25528)]
_dl_unload_cache () at dl-cache.c:322
322	dl-cache.c: Нет такого файла или каталога.
(gdb) bt
#0  _dl_unload_cache () at dl-cache.c:322
#1  0x00007ffff7debbe0 in _dl_open (file=0x7ffff42644f7 "libgcc_s.so.1", 
    mode=-2147483647, caller_dlopen=0x7ffff426291b <pthread_cancel_init+43>, 
    nsid=<optimized out>, argc=<optimized out>, argv=<optimized out>, 
    env=0x11dcbd0) at dl-open.c:665
#2  0x00007ffff3fca9bd in do_dlopen (ptr=ptr@entry=0x7fffb41e5d60)
    at dl-libc.c:87
#3  0x00007ffff7de7394 in _dl_catch_error (objname=0x7fffb41e5d50, 
    errstring=0x7fffb41e5d58, mallocedp=0x7fffb41e5d4f, 
    operate=0x7ffff3fca980 <do_dlopen>, args=0x7fffb41e5d60) at dl-error.c:187
#4  0x00007ffff3fcaa74 in dlerror_run (args=0x7fffb41e5d60, 
    operate=0x7ffff3fca980 <do_dlopen>) at dl-libc.c:46
#5  __GI___libc_dlopen_mode (name=name@entry=0x7ffff42644f7 "libgcc_s.so.1", 
    mode=mode@entry=-2147483647) at dl-libc.c:163
#6  0x00007ffff426291b in pthread_cancel_init ()
    at ../sysdeps/nptl/unwind-forcedunwind.c:52
#7  0x00007ffff4262b04 in _Unwind_ForcedUnwind (exc=0x7fffb41e6d70, 
    stop=0x7ffff4260ef0 <unwind_stop>, stop_argument=0x7fffb41e5e20)
    at ../sysdeps/nptl/unwind-forcedunwind.c:126
#8  0x00007ffff4261070 in __GI___pthread_unwind (buf=<optimized out>)
    at unwind.c:121
#9  0x00007ffff4259845 in __do_cancel () at pthreadP.h:283
#10 __pthread_exit (value=<optimized out>) at pthread_exit.c:28

Если начинать с закрытого.
Либо:

Исходный текст

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Thread 18 "enigma2" received signal SIGUSR1, User defined signal 1.
[Switching to Thread 0x7fffb41e6700 (LWP 26765)]
0x00007ffff4f24779 in dvbcsa_bs_block_decrypt_batch ()
   from /usr/lib/x86_64-linux-gnu/libdvbcsa.so.1
(gdb) bt
#0  0x00007ffff4f24779 in dvbcsa_bs_block_decrypt_batch ()
   from /usr/lib/x86_64-linux-gnu/libdvbcsa.so.1
#1  0x00007ffff4f24202 in dvbcsa_bs_decrypt ()
   from /usr/lib/x86_64-linux-gnu/libdvbcsa.so.1
#2  0x000000000051ca2d in cDeCSA::Decrypt(unsigned char*, int, int&) ()
#3  0x000000000048cdba in eDecryptRawFile::getPackets(int&) ()
#4  0x000000000048cf45 in eDecryptRawFile::read(long, void*, unsigned long) ()
#5  0x0000000000489ef8 in eFilePushThreadRecorder::thread() ()
#6  0x000000000048d501 in eThread::wrapper(void*) ()
#7  0x00007ffff42586ba in start_thread (arg=0x7fffb41e6700)
    at pthread_create.c:333
#8  0x00007ffff3f8e82d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Либо:

Исходный текст

1
2
3
4
5
6
7
8
Thread 18 "enigma2" received signal SIGUSR1, User defined signal 1.
[Switching to Thread 0x7fffb41e6700 (LWP 24387)]
0x00007ffff4f24740 in dvbcsa_bs_block_decrypt_batch ()
   from /usr/lib/x86_64-linux-gnu/libdvbcsa.so.1
(gdb) bt
#0  0x00007ffff4f24786 in dvbcsa_bs_block_decrypt_batch ()
   from /usr/lib/x86_64-linux-gnu/libdvbcsa.so.1
Backtrace stopped: Cannot access memory at address 0x7fffb41e5bf8

Фраза 'dl-cache.c: Нет такого файла или каталога' откуда вылезла? А 'Cannot access memory at address 0x7fffb41e5bf8' говорит о попытке записи в участок памяти с пометкой "для чтения".

В итоге:

Исходный текст

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
...
Thread 432 "enigma2" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffb41e6700 (LWP 8325)]
0x00007ffff4f24f28 in dvbcsa_bs_stream_cipher_batch ()
   from /usr/lib/x86_64-linux-gnu/libdvbcsa.so.1

(gdb) bt
#0  0x00007ffff4f24f28 in dvbcsa_bs_stream_cipher_batch ()
   from /usr/lib/x86_64-linux-gnu/libdvbcsa.so.1
#1  0x00007ffff4f241f5 in dvbcsa_bs_decrypt ()
   from /usr/lib/x86_64-linux-gnu/libdvbcsa.so.1
#2  0x000000000051ca2d in cDeCSA::Decrypt(unsigned char*, int, int&) ()
#3  0x000000000048cdba in eDecryptRawFile::getPackets(int&) ()
#4  0x000000000048cf45 in eDecryptRawFile::read(long, void*, unsigned long) ()
#5  0x0000000000489ef8 in eFilePushThreadRecorder::thread() ()
#6  0x000000000048d501 in eThread::wrapper(void*) ()
#7  0x00007ffff42586ba in start_thread (arg=0x7fffb41e6700)
    at pthread_create.c:333
#8  0x00007ffff3f8e82d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

(gdb) list
1	../sysdeps/unix/sysv/linux/x86_64/clone.S: Нет такого файла или каталога.


Возможно, это ошибка libglib (C++ wrapper for the GLib toolkit (shared libraries)), описанная ЗДЕСЬ?

Это сообщение уже редактировалось 5, последний раз пользователем »1455« (08.02.2017, 13:31)


1455

Участник

Сообщения: 1 445

Благодарностей: 489

605

14.02.2017, 22:42

Нашёл причину в decsa.cpp. Это была безымянная функция, с которой оно лезло в libdvbcsa. Вообще, за эти года народ много тут поломал. :)
Теперь у меня на платформе x86_64 больше не падает при переключении или выходе из плагинов настройки позиционера или поиска сигнала. Остались ещё некоторые траблы, связанные с x86_64, но уже менее принципиальные.

Постоянная ссылка в подписи, чтобы не искать.

Спасибо сказал 1 пользователей .

Пользователи , которые поблагодарили:

Raider05 (16.02.2017)

1455

Участник

Сообщения: 1 445

Благодарностей: 489

606

16.02.2017, 18:20

Починил bsod.cpp для x86_64. Крэш-лог создаётся в /media/hdd без кракозяблов. На i386 это никак не отразилось, ей всё равно.

1455

Участник

Сообщения: 1 445

Благодарностей: 489

607

18.02.2017, 17:11

Сделал автоопределение разрядности и версии системы без патчей. Просто ./INSTALL_ALL.sh. При желании можно и по частям. Ну, чтобы бэбики потом не доставали. :)

1455

Участник

Сообщения: 1 445

Благодарностей: 489

608

27.02.2017, 18:57

Сравните работу каналов Трико с сегодняшней версией и отпишитесь, плиз.

1455

Участник

Сообщения: 1 445

Благодарностей: 489

609

01.05.2017, 13:14

Вычистил от мусора патч и обновил xine-lib до d1659be4d7a1

Спасибо сказали 2 пользователей .

Пользователи , которые поблагодарили:

Raider05 (02.05.2017), yuriy (04.05.2017)

1455

Участник

Сообщения: 1 445

Благодарностей: 489

610

11.06.2017, 09:21

Если у кого-то остался архив от 8 марта, залейте куда-нибудь.
Вообще, главная проблема в tsRingbuffer.cpp, который представляет собой кастрированный файл от vdr. Отрублено определение типов потоков, что и приводит к невозможности оптимизировать ринг буфер для разных аудио потоков и радио. Делаешь радио - пропадает звук на mp2 каналах и наоборот. Фигня получается.

Raider05

Участник

Сообщения: 570

Благодарностей: 323

Место проживания: Russia

611

13.06.2017, 09:20

у меня от 27 февраля есть, лежит здесь

Для определения потока наверно можно из lib/dvb/decoder.cpp или из xinelib.cpp забирать (передавать) значения
Hardware: CPU C2D E5200, RAM 1Gb, Asus P5KPL-M, MSI GF9500GT 512Mb (driver 195.30 beta), SS4 Omicom (dvb driver - repo I. Liplianin), GoTView USB
Software: Ubuntu 12.04.01 LTS Enigma2-PC (OpenPLi project)

Спасибо сказал 1 пользователей .

Пользователи , которые поблагодарили:

1455 (13.06.2017)

1455

Участник

Сообщения: 1 445

Благодарностей: 489

612

13.06.2017, 21:11

Пришлось откатить до 79914d7a (архив ''..._GOOD"). Либо я нахомутал где-то, либо этот head более подходит. Но с так хоть звук видеоканалов не рвёт.
А можно ли на ходу менять размер буфера? Вот, вопрос.

Raider05

Участник

Сообщения: 570

Благодарностей: 323

Место проживания: Russia

613

14.06.2017, 07:40

Пока не попробуешь точно не узнаешь, но насколько помню еще раньше определения потоков идет в lib/dvb/pmtparse.cpp
Еще давно для декодирования звука EAC3 в чего то pmtparse добавлял,
pmtparse->decoder->xinelib
Hardware: CPU C2D E5200, RAM 1Gb, Asus P5KPL-M, MSI GF9500GT 512Mb (driver 195.30 beta), SS4 Omicom (dvb driver - repo I. Liplianin), GoTView USB
Software: Ubuntu 12.04.01 LTS Enigma2-PC (OpenPLi project)

1455

Участник

Сообщения: 1 445

Благодарностей: 489

614

18.06.2017, 14:13

Не-а. Нашёл, что когда ставишь старую xine-lib-1.2.5, то всё нормально работает. Проверь.

Raider05

Участник

Сообщения: 570

Благодарностей: 323

Место проживания: Russia

615

19.06.2017, 16:52

Скачал GOOD-сбоку, надо в энигме отключить( или тогда добавить сборку tuxtxt, libtuxtxt в DEV есть) поддержку tuxtxt, libtuxtxt,
а то не хочет enigma2pc install делать.
Ещё у меня один момент, стояла Ubuntu i386 12.04, обновился до 14.04 i686 и теперь вот это не работает, при запуске enigma2.sh выключение :)

Исходный текст

1
2
ARCH_MY=`uname -i`
sudo ln -sf `ls /lib/"$ARCH_MY"-linux-gnu/libc-2.??.so`  /lib/libc.so.6

показвает, что i686, но каталога нет /lib/i686-linux-gnu/ , есть /lib/i386-linux-gnu/
или по пакету определять какой архитектуры пакет установлен


Не могу проверить, нет тарелки на работе. А 1.2.5 xine-lib откуда качал? И на открытых каналах рвёт звук? Раньше с декодированием 3К была проблема, звук рвало.
Hardware: CPU C2D E5200, RAM 1Gb, Asus P5KPL-M, MSI GF9500GT 512Mb (driver 195.30 beta), SS4 Omicom (dvb driver - repo I. Liplianin), GoTView USB
Software: Ubuntu 12.04.01 LTS Enigma2-PC (OpenPLi project)

1455

Участник

Сообщения: 1 445

Благодарностей: 489

616

19.06.2017, 21:58

Забыл. А этот выруб из-за того, что libc.so в 14.04 несколько, а нужная в другом месте. Ссылку надо посмотреть, которая должна создаваться автоматически, в зависимости от дистра. Раньше, вроде, было всё правильно. Поломал, наверное.

Я сегодня вечером переделывал xine-lib-1.2.6. Только делал не рабочую из оригинальной 1.2.6, а из старой рабочую 1.2.6. Оказалось, что завязано на один демуксовский файл и его проще оставить, чем всё переделывать.
Завтра вечером пробуй "DEV". Она уже работает не хуже.

Raider05

Участник

Сообщения: 570

Благодарностей: 323

Место проживания: Russia

617

20.06.2017, 07:32

В xine-lib-1.2-e2pc наверно больше всего перепахан файл demux_ts.c , его с оригинальной в ручном режиме приходилось сливать.
У меня в репо enigma2pc последний коммит xine-lib с оригинальной слит до ревизии 12619, еще давно начал сливать до 12738 (релиз 1.2.7) и
насколько помню слил, но не тестил.
Hardware: CPU C2D E5200, RAM 1Gb, Asus P5KPL-M, MSI GF9500GT 512Mb (driver 195.30 beta), SS4 Omicom (dvb driver - repo I. Liplianin), GoTView USB
Software: Ubuntu 12.04.01 LTS Enigma2-PC (OpenPLi project)

1455

Участник

Сообщения: 1 445

Благодарностей: 489

618

20.06.2017, 09:15

В скрипте есть такое:

Исходный текст

1
2
3
4
5
6
#Create symlinks in /lib diectory post install enigma2
if [ -d /lib/i386-linux-gnu ]; then
   ln -sf /lib/i386-linux-gnu /lib/i686-linux-gnu
fi
ARCH_MY=`uname -i`
 ln -sf `ls /lib/"$ARCH_MY"-linux-gnu/libc-2.??.so` /lib/libc.so.6

У меня две бубунты. 14.04-i386 и 16.04 -x86_64. Где и как называется папка c libc.so.6 в 14.04-i686?

Raider05

Участник

Сообщения: 570

Благодарностей: 323

Место проживания: Russia

619

20.06.2017, 10:56

Да, есть такое в скрипте, но

Исходный текст

1
ln -sf /lib/i386-linux-gnu /lib/i686-linux-gnu

не отработало
libc.so.6 лежит в /lib/i386-linux-gnu ,
часть вывода команды: dpkg --list libc6

Цитата

/lib/i386-linux-gnu/libnsl.so.1
/lib/i386-linux-gnu/libc.so.6
/lib/i386-linux-gnu/libutil.so.1
/lib/i386-linux-gnu/libthread_db.so.1
/lib/i386-linux-gnu/libnss_dns.so.2
/lib/i386-linux-gnu/libBrokenLocale.so.1
/lib/i386-linux-gnu/libnss_files.so.2
/lib/i386-linux-gnu/libnss_nis.so.2
/lib/i386-linux-gnu/libnss_compat.so.2
/lib/i386-linux-gnu/libcidn.so.1
/lib/i386-linux-gnu/ld-linux.so.2
/lib/i386-linux-gnu/librt.so.1
/lib/i386-linux-gnu/libm.so.6
/lib/i386-linux-gnu/libanl.so.1
/lib/i386-linux-gnu/libdl.so.2
/lib/i386-linux-gnu/libresolv.so.2
/lib/i386-linux-gnu/libpthread.so.0
/lib/i386-linux-gnu/libnss_hesiod.so.2
/lib/i386-linux-gnu/libcrypt.so.1
/lib/i386-linux-gnu/libnss_nisplus.so.2
Hardware: CPU C2D E5200, RAM 1Gb, Asus P5KPL-M, MSI GF9500GT 512Mb (driver 195.30 beta), SS4 Omicom (dvb driver - repo I. Liplianin), GoTView USB
Software: Ubuntu 12.04.01 LTS Enigma2-PC (OpenPLi project)

1455

Участник

Сообщения: 1 445

Благодарностей: 489

620

20.06.2017, 18:18

А у тебя один компилятор? Может, ты собирал на один libc.so.6, а заюзываешь другой? Попробуй ссылками выяснить, какой тебе нужен для запуска.

Похожие темы