[OpenSER-Devel] [ openser-Bugs-1752902 ] lcr_reload doesn't work with dbtext with db_mode 1

SourceForge.net noreply at sourceforge.net
Thu Oct 4 17:55:27 CEST 2007


Bugs item #1752902, was opened at 2007-07-12 15:11
Message generated for change (Comment added) made by osas
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1752902&group_id=139143

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: ver devel
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Ovidiu Sas (osas)
Assigned to: Daniel-Constantin Mierla (miconda)
Summary: lcr_reload doesn't work with dbtext with db_mode 1

Initial Comment:
>From the config:

loadmodule "dbtext.so"
modparam("dbtext", "db_mode", 1)

loadmodule "mi_fifo.so"
modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")

loadmodule "lcr.so"
modparam("lcr", "db_url", "dbtext:///usr/local/etc/openser/openser")
modparam("lcr", "fr_inv_timer_avp", "$avp(i:704)")
modparam("lcr", "gw_uri_avp", "$avp(i:709)")
modparam("lcr", "ruri_user_avp", "$avp(i:500)")
modparam("lcr", "contact_avp", "$avp(i:711)")
modparam("lcr", "rpid_avp", "$avp(i:302)")


Here's the content of the lcr table:
====================================
prefix(str) from_uri(str,null) grp_id(int) priority(int)
1:1:0:0
2:2:1:1
3:3:2:2


# openserctl lcr show
database engine 'DBTEXT' loaded
Control engine 'FIFO' loaded
lcr routes
1:1:0:0
2:2:1:1
3:3:2:2
lcr gateway groups
lcr gateways


# openserctl fifo lcr_dump
database engine 'DBTEXT' loaded
Control engine 'FIFO' loaded
entering fifo_cmd lcr_dump
RULE:: PREFIX=3 FROM_URI=3 GRP_ID=2 PRIORITY=2
RULE:: PREFIX=2 FROM_URI=2 GRP_ID=1 PRIORITY=1
RULE:: PREFIX=1 FROM_URI=1 GRP_ID=0 PRIORITY=0
FIFO command was:
:lcr_dump:openser_receiver_22687


at this point in time we add a new gateway:

# openserctl lcr addroute 4 4 3 3
database engine 'DBTEXT' loaded
Control engine 'FIFO' loaded


# openserctl lcr show
database engine 'DBTEXT' loaded
Control engine 'FIFO' loaded
lcr routes
1:1:0:0
2:2:1:1
3:3:2:2
4:4:3:3
lcr gateway groups
lcr gateways

# openserctl fifo lcr_dump
database engine 'DBTEXT' loaded
Control engine 'FIFO' loaded
entering fifo_cmd lcr_dump
RULE:: PREFIX=3 FROM_URI=3 GRP_ID=2 PRIORITY=2
RULE:: PREFIX=2 FROM_URI=2 GRP_ID=1 PRIORITY=1
RULE:: PREFIX=1 FROM_URI=1 GRP_ID=0 PRIORITY=0
FIFO command was:
:lcr_dump:openser_receiver_22772


now we will perform a reload:

# openserctl fifo lcr_reload
database engine 'DBTEXT' loaded
Control engine 'FIFO' loaded
entering fifo_cmd lcr_reload


... and the prompt never returns ...

And here's the debug output:
============================
Jul 12 15:00:40 oser openser[22624]: DEBUG:mi_fifo:mi_fifo_server: entered
consume
Jul 12 15:00:40 oser openser[22624]: DEBUG:mi_fifo:mi_fifo_server: ****
done consume
Jul 12 15:00:40 oser openser[22624]: DEBUG:mi_fifo:mi_fifo_server: done
parsing the mi tree
Jul 12 15:00:40 oser openser[22624]: DBT:dbt_cache_get_db: looking for db
/usr/local/etc/openser/openser!
Jul 12 15:00:40 oser openser[22624]: DBT:dbt_cache_get_db: db already
cached!
Jul 12 15:00:40 oser openser[22624]: DBT:dbt_cache_get_table: cache or
mtime succeeded
Jul 12 15:00:40 oser openser[22624]: DBT:dbt_query: new res with 7 cols
Jul 12 15:00:40 oser openser[22624]: DBT:dbt_result_new: new res with 7
cols


----------------------------------------------------------------------

>Comment By: Ovidiu Sas (osas)
Date: 2007-10-04 11:55

Message:
Logged In: YES 
user_id=1395524
Originator: YES

