[Dbmail-dev] TimsieveD stack trace

2014-11-16 Thread Jorge Bastos
Hi Paul,

 

I've created a bug report with the stack trace for timsieved that gets
zombie every 2/3 days with too much open files issue, in:
http://dbmail.org/mantis/view.php?id=1062

 

Other question is, now when a new bug report is created or updated, the -dev
list is not receiving it, just to let you know in case not aware of it yet.

___
Dbmail-dev mailing list
Dbmail-dev@dbmail.org
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail-dev


[Dbmail-dev] TimsieveD

2009-01-16 Thread Jorge Bastos
Paul,

You asked me to check my kernel, and now I just compiled it without the
security options.

Still nor working, Well, I have no ideia on what it can be.

In library's, what matters to timsieved, libevent and what else?

 

 

 

 

___
Dbmail-dev mailing list
Dbmail-dev@dbmail.org
http://twister.fastxs.net/mailman/listinfo/dbmail-dev


[Dbmail-dev] timsieved

2006-02-21 Thread Oleg Lapshin

Hello

I try to manage sieve scripts from kmail.
kmail get names of scripts, but can't change them ;(
I think this is kmail's problem, because smartsieve (php web utility) can do

But there is error: dbmysql.c,db_query: res was not freed after the previous 
query!

If script has error, temporarily record don't deleted from table 
dbmail_sievescripts

Log:

