Bug 13579

Summary: Падает в текущем сизифе
Product: Sisyphus Reporter: Evgeny <evgen>
Component: motionAssignee: Evgeny Sinelnikov <sin>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: sin, thresh
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
Мой конфиг. none

Description Evgeny 2007-12-04 11:26:30 MSK
Сегодня обновил компьютер на котором стоят камеры.
motion стал падать segmentation fault. Ни какого вывода от него не добился.
Последнее, что пишет - слушаю порт 8081.
Да, и конфиг он ищет в /etc/motion/motion.conf
Раньше он лежал просто в /etc
Comment 1 ruslandh 2007-12-05 00:06:22 MSK
Конфиг свой пожалуйста пришлите.
Comment 2 Evgeny 2007-12-05 08:55:38 MSK
Created attachment 2313 [details]
Мой конфиг.
Comment 3 Michael Shigorin 2007-12-06 21:53:34 MSK
strace -ff motion не смотрели?
Comment 4 Evgeny 2007-12-07 08:49:31 MSK
(In reply to comment #3)
> strace -ff motion не смотрели?

[pid  5436] stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2194, ...}) = 0
[pid  5436] stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2194, ...}) = 0
[pid  5436] stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2194, ...}) = 0
[pid  5436] select(10, [9], NULL, NULL, {0, 0}) = 0 (Timeout)
[pid  5436] gettimeofday({1197006347, 562157}, NULL) = 0
[pid  5436] gettimeofday({1197006347, 562328}, NULL) = 0
[pid  5436] nanosleep({0, 91766000}, {0, 91766000}) = 0
[pid  5436] gettimeofday({1197006347, 655480}, NULL) = 0
[pid  5436] time(NULL)                  = 1197006347
[pid  5436] rt_sigprocmask(SIG_BLOCK, [HUP USR1 ALRM TERM CHLD], [HUP USR1 ALRM
TERM CHLD], 8) = 0
[pid  5436] ioctl(8, VIDIOC_QBUF, 0x809a56c) = 0
[pid  5436] ioctl(8, VIDIOC_DQBUF, 0x809a56c) = 0
[pid  5436] rt_sigprocmask(SIG_UNBLOCK, [HUP USR1 ALRM TERM CHLD], NULL, 8) = 0
[pid  5436] stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2194, ...}) = 0
[pid  5436] stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2194, ...}) = 0
[pid  5436] stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2194, ...}) = 0
[pid  5436] stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2194, ...}) = 0
[pid  5436] stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2194, ...}) = 0
[pid  5436] brk(0x814e000)              = 0x814e000
[pid  5436] brk(0x8180000)              = 0x8180000
[pid  5436] brk(0x81a1000)              = 0x81a1000
[pid  5436] brk(0x81c2000)              = 0x81c2000
[pid  5436] brk(0x81e3000)              = 0x81e3000
[pid  5436] brk(0x8204000)              = 0x8204000
[pid  5436] brk(0x8225000)              = 0x8225000
[pid  5436] brk(0x8246000)              = 0x8246000
[pid  5436] brk(0x8267000)              = 0x8267000
[pid  5436] brk(0x8288000)              = 0x8288000
[pid  5436] brk(0x82a9000)              = 0x82a9000
[pid  5436] brk(0x82ca000)              = 0x82ca000
[pid  5436] brk(0x82eb000)              = 0x82eb000
[pid  5436] brk(0x830c000)              = 0x830c000
[pid  5436] brk(0x832d000)              = 0x832d000
[pid  5436] brk(0x834e000)              = 0x834e000
[pid  5436] brk(0x836f000)              = 0x836f000
[pid  5436] brk(0x8390000)              = 0x8390000
[pid  5436] brk(0x83b1000)              = 0x83b1000
[pid  5436] brk(0x83d2000)              = 0x83d2000
[pid  5436] brk(0x83f3000)              = 0x83f3000
[pid  5436] brk(0x8414000)              = 0x8414000
[pid  5436] brk(0x8435000)              = 0x8435000
[pid  5436] brk(0x8456000)              = 0x8456000
[pid  5436] brk(0x8477000)              = 0x8477000
[pid  5436] brk(0x8498000)              = 0x8498000
[pid  5436] brk(0x84b9000)              = 0x84b9000
[pid  5436] brk(0x84da000)              = 0x84da000
[pid  5436] brk(0x84fb000)              = 0x84fb000
[pid  5436] brk(0x851c000)              = 0x851c000
[pid  5436] brk(0x853d000)              = 0x853d000
[pid  5436] brk(0x855e000)              = 0x855e000
[pid  5436] brk(0x857f000)              = 0x857f000
[pid  5436] brk(0x85a0000)              = 0x85a0000
[pid  5436] brk(0x85c1000)              = 0x85c1000
[pid  5436] brk(0x85e2000)              = 0x85e2000
[pid  5436] brk(0x8603000)              = 0x8603000
[pid  5436] brk(0x8624000)              = 0x8624000
[pid  5436] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
Process 5435 detached
Process 5436 detached
[pid  5437] <... select resumed> )      = ? ERESTARTNOHAND (To be restarted)
[pid  5437] +++ killed by SIGSEGV +++
PANIC: handle_group_exit: 5437 leader 5435
Process 5437 detached
Process 5435 detached