I managed to reproduce this again using the latest svn:
version: openser 1.3.0-dev21-notls (i386/linux)
flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, SHM_MEM,
SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
MAX_URI_SIZE 1024, BUF_SIZE 65535
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
svnrevision: 2:2853M
@(#) $Id: main.c 2736 2007-09-11 13:37:02Z bogdan_iancu $
main.c compiled on 10:47:57 Oct  4 2007 with gcc 4.1.2

Here's the backtrace:
(gdb) bt
#0  dbt_db_get_table (_dc=0x4040fe00, _s=0xbffff850) at
../../mem/../fastlock.h:162
#1  0x4001dfd5 in dbt_query (_h=0x8184fc8, _k=0x0, _op=0x0, _v=0x0,
_c=0xbffff950, _n=0, _nc=8, _o=0x0, _r=0xbffff984) at dbt_base.c:193
#2  0x4022e243 in reload_gws () at lcr_mod.c:782
#3  0x40235e27 in mi_lcr_reload (cmd_tree=0x0, param=0x0) at mi.c:41
#4  0x401f90d8 in mi_fifo_server (fifo_stream=0x8285480) at
../../mi/mi.h:84
#5  0x401fafb1 in fifo_process (rank=0) at mi_fifo.c:212
#6  0x080acd18 in start_module_procs () at sr_module.c:571
#7  0x0806aec6 in main (argc=3, argv=Cannot access memory at address 0x4
) at main.c:857

----------------------------------------------------------------------

Comment By: Ovidiu Sas (osas)
Date: 2007-07-17 14:15

Message:
Logged In: YES 
user_id=1395524
Originator: YES

after adding and removing several routes and gateways and running fifo
lcr_reload several times, the fifo lcr_dump displayed some updated tables,
but in the end it locked up:

Here are the debug logs:
 Jul 17 14:48:35 localhost /usr/local/sbin/openser[27818]:
DBT:dbt_cache_get_db: looking for db /usr/local/etc/openser/dbtext! 
Jul 17 14:48:35 localhost /usr/local/sbin/openser[27818]:
DBT:dbt_cache_get_db: db already cached! 

and here's the backtrace:
(gdb) bt
#0  0x40020c9e in tsl () from /usr/local/lib/openser/modules/dbtext.so
#1  0x4002167e in dbt_db_get_table () from
/usr/local/lib/openser/modules/dbtext.so
#2  0x4001e05d in dbt_query () from
/usr/local/lib/openser/modules/dbtext.so
#3  0x4020a581 in reload_gws () from
/usr/local/lib/openser/modules/lcr.so
#4  0x4020f493 in mi_lcr_reload () from
/usr/local/lib/openser/modules/lcr.so
#5  0x401ffcac in run_mi_cmd () from
/usr/local/lib/openser/modules/mi_fifo.so
#6  0x401ff78f in mi_fifo_server () from
/usr/local/lib/openser/modules/mi_fifo.so
#7  0x402004ef in mi_child_init () from
/usr/local/lib/openser/modules/mi_fifo.so
#8  0x0808c384 in init_mod_child ()
#9  0x0808c2d3 in init_mod_child ()
#10 0x0808c4a1 in init_child ()
#11 0x0806a26d in main_loop ()
#12 0x0806b88e in main ()

----------------------------------------------------------------------

Comment By: Ovidiu Sas (osas)
Date: 2007-07-17 12:20

Message:
Logged In: YES 
user_id=1395524
Originator: YES

The code doesn't lock anymore, but the lcr_reload is still not working.

started the server with the following lcr table:
# cat lcr 
prefix(str) from_uri(str,null) grp_id(int) priority(int) 
0:0:0:0
# openserctl fifo lcr_dump
RULE::  PREFIX=0 FROM_URI=0 GRP_ID=0 PRIORITY=0

after that, I have added a new route:
# openserctl lcr addroute 1 1 1 1
# openserctl lcr show
lcr routes
0:0:0:0
1:1:1:1
lcr gateway groups
lcr gateways


then performed a reload:
# openserctl fifo lcr_reload