pool.c,child_reg_connected: [27272]
serverchild.c,PerformChildTask: incoming connection from [127.0.0.1]
serverchild.c,PerformChildTask: client info init complete, calling client 
handler
tims(): incoming buffer: [AUTHENTICATE PLAIN {16+}]
tims(): command issued: cmd [AUTHENTICATE], val [PLAIN {16+}]
tims(): command looked up as commandtype 4
misc.c, find_bounded: Found nothing between '' and ''
misc.c, find_bounded: Found [16] of length [2] between '{' and '+' so next 
skip [4]
db.c,db_usermap_resolve: checking userid 'loe' in usermap
db.c,db_usermap_resolve: client on inet socket [inet:127.0.0.1:2]
dbmysql.c,db_query: executing query [SELECT login, sock_allow, sock_deny, 
userid FROM dbmail_usermap WHERE login in ('loe','ANY') ORDER BY sock_allow, 
sock_deny]
db.c,db_usermap_resolve: login 'loe' not found in usermap
dbmysql.c,db_query: executing query [SELECT user_idnr FROM dbmail_users WHERE 
lower(userid) = lower('loe')]
dbmysql.c,db_query: executing query [SELECT user_idnr, passwd, encryption_type 
FROM dbmail_users WHERE user_idnr = '2']
authsql.c,auth_validate: validating using plaintext passwords
dbmysql.c,db_query: executing query [UPDATE dbmail_users SET last_login = 
'2006-02-21 09:35:58' WHERE user_idnr = '2']
dbmysql.c,db_query: res was not freed after the previous query!
tims(): incoming buffer: [LOGOUT]
tims(): command looked up as commandtype 0
serverchild.c,PerformChildTask: client handling complete, closing streams
serverchild.c,client_close: closing write stream
serverchild.c,client_close: closing read stream
serverchild.c,PerformChildTask: connection closed
serverchild.c,PerformChildTask: waiting for connection
pool.c,child_reg_disconnected: [27272]
pool.c,child_reg_connected: [27270]
serverchild.c,PerformChildTask: incoming connection from [127.0.0.1]
serverchild.c,PerformChildTask: client info init complete, calling client 
handler
tims(): incoming buffer: [AUTHENTICATE PLAIN {16+}]
tims(): command issued: cmd [AUTHENTICATE], val [PLAIN {16+}]
tims(): command looked up as commandtype 4
misc.c, find_bounded: Found nothing between '' and ''
misc.c, find_bounded: Found [16] of length [2] between '{' and '+' so next 
skip [4]
db.c,db_usermap_resolve: checking userid 'loe' in usermap
db.c,db_usermap_resolve: client on inet socket [inet:127.0.0.1:2]
dbmysql.c,db_query: executing query [SELECT login, sock_allow, sock_deny, 
userid FROM dbmail_usermap WHERE login in ('loe','ANY') ORDER BY sock_allow, 
sock_deny]
db.c,db_usermap_resolve: login 'loe' not found in usermap
dbmysql.c,db_query: executing query [SELECT user_idnr FROM dbmail_users WHERE 
lower(userid) = lower('loe')]
dbmysql.c,db_query: executing query [SELECT user_idnr, passwd, encryption_type 
FROM dbmail_users WHERE user_idnr = '2']
authsql.c,auth_validate: validating using plaintext passwords
dbmysql.c,db_query: executing query [UPDATE dbmail_users SET last_login = 
'2006-02-21 09:35:58' WHERE user_idnr = '2']
dbmysql.c,db_query: res was not freed after the previous query!
tims(): incoming buffer: [LISTSCRIPTS]
tims(): command looked up as commandtype 3
dbmysql.c,db_query: executing query [SELECT name,active from 
dbmail_sievescripts where owner_idnr = 2]
tims(): incoming buffer: [GETSCRIPT spam]
tims(): command issued: cmd [GETSCRIPT], val [spam]
tims(): command looked up as commandtype 6
misc.c, find_bounded: Found [spam] of length [4] between '' and '' so next 
skip [5]
dbmysql.c,db_query: executing query [SELECT script from dbmail_sievescripts 
where owner_idnr = '2' and name = 'spam']
tims(): incoming buffer: [PUTSCRIPT spam {305+}]
tims(): command issued: cmd [PUTSCRIPT], val [spam {305+}]
tims(): command looked up as commandtype 9
misc.c, find_bounded: Found [spam] of length [4] between '' and '' so next 
skip [5]
misc.c, find_bounded: Found [305] of length [3] between '{' and '+' so next 
skip [6]
timsieve.c, tims: Client sending script of length [305]
db.c,db_check_sievescript_quota: updating 2 sievescript quota with 305
dbmysql.c,db_query: executing query [BEGIN]
dbmysql.c,db_query: executing query [SELECT COUNT(*) FROM dbmail_sievescripts 
WHERE owner_idnr = 2 AND name = '@!temp-script!@']
dbmysql.c,db_query: executing query [DELETE FROM dbmail_sievescripts WHERE 
owner_idnr = 2 AND name = '@!temp-script!@']
dbmysql.c,db_query: res was not freed after the previous query!
dbmysql.c,db_query: executing query [INSERT into dbmail_sievescripts 
(owner_idnr, name, script, active) values (2, '@!temp-script!@', '#Mail 
filter rules for loe\n#Generated by loe using SmartSieve 0.5.2 2006/02/21 
09:35:58\n{297+}\r\nrequire \fileinto\;\r\n\r\nif header :is 

Re: [Dbmail-dev] timsieved

2006-02-21 Thread Leif Jackson
On Tue, February 21, 2006 1:42 am, Oleg Lapshin wrote:
 But there is error: dbmysql.c,db_query: res was not freed after the
 previous query!

This isn't really an error just a warning message to developers about the
fact that on the previous call to db_query they didn't free the result
before calling db_query again. Aaron added my patch for memory leaks and
in it was this sort of catch all check as I was seeing a lot of query's
that wern't being freeded as the default db_query stores all result's even
if it isn't really needed..etc. I will let Aaron comment on the sieve
stuff.

-leif



 If script has error, temporarily record don't deleted from table
 dbmail_sievescripts

 Log:


 pool.c,child_reg_connected: [27272]
 serverchild.c,PerformChildTask: incoming connection from [127.0.0.1]
 serverchild.c,PerformChildTask: client info init complete, calling client
 handler tims(): incoming buffer: [AUTHENTICATE PLAIN {16+}]
 tims(): command issued: cmd [AUTHENTICATE], val [PLAIN {16+}]
 tims(): command looked up as commandtype 4
 misc.c, find_bounded: Found nothing between '' and '' misc.c,
 find_bounded: Found [16] of length [2] between '{' and '+' so next
 skip [4] db.c,db_usermap_resolve: checking userid 'loe' in usermap
 db.c,db_usermap_resolve: client on inet socket [inet:127.0.0.1:2]
 dbmysql.c,db_query: executing query [SELECT login, sock_allow, sock_deny,
 userid FROM dbmail_usermap WHERE login in ('loe','ANY') ORDER BY
 sock_allow, sock_deny] db.c,db_usermap_resolve: login 'loe' not found in
 usermap dbmysql.c,db_query: executing query [SELECT user_idnr FROM
 dbmail_users WHERE lower(userid) = lower('loe')] dbmysql.c,db_query:
 executing query [SELECT user_idnr, passwd, encryption_type FROM
 dbmail_users WHERE user_idnr = '2'] authsql.c,auth_validate: validating
 using plaintext passwords dbmysql.c,db_query: executing query [UPDATE
 dbmail_users SET last_login = '2006-02-21 09:35:58' WHERE user_idnr = '2']
  dbmysql.c,db_query: res was not freed after the previous query!
 tims(): incoming buffer: [LOGOUT]
 tims(): command looked up as commandtype 0
 serverchild.c,PerformChildTask: client handling complete, closing streams
 serverchild.c,client_close: closing write stream
 serverchild.c,client_close: closing read stream
 serverchild.c,PerformChildTask: connection closed
 serverchild.c,PerformChildTask: waiting for connection
 pool.c,child_reg_disconnected: [27272]
 pool.c,child_reg_connected: [27270]
 serverchild.c,PerformChildTask: incoming connection from [127.0.0.1]
 serverchild.c,PerformChildTask: client info init complete, calling client
 handler tims(): incoming buffer: [AUTHENTICATE PLAIN {16+}]
 tims(): command issued: cmd [AUTHENTICATE], val [PLAIN {16+}]
 tims(): command looked up as commandtype 4
 misc.c, find_bounded: Found nothing between '' and '' misc.c,
 find_bounded: Found [16] of length [2] between '{' and '+' so next
 skip [4] db.c,db_usermap_resolve: checking userid 'loe' in usermap
 db.c,db_usermap_resolve: client on inet socket [inet:127.0.0.1:2]
 dbmysql.c,db_query: executing query [SELECT login, sock_allow, sock_deny,
 userid FROM dbmail_usermap WHERE login in ('loe','ANY') ORDER BY
 sock_allow, sock_deny] db.c,db_usermap_resolve: login 'loe' not found in
 usermap dbmysql.c,db_query: executing query [SELECT user_idnr FROM
 dbmail_users WHERE lower(userid) = lower('loe')] dbmysql.c,db_query:
 executing query [SELECT user_idnr, passwd, encryption_type FROM
 dbmail_users WHERE user_idnr = '2'] authsql.c,auth_validate: validating
 using plaintext passwords dbmysql.c,db_query: executing query [UPDATE
 dbmail_users SET last_login = '2006-02-21 09:35:58' WHERE user_idnr = '2']
  dbmysql.c,db_query: res was not freed after the previous query!
 tims(): incoming buffer: [LISTSCRIPTS]
 tims(): command looked up as commandtype 3
 dbmysql.c,db_query: executing query [SELECT name,active from
 dbmail_sievescripts where owner_idnr = 2] tims(): incoming buffer:
 [GETSCRIPT spam]
 tims(): command issued: cmd [GETSCRIPT], val [spam]
 tims(): command looked up as commandtype 6
 misc.c, find_bounded: Found [spam] of length [4] between '' and '' so
 next skip [5] dbmysql.c,db_query: executing query [SELECT script from
 dbmail_sievescripts where owner_idnr = '2' and name = 'spam'] tims():
 incoming buffer: [PUTSCRIPT spam {305+}] tims(): command issued: cmd
 [PUTSCRIPT], val [spam {305+}]
 tims(): command looked up as commandtype 9
 misc.c, find_bounded: Found [spam] of length [4] between '' and '' so
 next skip [5] misc.c, find_bounded: Found [305] of length [3] between '{'
 and '+' so next skip [6] timsieve.c, tims: Client sending script of length
 [305]
 db.c,db_check_sievescript_quota: updating 2 sievescript quota with 305
 dbmysql.c,db_query: executing query [BEGIN]
 dbmysql.c,db_query: executing query [SELECT COUNT(*) FROM
 dbmail_sievescripts WHERE owner_idnr = 2 AND name = '@!temp-script!@']
 dbmysql.c,db_query: executing query [DELETE FROM dbmail_sievescripts WHERE
  owner_idnr = 2 

Re: [Dbmail-dev] timsieved

2006-02-21 Thread Aaron Stone
I just committed a major round of updates. All Sieve actions should be
working now, including subaddress testing and vacation responses :-)

On Tue, 2006-02-21 at 09:42 +0300, Oleg Lapshin wrote:
 Hello
 
 I try to manage sieve scripts from kmail.
 kmail get names of scripts, but can't change them ;(
 I think this is kmail's problem, because smartsieve (php web utility) can do

Weird, ok. Maybe it's a known bug in KMail?

 But there is error: dbmysql.c,db_query: res was not freed after the previous 
 query!

Fixed.

 If script has error, temporarily record don't deleted from table 
 dbmail_sievescripts

Fixed.

Aaron



[Dbmail-dev] timsieved

2006-02-21 Thread Oleg Lapshin

 This isn't really an error just a warning message to developers about the
 fact that on the previous call to db_query they didn't free the result
 before calling db_query again. Aaron added my patch for memory leaks and
 in it was this sort of catch all check as I was seeing a lot of query's
 that wern't being freeded as the default db_query stores all result's even
 if it isn't really needed..etc. I will let Aaron comment on the sieve
 stuff.

 -leif

OK, but after nearly 10-15 operations from smartsieve web interface I get:

$ top -b -n 1 | grep timsieve
  PID USER  PR  NI  VIRT  RES  SHR S %CPU %MEMTIME+  COMMAND
  
28847 nobody25   0  5164 1388  932 R 72.4  0.2   1:44.10 dbmail-timsieve
28842 root  16   0  4852 1108  800 S  0.0  0.1   0:00.00 dbmail-timsieve
28843 nobody16   0  5076 1476 1052 S  0.0  0.2   0:00.02 dbmail-timsieve
28845 nobody15   0  5076 1252  824 S  0.0  0.2   0:00.08 dbmail-timsieve

and up to 95% of cpu
And then:

$ kill 28842
MainSigHandler(): got signal [15]
pool.c,manage_stop_children: General stop requested. Killing children..
serverchild.c,active_child_sig_handler: got signal [Terminated]
serverchild.c,active_child_sig_handler: setting stop request
serverchild.c,PerformChildTask: accept failed
serverchild.c,PerformChildTask: stop requested
pool.c,child_reg_disconnected: [28845]
serverchild.c,disconnect_all: database connection still open, closing
pool.c,child_unregister: child [28845] unregistered
serverchild.c,active_child_sig_handler: got signal [Terminated]
serverchild.c,active_child_sig_handler: setting stop request
pool.c,manage_stop_children: not all children terminated at SIGTERM, killing 
hard now
main(): server done, exit.
main(): server has exited, exit status [0]
main(): exit


What happens with dbmail-timsieved ?

-- 
Oleg Lapshin



Re: [Dbmail-dev] timsieved

2006-02-21 Thread Aaron Stone
On Tue, 2006-02-21 at 10:29 +0300, Oleg Lapshin wrote:
  This isn't really an error just a warning message to developers about the
  fact that on the previous call to db_query they didn't free the result
  before calling db_query again. Aaron added my patch for memory leaks and
  in it was this sort of catch all check as I was seeing a lot of query's
  that wern't being freeded as the default db_query stores all result's even
  if it isn't really needed..etc. I will let Aaron comment on the sieve
  stuff.
 
  -leif
 
 OK, but after nearly 10-15 operations from smartsieve web interface I get:
 
 $ top -b -n 1 | grep timsieve
   PID USER  PR  NI  VIRT  RES  SHR S %CPU %MEMTIME+  COMMAND  
 
 28847 nobody25   0  5164 1388  932 R 72.4  0.2   1:44.10 dbmail-timsieve
 28842 root  16   0  4852 1108  800 S  0.0  0.1   0:00.00 dbmail-timsieve
 28843 nobody16   0  5076 1476 1052 S  0.0  0.2   0:00.02 dbmail-timsieve
 28845 nobody15   0  5076 1252  824 S  0.0  0.2   0:00.08 dbmail-timsieve
 
 and up to 95% of cpu
 And then:
 
 $ kill 28842
 MainSigHandler(): got signal [15]
 pool.c,manage_stop_children: General stop requested. Killing children..
 serverchild.c,active_child_sig_handler: got signal [Terminated]
 serverchild.c,active_child_sig_handler: setting stop request
 serverchild.c,PerformChildTask: accept failed
 serverchild.c,PerformChildTask: stop requested
 pool.c,child_reg_disconnected: [28845]
 serverchild.c,disconnect_all: database connection still open, closing
 pool.c,child_unregister: child [28845] unregistered
 serverchild.c,active_child_sig_handler: got signal [Terminated]
 serverchild.c,active_child_sig_handler: setting stop request
 pool.c,manage_stop_children: not all children terminated at SIGTERM, killing 
 hard now
 main(): server done, exit.
 main(): server has exited, exit status [0]
 main(): exit
 
 
 What happens with dbmail-timsieved ?

Good question! Unfortunately I won't have much time to dig into it
during the rest of the week :-\  A good valgrind session will probably
turn up the culprit.

Aaron




[Dbmail-dev] timsieved

2006-02-21 Thread Oleg Lapshin
  What happens with dbmail-timsieved ?

 Good question! Unfortunately I won't have much time to dig into it
 during the rest of the week :-\  A good valgrind session will probably
 turn up the culprit.

 Aaron

:)
I shall try to debug this

-- 
Oleg Lapshin



[Dbmail-dev] timsieved

2006-02-21 Thread Oleg Lapshin

I try to update sieve script.

a) new script inserted with magic name
b) old script don't deleted (!)
c) new script renamed 

