Bug 13469

Summary: SQLite3 broken
Product: Sisyphus Reporter: Grigory Batalov <bga>
Component: ulogdAssignee: Mikhail Efremov <sem>
Status: CLOSED WORKSFORME QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: sem
Version: unstable   
Hardware: all   
OS: Linux   
URL: http://git.altlinux.org/people/liks/packages/ulogd.git?p=ulogd.git;a=commit;h=e5df5edd2526e06754680f4e7a7a02addfbdd888
Bug Depends on:    
Bug Blocks: 13468    

Description Grigory Batalov 2007-11-19 19:43:46 MSK
Текущая версия ulogd в git (см. URL) приводит к ошибке модуля SQLite3:

...
Mon Nov 19 19:40:56 2007 <7> ulogd_SQLITE3.c:172 sql error during insert:
library routine called out of sequence
...
Проблему решает откат на 1.24-alt5.
Comment 1 Grigory Batalov 2007-11-20 02:47:59 MSK
Отключение патча ulogd-1.24-user-option.patch также помогает, хотя я и не понял,
в какой строчке он портит.
Comment 2 liks 2007-11-20 11:00:56 MSK
Попробуйте сборку alt9 из репозитария. Если нерабочая, то буду более тщательно
разбираться.
Comment 3 liks 2007-11-20 11:04:43 MSK
коннект к build-хосту оборвался. Как появится - залью на git.alt.
Comment 4 Grigory Batalov 2007-11-20 16:54:17 MSK
Патч ulogd-1.24-fixes-sqlite3.patch сам по себе не помогает. Но и не портит,
если предварительно отключить ulogd-1.24-user-option.patch .
Comment 5 liks 2007-11-20 18:06:15 MSK
мда.. с sqlite раньше не доводилось работать. Завтра буду разбираться. Патч
user-option я не хочу отключать, так как работа демона из-под рута на мой взгляд
не очень хорошо, с точки зрения безопасности.

Вам пока как временное решение предлагаю собрать свою версию без этого патча (ну
Вы наверное уже так и сделали). Спасибо за помощь в тестировании. Постараюсь
исправить в скором времени.
Comment 6 liks 2007-11-27 14:58:25 MSK
Прошу перепроверить. У меня все работает.

[root@server tmp]# rpm -q sqlite3
sqlite3-3.4.2-alt1

[root@server tmp]# rpm -q ulogd
ulogd-1.24-alt9

[root@server tmp]# sqlite3 sqlitedb
SQLite version 3.4.2
Enter ".help" for instructions
sqlite> select * from ulog;
<skip> .. </skip>
ff:ff:ff:ff:ff:ff:00:0f:38:67:52:83:08:00|1196164371|540787||eth2v||91.123.82.14|91.123.82.63|17|78|||137|137|58||||||
ff:ff:ff:ff:ff:ff:00:0f:38:67:52:83:08:00|1196164372|291540||eth2v||91.123.82.14|91.123.82.63|17|78|||137|137|58||||||

В /var/log/ulogd/ulogd.log (при отладке debug):
Tue Nov 27 14:53:04 2007 <3> ulogd.c:489 ulogd Version 1.23 starting
Tue Nov 27 14:53:04 2007 <1> ulogd_SQLITE3.c:237 allocating 294 bytes for statement
Tue Nov 27 14:53:04 2007 <1> ulogd_SQLITE3.c:270 stmt='insert into ulog
(icmp_fragmtu,icmp_gateway,icmp_echoseq,icmp_echoid,
icmp_code,icmp_type,udp_len,udp_dport,udp_sport,tcp_dport,tcp_sport,ip_totlen,ip_protocol,ip_daddr,ip_saddr,oob_out,oob_in,o
ob_prefix,oob_time_usec,oob_time_sec,raw_mac) values
(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)'
Tue Nov 27 14:53:04 2007 <3> ulogd.c:831 initialization finished, entering main loop
Comment 7 liks 2007-11-30 01:12:52 MSK
Проблема была в правах на /var/lib/ulogd - пользователь ulogd должен иметь право
на запись в директорию, а не только на определенный файл.