The debug output:
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]:
DEBUG:mi_fifo:mi_fifo_server: entered consume 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]:
DEBUG:mi_fifo:mi_fifo_server: **** done consume 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]:
DEBUG:mi_fifo:mi_fifo_server: done parsing the mi tree 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]:
DBT:dbt_cache_get_db: looking for db /usr/local/etc/openser/dbtext! 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]:
DBT:dbt_cache_get_db: db already cached! 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]:
DBT:dbt_load_file: request for table [gw] 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]:
DBT:dbt_load_file: db is [/usr/local/etc/openser/dbtext] 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]:
DBT:dbt_load_file: loading file [/usr/local/etc/openser/dbtext/gw] 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]:
DBT:dbt_table_new: mtime is 1184596672 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]: DBT: column[0]
is STR! 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]: DBT: column[1]
is INT! 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]: DBT: column[2]
is STR! 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]: DBT: column[3]
is INT! 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]: DBT: column[4]
is INT! 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]: DBT: column[5]
is INT! 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]: DBT: column[6]
is INT! 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]: DBT: column[7]
is STR! 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]:
DTB:dbt_db_get_table: gw 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]: DBT:dbt_query:
new res with 7 cols 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]:
DBT:dbt_result_new: new res with 7 cols 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]:
DBT:dbt_check_mtime: [lcr] was updated 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]:
DBT:dbt_db_get_table: cache or mtime succeeded 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]: DBT:dbt_query:
new res with 4 cols 
Jul 17 12:52:26 localhost /usr/local/sbin/openser[27818]:
DBT:dbt_result_new: new res with 4 cols 

Interrogation via fifo:
# openserctl fifo lcr_dump
RULE::  PREFIX=0 FROM_URI=0 GRP_ID=0 PRIORITY=0

The second route is not showing up ....

----------------------------------------------------------------------

Comment By: Daniel-Constantin Mierla (miconda)
Date: 2007-07-17 04:59

Message:
Logged In: YES 
user_id=1246013
Originator: NO

I have just applied a fix. Please try again and let me know the result.
Thanks.

----------------------------------------------------------------------

Comment By: Ovidiu Sas (osas)
Date: 2007-07-16 09:35

Message:
Logged In: YES 
user_id=1395524
Originator: YES

After the latest pull from svn openser doesn't start properly.

>From the logs:
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: core dump limits
set to 4294967295 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]:
DEBUG:add_avp_galias: registering <serial_branch> for avp id <16725044> 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: INFO: statistics
manager successfully initialized 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG: init_mod:
dbtext 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG: init_mod:
sl 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: StateLess module
- initializing 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG: MD5
calculated: 329cfeaa6ded039da25ff8cbb8668bd2 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG:
register_stats: sl 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG: init_mod:
tm 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: TM -
initializing... 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: Call-ID
initialization: '6feb8bff' 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG:
lock_initialize: lock initialization started 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG: MD5
calculated: 533cb9e91f4b999cf76861cbb9ed54ed 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG: MD5
calculated: fa997f81440371de71ab448ebdb9af56 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG:
register_stats: tm 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG:
register_mi: tm 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG: init_mod:
rr 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: rr -
initializing 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG: init_mod:
maxfwd 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: Maxfwd module-
initializing 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG: init_mod:
usrloc 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: usrloc -
initializing 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]:
INFO:ul_init_locks: locks array size 512 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG:
register_stats: usrloc 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG:
register_mi: usrloc 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG: init_mod:
registrar 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: registrar -
initializing 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]:
find_cmd_export_t: found <load_sl>(0) in module sl
[/usr/local/lib/openser/modules/] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]:
find_cmd_export_t: found <ul_bind_usrloc>(1) in module usrloc
[/usr/local/lib/openser/modules/] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG:
register_stats: registrar 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG: init_mod:
textops 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: TextOPS -
initializing 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG: init_mod:
mi_fifo 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DBG: mi_fifo:
mi_mod_init: testing fifo existance ... 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DEBUG: init_mod:
lcr 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]:
DEBUG:lcr:mod_init: initializing 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: find_mod_export:
found <db_use_table> in module dbtext [/usr/local/lib/openser/modules/] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: find_mod_export:
found <db_init> in module dbtext [/usr/local/lib/openser/modules/] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: find_mod_export:
found <db_close> in module dbtext [/usr/local/lib/openser/modules/] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: find_mod_export:
found <db_query> in module dbtext [/usr/local/lib/openser/modules/] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: find_mod_export:
<db_fetch_result> in module dbtext not found 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: find_mod_export:
found <db_raw_query> in module dbtext [/usr/local/lib/openser/modules/] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: find_mod_export:
found <db_free_result> in module dbtext [/usr/local/lib/openser/modules/] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: find_mod_export:
found <db_insert> in module dbtext [/usr/local/lib/openser/modules/] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: find_mod_export:
found <db_delete> in module dbtext [/usr/local/lib/openser/modules/] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: find_mod_export:
found <db_update> in module dbtext [/usr/local/lib/openser/modules/] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: find_mod_export:
<db_replace> in module dbtext not found 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: find_mod_export:
<db_last_inserted_id> in module dbtext not found 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: xl_parse_vname:
parsing [$avp(i:704)] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: xl_parse_name:
name [i:704] index [0] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: xl_parse_vname:
avp [i:704] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: xl_parse_vname:
parsing [$avp(i:709)] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: xl_parse_name:
name [i:709] index [0] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: xl_parse_vname:
avp [i:709] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: xl_parse_vname:
parsing [$avp(i:500)] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: xl_parse_name:
name [i:500] index [0] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: xl_parse_vname:
avp [i:500] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: xl_parse_vname:
parsing [$avp(i:711)] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: xl_parse_name:
name [i:711] index [0] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: xl_parse_vname:
avp [i:711] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: xl_parse_vname:
parsing [$avp(i:302)] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: xl_parse_name:
name [i:302] index [0] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: xl_parse_vname:
avp [i:302] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]:
DBT:dbt_cache_get_db: looking for db /usr/local/etc/openser/dbtext! 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]:
DBT:dbt_cache_get_db: new db! 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]:
DBT:dbt_load_file: request for table [version] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]:
DBT:dbt_load_file: db is [/usr/local/etc/openser/dbtext] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]:
DBT:dbt_load_file: loading file [/usr/local/etc/openser/dbtext/version] 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]:
DBT:dbt_table_new: mtime is 1184594731 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DBT: column[0]
is STR! 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DBT: column[1]
is INT! 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]:
DTB:dbt_db_get_table: version 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]: DBT:dbt_query:
new res with 1 cols 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]:
DBT:dbt_result_new: new res with 1 cols 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]:
DBT:dbt_cache_get_db: looking for db /usr/local/etc/openser/dbtext! 
Jul 16 10:10:24 localhost /usr/local/sbin/openser[16743]:
DBT:dbt_cache_get_db: db already cached! 