and I get 2 scripts with the same name (old - active, new - not)


pool.c,child_reg_connected: [13036]
serverchild.c,PerformChildTask: incoming connection from [62.89.253.152]
serverchild.c,PerformChildTask: client info init complete, calling client 
handler
tims(): incoming buffer: [AUTHENTICATE PLAIN {16+}]
tims(): command issued: cmd [AUTHENTICATE], val [PLAIN {16+}]
tims(): command looked up as commandtype 4
misc.c, find_bounded: Found nothing between '' and ''
misc.c, find_bounded: Found [16] of length [2] between '{' and '+' so next 
skip [4]
db.c,db_usermap_resolve: checking userid 'loe' in usermap
db.c,db_usermap_resolve: client on inet socket [inet:62.89.253.152:2]
dbmysql.c,db_query: executing query [SELECT login, sock_allow, sock_deny, 
userid FROM dbmail_usermap WHERE login in ('loe','ANY') ORDER BY sock_allow, 
sock_deny]
db.c,db_usermap_resolve: login 'loe' not found in usermap
dbmysql.c,db_query: executing query [SELECT user_idnr FROM dbmail_users WHERE 
lower(userid) = lower('loe')]
dbmysql.c,db_query: executing query [SELECT user_idnr, passwd, encryption_type 
FROM dbmail_users WHERE user_idnr = '2']
authsql.c,auth_validate: validating using plaintext passwords
dbmysql.c,db_query: executing query [UPDATE dbmail_users SET last_login = 
'2006-02-21 11:16:47' WHERE user_idnr = '2']
dbmysql.c,db_query: res was not freed after the previous query!
tims(): incoming buffer: [LOGOUT]
tims(): command looked up as commandtype 0
serverchild.c,PerformChildTask: client handling complete, closing streams
serverchild.c,client_close: closing write stream
serverchild.c,client_close: closing read stream
serverchild.c,PerformChildTask: connection closed
pool.c,child_reg_connected: [13034]
serverchild.c,PerformChildTask: incoming connection from [62.89.253.152]
serverchild.c,PerformChildTask: client info init complete, calling client 
handler
serverchild.c,PerformChildTask: waiting for connection
pool.c,child_reg_disconnected: [13036]
tims(): incoming buffer: [AUTHENTICATE PLAIN {16+}]
tims(): command issued: cmd [AUTHENTICATE], val [PLAIN {16+}]
tims(): command looked up as commandtype 4
misc.c, find_bounded: Found nothing between '' and ''
misc.c, find_bounded: Found [16] of length [2] between '{' and '+' so next 
skip [4]
db.c,db_usermap_resolve: checking userid 'loe' in usermap
db.c,db_usermap_resolve: client on inet socket [inet:62.89.253.152:2]
dbmysql.c,db_query: executing query [SELECT login, sock_allow, sock_deny, 
userid FROM dbmail_usermap WHERE login in ('loe','ANY') ORDER BY sock_allow, 
sock_deny]
db.c,db_usermap_resolve: login 'loe' not found in usermap
dbmysql.c,db_query: executing query [SELECT user_idnr FROM dbmail_users WHERE 
lower(userid) = lower('loe')]
dbmysql.c,db_query: executing query [SELECT user_idnr, passwd, encryption_type 
FROM dbmail_users WHERE user_idnr = '2']
authsql.c,auth_validate: validating using plaintext passwords
dbmysql.c,db_query: executing query [UPDATE dbmail_users SET last_login = 
'2006-02-21 11:16:47' WHERE user_idnr = '2']
dbmysql.c,db_query: res was not freed after the previous query!
tims(): incoming buffer: [LISTSCRIPTS]
tims(): command looked up as commandtype 3
dbmysql.c,db_query: executing query [SELECT name,active from 
dbmail_sievescripts where owner_idnr = 2]
tims(): incoming buffer: [GETSCRIPT main]
tims(): command issued: cmd [GETSCRIPT], val [main]
tims(): command looked up as commandtype 6
misc.c, find_bounded: Found [main] of length [4] between '' and '' so next 
skip [5]
dbmysql.c,db_query: executing query [SELECT script from dbmail_sievescripts 
where owner_idnr = '2' and name = 'main']
tims(): incoming buffer: [PUTSCRIPT main {460+}]
tims(): command issued: cmd [PUTSCRIPT], val [main {460+}]
tims(): command looked up as commandtype 9
misc.c, find_bounded: Found [main] of length [4] between '' and '' so next 
skip [5]
misc.c, find_bounded: Found [460] of length [3] between '{' and '+' so next 
skip [6]
timsieve.c, tims: Client sending script of length [460]
db.c,db_check_sievescript_quota: updating 2 sievescript quota with 460
dbmysql.c,db_query: executing query [BEGIN]
dbmysql.c,db_query: executing query [SELECT COUNT(*) FROM dbmail_sievescripts 
WHERE owner_idnr = 2 AND name = '@!temp-script!@']
dbmysql.c,db_get_result: result set is null

dbmysql.c,db_query: executing query [INSERT into dbmail_sievescripts 
(owner_idnr, name, script, active) values (2, '@!temp-script!@', '#Mail 
filter rules for loe\n#Generated by loe using SmartSieve 0.5.2 2006/02/21 
11:16:47\nrequire \fileinto\;\r\nrequire \subaddress\;\r\n\r\nif 
envelope :detail \to\ \spam\ {\r\nfileinto \SPAM\;}\r\nelsif header :is 
\X-Spam-Flag\ \YES\ { \r\nfileinto \SPAM\;} \r\n\r\n else {\r\nfileinto 
\INBOX\;}\n\n\n##PSEUDO script start\n#modeadvanced\n', 0)]
dbmysql.c,db_query: executing query [COMMIT]
sortsieve.c, sort_getscript: Getting default