И вылетает она когда детектор движение определяет и пытается записать на диск.
Несколько раз проверил. С отключённой записью видео, программа работает сколь
угодно долго.
Comment 5 Evgeny 2007-12-12 07:14:05 MSK
Проверил ещё на одном компьютере.
Результат тот же. При определении движения и попытке закодировать/записать - падает.
Comment 6 Evgeny 2007-12-24 13:30:21 MSK
Обновил до
motion-3.2.9-alt1

Сначала обрадовался, что работает и видео пишет.
Через какое то время звонок. Не работает камера.
Смотрю - упал опять. Т.е. уже падает ни сразу, как движение видит, а через какое
то время.
Comment 7 Evgeny 2007-12-24 14:55:40 MSK
Отключил запись видео. Не падает.
Т.е. бага осталась
Comment 8 ruslandh 2007-12-24 21:23:56 MSK
Если играться с параметрами (яркость, контраст, геометрия и т.п.) то можно 
добиться, что-бы не падало.
Я понимаю, что это не решение проблемы, но как временная затычка.

Видел я такое не раз при работе с запистью видео. При большой нагрузке - просто 
вылетают. Надо конечно в код лезть, но пока не до этого. Может в праздничную 
неделю доберусь.
Comment 9 Evgeny 2007-12-25 08:05:20 MSK
(In reply to comment #8)
> Если играться с параметрами (яркость, контраст, геометрия и т.п.) то можно 
> добиться, что-бы не падало.
> Я понимаю, что это не решение проблемы, но как временная затычка.
Да, это не решение, но попробовать то можно...

> Видел я такое не раз при работе с запистью видео. При большой нагрузке - просто 
> вылетают. Надо конечно в код лезть, но пока не до этого. Может в праздничную 
> неделю доберусь.
Я очень надеюсь. Уже начальство косо поглядывает. Мол, понаставил тут линукса....
Comment 10 ruslandh 2007-12-25 09:16:28 MSK
Ночью не спалось. Собрал вариант - вроде не падает (вернее падает гораздо 
реже - один раз я его всё-же свалил). Залин в incomming motion-3.2.9-alt2
Comment 11 Evgeny 2007-12-25 10:03:20 MSK
Отлично. Надеюсь завтра будет в сизифе.
Благодарю.
Comment 12 Evgeny 2007-12-26 09:14:47 MSK
motion-3.2.9-alt2
Установил сегодня. После запуска 15 минут отработал и упал.
Опять отключил запись видео - работает.
Comment 13 ruslandh 2007-12-26 09:50:42 MSK
Постарайся получить достаточно подробные логи, что-бы понять где и что надо 
исправить. Чем точнее найдётся проблемное место, тем легче, и главное быстрее 
можно его исправить.
Comment 14 Evgeny 2007-12-26 10:50:23 MSK
Проблемное место - запись видео
При отключенной возможности работает сколь угодно долго.
В данный момент пишется, но падает скорее всего из-за нагрузки на компьютер.
Самая первая версия, которая была в сизифе - не падала вообще.
Может это как то связано с ffmpeg.
Если есть способы более точно узнать - подскажите. Сделаю.
Comment 15 Evgeny 2007-12-27 13:49:20 MSK
http://www.lavrsen.dk/twiki/bin/view/Motion/FrequentlyAskedQuestions#Motion_crashes_with_segmentation
Вот тут что-то описано по поводу падения во время детекта движения.
В английском ни в зуб ногой....
Comment 16 Mikhail Gusarov 2007-12-27 16:34:56 MSK
Говорят, ffmpeg при сборке и ffmpeg при работе должны быть точно одной версии.

Может, thresh чего-нибудь подскажет?
Comment 17 Konstantin Pavlov 2007-12-27 16:41:26 MSK
да не обязательно должны быть, если там не что-то страшное делают.

бэктрейс пересобранной с дебагом версии смотрите, а то что тут говорить...
Comment 18 ruslandh 2008-02-01 09:35:25 MSK
Попробуйте ftp://miragh.ru/pub/repo.motion
PS У меня определённые проблемы с доступом к Сизиу сейчас :(
Comment 19 Evgeny 2008-02-01 12:12:28 MSK
Запустил. 15 минут работает. Вроде пишет.
Но проблема с просмотром в реалтайме теперь.
Браузер показывает кадр и останавливается.
F5 и обновление одного кадра.
Раньше в Mozilla надо было browser.cache.check_doc_frequenc в 1 сделать. Теперь
не помогает.
В Konqueror вообще ни чего делать не надо было. Он сам всё показывал.
Теперь и Konqueror не показывает (только по кадру).
Может что-то в конфиге изменилось (я использую новый конфиг, который в Вашем
пакете).
Comment 20 Evgeny 2008-02-01 12:18:38 MSK
Извиняюсь. Нашёл.
webcam_limit вот где...
Comment 21 Evgeny 2008-02-01 12:19:40 MSK
Я сегодня день погоняю. О результатах отпишусь.
Comment 22 Evgeny 2008-02-05 08:27:35 MSK
Ура. Работает.
Вот уже какой день и не падает ;)
Благодарю за пакетик.