# gdb --pid=16743 /usr/local/sbin/openser
GNU gdb 6.4.90-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "i486-linux-gnu"...Using host libthread_db
library "/lib/tls/libthread_db.so.1".

Attaching to program: /usr/local/sbin/openser, process 16743
Reading symbols from /lib/tls/libdl.so.2...done.
Loaded symbols for /lib/tls/libdl.so.2
Reading symbols from /lib/tls/libresolv.so.2...done.
Loaded symbols for /lib/tls/libresolv.so.2
Reading symbols from /lib/tls/libc.so.6...done.
Loaded symbols for /lib/tls/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /usr/local/lib/openser/modules/dbtext.so...done.
Loaded symbols for /usr/local/lib/openser/modules/dbtext.so
Reading symbols from /usr/local/lib/openser/modules/sl.so...done.
Loaded symbols for /usr/local/lib/openser/modules/sl.so
Reading symbols from /usr/local/lib/openser/modules/tm.so...done.
Loaded symbols for /usr/local/lib/openser/modules/tm.so
Reading symbols from /usr/local/lib/openser/modules/rr.so...done.
Loaded symbols for /usr/local/lib/openser/modules/rr.so
Reading symbols from /usr/local/lib/openser/modules/maxfwd.so...done.
Loaded symbols for /usr/local/lib/openser/modules/maxfwd.so
Reading symbols from /usr/local/lib/openser/modules/usrloc.so...done.
Loaded symbols for /usr/local/lib/openser/modules/usrloc.so
Reading symbols from /usr/local/lib/openser/modules/registrar.so...done.
Loaded symbols for /usr/local/lib/openser/modules/registrar.so
Reading symbols from /usr/local/lib/openser/modules/textops.so...done.
Loaded symbols for /usr/local/lib/openser/modules/textops.so
Reading symbols from /usr/local/lib/openser/modules/mi_fifo.so...done.
Loaded symbols for /usr/local/lib/openser/modules/mi_fifo.so
Reading symbols from /usr/local/lib/openser/modules/lcr.so...done.
Loaded symbols for /usr/local/lib/openser/modules/lcr.so
Reading symbols from /lib/tls/libnss_files.so.2...done.
Loaded symbols for /lib/tls/libnss_files.so.2
Reading symbols from /lib/libnss_mdns4_minimal.so.2...done.
Loaded symbols for /lib/libnss_mdns4_minimal.so.2
Reading symbols from /lib/tls/libnss_dns.so.2...done.
Loaded symbols for /lib/tls/libnss_dns.so.2
0x400f7b67 in sched_yield () from /lib/tls/libc.so.6
(gdb) 
(gdb) 
(gdb) 
(gdb) bt
#0  0x400f7b67 in sched_yield () from /lib/tls/libc.so.6
#1  0x4001f0dc in get_lock () from
/usr/local/lib/openser/modules/dbtext.so
#2  0x4001fa4c in dbt_db_del_table () from
/usr/local/lib/openser/modules/dbtext.so
#3  0x4001fd21 in dbt_db_get_table () from
/usr/local/lib/openser/modules/dbtext.so
#4  0x4001c0da in dbt_query () from
/usr/local/lib/openser/modules/dbtext.so
#5  0x080c4403 in table_version ()
#6  0x401f9edb in lcr_db_ver () from
/usr/local/lib/openser/modules/lcr.so
#7  0x401fabac in mod_init () from /usr/local/lib/openser/modules/lcr.so
#8  0x0808c556 in init_mod ()
#9  0x0808c79d in init_modules ()
#10 0x0806b831 in main ()

