It is probably safer to check if expired messages exist before attempting to delete them, assuming that a query in an empty table does not generate an error. I have added this and commited the change.
Please tell me if you encounter further errors.

Cesc wrote:

Hi Anca,

I think I have further info ...
the crash happens for i = j = 0 ...  (2(6495) DBT:dbt_get_refs:
looping ... i=0 (4), j=0(8))
and the reason, i think, is when file has NO data-row ... that is:

file content:
id(int) ...... NO_RETURN
NO_DATA_ROWS

If I add just a return after the table fields definition, it seems to be ok ...

Cesc

On 4/13/07, Anca-Maria Vamanu <[EMAIL PROTECTED]> wrote:

For this problem with watchers table I can't figure where the problem
is. It would be very helpful if you would print the values for i and j
and send the result.

Cesc wrote:

> I think related .... in another run of openser, i got another crash
> ... same backtrace on gdb ...
>
> [EMAIL PROTECTED] openser.1.2]#  5(5142) PRESENCE:
> msg_watchers_clean:cleaning pending subscriptions
> 5(5142) DBT:dbt_load_file: request for table [watchers]
> 5(5142) DBT:dbt_load_file: db is [/cafes/openser.1.2/cafesConf/dbtext]
> 5(5142) DBT:dbt_load_file: loading file
> [/cafes/openser.1.2/cafesConf/dbtext/watchers]
> 5(5142) DBT:dbt_load_file: state FLINE!
> 5(5142) DBT: column[0] is INT!
> 5(5142) DBT:dbt_load_file: state FLINE!
> 5(5142) DBT: column[1] is STR!
> 5(5142) DBT:dbt_load_file: state FLINE!
> 5(5142) DBT: column[2] is STR!
> 5(5142) DBT:dbt_load_file: state FLINE!
> 5(5142) DBT: column[3] is STR!
> 5(5142) DBT:dbt_load_file: state FLINE!
> 5(5142) DBT: column[4] is STR!
> 5(5142) DBT:dbt_load_file: state FLINE!
> 5(5142) DBT: column[5] is STR!
> 5(5142) DBT:dbt_load_file: state FLINE!
> 5(5142) DBT: column[6] is STR!
> 5(5142) DBT:dbt_load_file: state FLINE!
> 5(5142) DBT: column[7] is INT!
> 5(5142) DTB:dbt_db_get_table: watchers
>
>
> On 4/13/07, Cesc <[EMAIL PROTECTED]> wrote:
>
>> Hi,
>>
>> doing some progress ... still with openser1.2 and dbtext ...
>>
>> on xlite shutdown ... crash
>>
>> #0  0xb7f89e52 in dbt_get_refs (_dtp=0xb5d6c848, _k=0xbffa6ea0, _n=2)
>> at dbt_res.c:168
>> 168
>> if(strlen(_k[i])==_dtp->colv[j]->name.len
>> (gdb)
>> (gdb)
>> (gdb) bt
>> #0  0xb7f89e52 in dbt_get_refs (_dtp=0xb5d6c848, _k=0xbffa6ea0, _n=2)
>> at dbt_res.c:168
>> #1  0xb7f8495b in dbt_delete (_h=0x816fd98, _k=0xbffa6ea0,
>> _o=0xbffa6e94, _v=0xbffa6e64, _n=2) at dbt_base.c:455
>> #2  0xb7dba7e9 in msg_watchers_clean (ticks=100, param=0x0) at
>> subscribe.c:539
>> #3  0x080a73bf in run_timer () at timer.c:226
>> #4  0x0806ec11 in main_loop () at main.c:896
>> #5  0x080704cb in main (argc=3, argv=0xbffa7054) at main.c:1399
>>
>
> _______________________________________________
> Devel mailing list
> [EMAIL PROTECTED]
> http://openser.org/cgi-bin/mailman/listinfo/devel
>





_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://openser.org/cgi-bin/mailman/listinfo/devel

Reply via email to