Bug 23796 - Падает с сегфолтом при вводе корректного формата имени лог-фаила
Summary: Падает с сегфолтом при вводе корректного формата имени лог-фаила
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: putty (show other bugs)
Version: unstable
Hardware: x86 Linux
: P3 normal
Assignee: Evgenii Terechkov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-21 19:53 MSD by Evgenii Terechkov
Modified: 2010-10-10 11:47 MSD (History)
2 users (show)

See Also:


Attachments
Пекапатч, чинит падение в сегфолт, но нужного всё равно не делает (534 bytes, patch)
2010-07-22 18:23 MSD, Evgenii Terechkov
no flags Details | Diff
Spec for 2010-10-01 snapshot (3.93 KB, application/octet-stream)
2010-10-01 22:19 MSD, Evgenii Terechkov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Evgenii Terechkov 2010-07-21 19:53:23 MSD
Стабильно падает в кору (пробелы поскипаны):

evg@evg ~ $rpm -q putty
putty-0.60-alt3
evg@evg ~ $putty
/home/evg/.gtkrc:89: error: unexpected identifier `gtk-font-name', expected keyword - e.g. `style'

(пробовал отодвигать ~/.gtkrc в сторону, ничего)

(открывается окно выбора сессии, выбираем любую)

(тут иногда открывается пустое окно сессий, иногда нет. Если отроется,
то достаточно нажать любую клавишу)

putty: ../unix/uxmisc.c:144: f_open: Assertion `mode[0] == 'w'' failed.
[1]    11897 abort (core dumped)  putty
evg@evg ~ $gdb putty core
GNU gdb (GDB) 7.0.1-alt2 (ALT Linux)
...
Core was generated by `putty'.
Program terminated with signal 6, Aborted.
#0  0xb7493247 in raise () from /lib/libc.so.6
(gdb) bt
#0  0xb7493247 in raise () from /lib/libc.so.6
#1  0xb749496a in abort () from /lib/libc.so.6
#2  0xb748c3f7 in __assert_fail () from /lib/libc.so.6
#3  0x080afea1 in f_open ()
#4  0x0806d1b0 in logfopen_callback ()
#5  0x0806d402 in logfopen ()
#6  0x0806d571 in logwrite ()
#7  0x0806da8d in logtraffic ()
#8  0x080a6b96 in term_out ()
#9  0x080ab234 in term_data ()
#10 0x0806bc31 in c_write ()
#11 0x0806c4c9 in ldisc_send ()
#12 0x0806ac60 in key_event ()
#13 0xb766a274 in gtk_marshal_BOOL__POINTER () from /usr/lib/libgtk-1.2.so.0
#14 0xb76a093e in ?? () from /usr/lib/libgtk-1.2.so.0
#15 0xb76a2d7d in ?? () from /usr/lib/libgtk-1.2.so.0
#16 0xb76a2f4d in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
#17 0xb76e0051 in gtk_widget_event () from /usr/lib/libgtk-1.2.so.0
#18 0xb766849c in gtk_propagate_event () from /usr/lib/libgtk-1.2.so.0
#19 0xb76692bf in gtk_main_do_event () from /usr/lib/libgtk-1.2.so.0
#20 0xb730365b in ?? () from /usr/lib/libgdk-1.2.so.0
#21 0xb7454c84 in ?? () from /lib/libglib-1.2.so.0
#22 0xb74554e8 in ?? () from /lib/libglib-1.2.so.0
#23 0xb745579f in g_main_run () from /lib/libglib-1.2.so.0
#24 0xb76698ef in gtk_main () from /usr/lib/libgtk-1.2.so.0
#25 0x0806947b in pt_main ()
#26 0x080b289a in main ()
(gdb)
Comment 1 Evgenii Terechkov 2010-07-21 19:54:07 MSD
Хм... или это на gtk какой надо?
Comment 2 Andrey Rahmatullin 2010-07-21 20:01:11 MSD
(В ответ на комментарий №1)
> Хм... или это на gtk какой надо?
Обычно сначала стек с отладочными символами получают, а потом этот вопрос задают. Себе.

Впрочем, падает по ассерту, а гтк в стеке только из-за сигнальной модели.
Comment 3 Evgenii Terechkov 2010-07-21 20:14:03 MSD
Нет, таки putty безблагодатен. Разгадка одна: строчка

LogFileName=/home/evg/.logs/&H_&D.&M.&Y.log

в конфиге (дефолтном или для сессии). Если её убрать или отключить
протоколирование, то хотя бы не падает с сегфолтом. Думаю, крив код форматирования имени фаила.
Comment 4 Michael Shigorin 2010-07-22 00:28:49 MSD
(In reply to comment #3)
> LogFileName=/home/evg/.logs/&H_&D.&M.&Y.log
Рискну предложить черкнуть апстриму (putty / projects.tartarus.org), мне года три тому отвечали более-менее оперативно и внятно.  Также боюсь, что из отсутствия более новых версий следует то, что ими никто особо не занимается (что-то там припоминается насчёт gtk2, уже не припомню точно).

PS: я сейчас не доберусь => nobody@; плюс s/major/normal/ согласно BugSeverityPolicy по твоему же уточнению.
Comment 5 Evgenii Terechkov 2010-07-22 15:43:01 MSD
Да, я забыл переставить важность.

Посмотрим, что можно сделать...
Comment 6 Andrey Rahmatullin 2010-07-22 15:49:30 MSD
... и ещё раз.
Comment 7 Evgenii Terechkov 2010-07-22 17:01:53 MSD
Ненужен? Я знаю :-)
Comment 8 Evgenii Terechkov 2010-07-22 18:23:00 MSD
Created attachment 4464 [details]
Пекапатч, чинит падение в сегфолт, но нужного всё равно не делает

Неразумные пекапонцы, писавшие PuTTY, видимо, не рассчитывали, что с помощью их программы кто-то действительно будет протоколировать действия: падает по ассерту если кто-то внезапно решил дописывать логи, а не перезаписывать их. Ну а если этот ассерт починить, то лог всё равно перезаписывается. Нет, это не человеческая логика, явно дело рук пекапонцев.
Comment 9 Michael Shigorin 2010-07-25 00:49:10 MSD
Заливай, ACL выдал.
Comment 10 Evgenii Terechkov 2010-07-25 03:57:55 MSD
Рано ещё. Дописывать лог-файлы оно так и не может. Надо допекапатчивать.
Comment 11 Evgenii Terechkov 2010-10-01 22:19:56 MSD
Created attachment 4576 [details]
Spec for 2010-10-01 snapshot

Как вам такой вариант? Не слишком радикально?

У меня он работает хорошо.
Comment 12 Repository Robot 2010-10-10 11:22:47 MSD
putty-0.60-alt4 -> sisyphus:

* Sat Oct 02 2010 Terechkov Evgenii <evg@altlinux> 0.60-alt4
- 20101001 snapshot (ALT#23796)
- Build with libgtk+2
- Old patches dropped
Comment 13 Evgenii Terechkov 2010-10-10 11:47:06 MSD
Кто не спрятался - я не виноват :-)