----------------------------------------------------------------------

Comment By: Daniel-Constantin Mierla (miconda)
Date: 2007-07-16 08:33

Message:
Logged In: YES 
user_id=1246013
Originator: NO

Can you get the latest svn and try again?

Let me know any strange behavior. Do you still have all openser processes
running, any 100% CPU? Attach to MI process via gdb and print the
backtrace.

----------------------------------------------------------------------

Comment By: Ovidiu Sas (osas)
Date: 2007-07-14 08:57

Message:
Logged In: YES 
user_id=1395524
Originator: YES

Yes, it is related to the new functionality of dbtext (db_mode 1).
If the db_mode is not set, 'openserctl fifo lcr_reload' returns properly
from execution:

# openserctl fifo lcr_reload
database engine 'DBTEXT' loaded
Control engine 'FIFO' loaded
entering fifo_cmd lcr_reload
FIFO command was:
:lcr_reload:openser_receiver_13343


#

Here are the debug logs:
========================
Jul 14 08:49:17 oser openser[13092]: DEBUG:mi_fifo:mi_fifo_server: entered
consume 
Jul 14 08:49:17 oser openser[13092]: DEBUG:mi_fifo:mi_fifo_server: ****
done consume 
Jul 14 08:49:17 oser openser[13092]: DEBUG:mi_fifo:mi_fifo_server: done
parsing the mi tree 
Jul 14 08:49:17 oser openser[13092]: DBT:dbt_cache_get_db: looking for db
/usr/local/etc/openser/openser! 
Jul 14 08:49:17 oser openser[13092]: DBT:dbt_cache_get_db: db already
cached! 
Jul 14 08:49:17 oser openser[13092]: DBT:dbt_cache_get_table: cache or
mtime succeeded 
Jul 14 08:49:17 oser openser[13092]: DBT:dbt_query: new res with 7 cols 
Jul 14 08:49:17 oser openser[13092]: DBT:dbt_result_new: new res with 7
cols 
Jul 14 08:49:17 oser openser[13092]: DBT:dbt_cache_get_table: cache or
mtime succeeded 
Jul 14 08:49:17 oser openser[13092]: DBT:dbt_query: new res with 4 cols 
Jul 14 08:49:17 oser openser[13092]: DBT:dbt_result_new: new res with 4
cols 

Of course, in this mode lcr_reload is a noop (the table is already cached
in the memory).
The whole purpose of this test was to check the new dbtext enhancement
committed by miconda.

----------------------------------------------------------------------

Comment By: Ovidiu Sas (osas)
Date: 2007-07-14 08:50

Message:
Logged In: YES 
user_id=1395524
Originator: YES

Update from juha:
=================
Date: 2007-07-14 05:31
Sender: nobody
Logged In: NO 

i didn't find anything in lcr module that would explain lcr_reload mi
command not returning.  lcr_reload calls reload_gws(), which contains two
controlled loops, i.e., they cannot loop forever.
so perhaps the bug is in dbtext implementation.

-- juha

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1752902&group_id=139143



More information about the Devel mailing list