Hello, After upgrading to the latest github version, I always have the cachedb_redis module that crashed when using raw queries (SIGCHILD 11).
-> redis data : HMSET 10932.sip.anydomain.com uri "[email protected]" ha1 "ha1passwd" frtimer "3" frinvtimer "15" stimeout "3600" cli "Sam 10932" clip "0123456789" clir "0" e164 "+33123456789" cfbk "none" cfby "none" cfna "none" cfu "none" rtpp "vrf" vrfid "5411" siteid "10" dpcc "33" srv "none" fork "none" ua "snom" HMSET 10102.sip.anydomain.com uri "[email protected]" ha1 "ha1passwd" frtimer "3" frinvtimer "15" stimeout "3600" cli "Room X" clip "0123456789" clir "0" e164 "+33123456789" cfbk "none" cfby "none" cfna "none" cfu "none" rtpp "vrf" vrfid "5411" siteid "10" dpcc "33" srv "none" fork "none" ua "snom" -> config sample : loadmodule "cachedb_redis.so" modparam("cachedb_redis"," cachedb_url","redis://172.21.43.65:6379/") -> routing : $var(hash) = "10932.sip.anydomain.com"; if (cache_raw_query("redis","HMGET $var(hash) uri ha1 frtimer frinvtimer stimeout clip clir e164 cfbk cfby cfna cfu rtpp vrfid siteid dpcc srv fork ua","$avp(e)")) { $var(i) = 0; while ($(avp(e)[$var(i)]) != NULL) { xlog("L_INFO","$var(log) at index $var(i) value is: $(avp(e)[$var(i)])"); $var(i) = $var(i) + 1; } -> debug log : log scp1a[14884]: DBG:core:cachedb_raw_query: from script [redis] - no grp log scp1a[14884]: DBG:cachedb_redis:redis_raw_query_handle_reply: Unexpected data type 4 found in array - skipping log scp1a[14884]: DBG:cachedb_redis:redis_raw_query_handle_reply: Unexpected data type 4 found in array - skipping log scp1a[14884]: DBG:cachedb_redis:redis_raw_query_handle_reply: Unexpected data type 4 found in array - skipping log scp1a[14878]: DBG:core:handle_sigs: status = 139 log scp1a[14878]: INFO:core:handle_sigs: child process 14884 exited by a signal 11 log scp1a[14878]: INFO:core:handle_sigs: core was generated log scp1a[14878]: INFO:core:handle_sigs: terminating due to SIGCHLD log scp1a[14900]: INFO:core:sig_usr: signal 15 received -> core dump / bt : it's f**cking huge, so I only indicates the beginning here, you can retrieve the full backtrace here : http://pastebin.com/mBTa60i5 here's the few first lines : (gdb) bt full #0 0x0000000000504f0d in fm_free (qm=0x7ffad7276010, p=0x8) at mem/f_malloc.c:448 f = 0xfffffffffffffff0 n = <optimized out> #1 0x000000000057c2a0 in free_raw_fetch (reply=0x7ffad7365de0, no_key=no_key@entry=1, no_val=21) at cachedb/cachedb.c:764 i = <optimized out> j = <optimized out> #2 0x000000000042222d in do_action (a=a@entry=0x7ffad72e3ae0, msg=msg@entry=0x7ffad7362590) at action.c:1482 val_s = {s = 0xa1298a18 <Address 0xa1298a18 out of bounds>, len = 0} i = -1 avp_val = {n = -684303888, s = {s = 0x7ffad73659f0 "ibrowse", len = 7}} j = <optimized out> key_number = 21 adv_addr = {s = 0xa1298a18 <Address 0xa1298a18 out of bounds>, len = 0} increment = <optimized out> decrement = <optimized out> avp_type = 2 aux = {s = 0xa1298a18 <Address 0xa1298a18 out of bounds>, len = 0} cdb_reply = 0x7ffad7365de0 val_number = 1 it = <optimized out> avp_name = {n = 64, s = {s = 0x40 <Address 0x40 out of bounds>, len = 8224}} ret = 1 v = <optimized out> to = <optimized out> p = <optimized out> tmp = <optimized out> new_uri = <optimized out> end = <optimized out> crt = <optimized out> len = <optimized out> i = <optimized out> user = 0 expires = 0 vals = {{s = 0xa1298a18 <Address 0xa1298a18 out of bounds>, len = 0}, {s = 0x80c780 "`\233\200", len = -1591112528}, {s = 0x6 <Address 0x6 out of bounds>, len = -1591112512}, {s = 0x80c780 "`\233\200", len = -666036215}, {s = 0x0, len = 1}} result = {s = 0x1 <Address 0x1 out of bounds>, len = 0} uri = {user = {s = 0x1 <Address 0x1 out of bounds>, len = 0}, passwd = {s = 0x7ffad85dbff2 "", len = 0}, host = { s = 0x300000006 <Address 0x300000006 out of bounds>, len = -1591112432}, port = {s = 0x8089d0 "", len = 0}, params = {s = 0x0, len = 1}, headers = { s = 0x1 <Address 0x1 out of bounds>, len = 0}, port_no = 25, proto = 0, type = 32767, transport = {s = 0x0, len = 0}, ttl = { s = 0x7ffad84d5e20 "\354\301\020", len = 5978651}, user_param = {s = 0xa1298b78 <Address 0xa1298b78 out of bounds>, len = -1}, maddr = { s = 0x3a24 <Address 0x3a24 out of bounds>, len = 8439680}, method = {s = 0x7fffa1298d90 "\200ǀ", len = 32}, lr = {s = 0x7fffa1298ea0 " ", len = 8439680}, r2 = {s = 0x7ffad84d1809 "f\203;", len = -664944656}, gr = {s = 0x6 <Address 0x6 out of bounds>, len = 1}, transport_val = { s = 0x7ffad85034d6 "H\211E(\353\277\017\037@", len = -762346944}, ttl_val = {s = 0x7ffad84d5e3c "\200\275\250\372\377\377", len = -664944656}, user_param_val = {s = 0x7fffa1298764 "", len = -1591112840}, maddr_val = {s = 0x0, len = -664944657}, method_val = { s = 0xa1298c57a1298830 <Address 0xa1298c57a1298830 out of bounds>, len = 0}, lr_val = {s = 0x0, len = 33}, r2_val = {s = 0x0, len = 0}, gr_val = { s = 0x715720 "", len = -1591122080}, u_name = {{s = 0xa1298c58 <Address 0xa1298c58 out of bounds>, len = -1}, {s = 0x1 <Address 0x1 out of bounds>, len = -662614432}, {s = 0x30 <Address 0x30 out of bounds>, len = 32}, {s = 0x7fffa1298c57 "", len = 0}, {s = 0x7ffad8814e60 "", len = 5}, { s = 0x19 <Address 0x19 out of bounds>, len = -1591112617}, {s = 0x30 <Address 0x30 out of bounds>, len = 32}, { s = 0x7ffad84d5e3c "\200\275\250\372\377\377", len = -762346951}, {s = 0x64 <Address 0x64 out of bounds>, len = -1591112616}, {s = 0x0, len = -762346965}}, u_val = {{s = 0xd8509c00 <Address 0xd8509c00 out of bounds>, len = 0}, {s = 0xd8814e60 <Address 0xd8814e60 out of bounds>, len = 64}, { s = 0x7ffad8814eb8 "\320\316\200", len = -662614328}, {s = 0x0, len = 49}, {s = 0x4d8509b1c <Address 0x4d8509b1c out of bounds>, len = 96}, { s = 0x4d8552e4b <Address 0x4d8552e4b out of bounds>, len = 32}, {s = 0x7ffad8814eb8 "\320\316\200", len = -662614328}, {s = 0x80c380 "", len = 12}, { s = 0x200000040 <Address 0x200000040 out of bounds>, len = 64}, {s = 0x2d850a8c3 <Address 0x2d850a8c3 out of bounds>, len = 32}}, u_params_no = 50968} next_hop = {user = {s = 0x7ffad8814e60 "", len = 12}, passwd = {s = 0x6 <Address 0x6 out of bounds>, len = 8439576}, host = {s = 0x6 <Address 0x6 out of bounds>, len = -665805824}, port = {s = 0x80 <Address 0x80 out of bounds>, len = 8439576}, params = {s = 0x716d80 "pnq", len = -1591113044}, headers = { s = 0x6 <Address 0x6 out of bounds>, len = 8439552}, port_no = 28032, proto = 113, type = ERROR_URI_T, transport = { s = 0x7ffad854a910 "\205\300y\314H\203\304\030\270\f", len = -662614432}, ttl = {s = 0x80c708 "\003", len = -1591112864}, user_param = {s = 0x80c700 "\006", len = 7433600}, maddr = {s = 0x7fffa1298aac "\005", len = 6}, method = {s = 0x7fffa1298b60 "", len = 32}, lr = { s = 0x7ffad8533066 "L\213L$(\351\030\355\377\377Hc\355L\211\357\276\060", len = -662614328}, r2 = {s = 0x7fffa1298b60 "", len = 4}, gr = { s = 0x200718178 <Address 0x200718178 out of bounds>, len = 64}, transport_val = {s = 0x2 <Address 0x2 out of bounds>, len = -1591112624}, ttl_val = { s = 0x5a1298b50 <Address 0x5a1298b50 out of bounds>, len = -1591113050}, user_param_val = {s = 0x7ffa00000000 <Address 0x7ffa00000000 out of bounds>, len = 824806032}, maddr_val = {s = 0x7fffa1298aa6 "", len = -662630368}, method_val = {s = 0x7fffa1298c2f "", len = 6977456}, lr_val = { s = 0x7fffa1298a50 "\200\213)\241\377\177", len = 16}, r2_val = {s = 0x7fffa1298c40 "`4\357\277\372\177", len = -1591112832}, gr_val = { s = 0x7ffad8814e60 "", len = -1591112800}, u_name = {{s = 0x9 <Address 0x9 out of bounds>, len = 1}, {s = 0x9 <Address 0x9 out of bounds>, len = -1591112592}, {s = 0x7ffad8509b1c "\203=\351\352\060", len = -684303776}, { s = 0x7ffad8552325 "D\213\245L\377\377\377\061\300E\205\344\017\204o\374\377\377H\213\275p\377\377\377\350\035\250\365\377\061\300\351\\\374\377\377H\213M\230\213U\314D\213\061A\215v\001;q\004\211\061\017\204\250", len = 0}, {s = 0x500000000 <Address 0x500000000 out of bounds>, len = 6}, {s = 0x7ffad85dbfeb "T ", len = 8440300}, {s = 0x7ffad88113e0 " \r\201\330\372\177", len = 8440300}, {s = 0x7 <Address 0x7 out of bounds>, len = 8187}, { s = 0x7ffad8531e79 "HcD$@D\213\\$\bH\215D\005", len = -684303776}, {s = 0x7fff00000000 <Address 0x7fff00000000 out of bounds>, len = -662614432}}, u_val = { {s = 0x0, len = 3}, {s = 0x7fffa1298c40 "`4\357\277\372\177", len = -684837112}, {s = 0x47790a "H\211\305H\205\300\017\204", <incomplete sequence \352>, len = -1591112352}, {s = 0x0, len = -88}, {s = 0x2 <Address 0x2 out of bounds>, len = 63}, {s = 0x50080e9e0 <Address 0x50080e9e0 out of bounds>, len = 0}, { s = 0x0, len = -1074842528}, {s = 0x19 <Address 0x19 out of bounds>, len = -662630368}, {s = 0x7fffa1298d8f "", len = 6977456}, {s = 0x7ffad72e36f0 "\004", len = -1591112640}}, u_params_no = 9616} u = <optimized out> port = <optimized out> cmatch = <optimized out> aitem = <optimized out> adefault = <optimized out> spec = <optimized out> model = <optimized out> val = {rs = {s = 0x3f <Address 0x3f out of bounds>, len = -1591112384}, ri = 8439680, flags = 0} pve = <optimized out> name_s = { s = 0x61c620 "HMGET 10102.sip.anydomain.com ha1 frtimer frinvtimer stimeout \n clip clir e164 cfbk cfby cfna cfu rtpp vrfid siteid dpcc dpintpfx dpextpfx dpnblen \n srv fork ua state", len = 183} start = {tv_sec = 1398273497, tv_usec = 724450} route_params_bak = <optimized out> route_params_number_bak = <optimized out> aux_counter = <optimized out> __FUNCTION__ = "do_action" #3 0x00000000004228e2 in run_action_list (a=<optimized out>, msg=msg@entry=0x7ffad7362590) at action.c:171 ret = <optimized out> t = 0x7ffad72e3ae0 Thanks for your help, really needed since v.1.10 and cache_raw_query. Why not create a dedicated cachedb_redis with all the functionalities (HGETALL, and so on ?) Samuel MULLER Telecom & Media Consultant co-owner L33 NETWORKS +33 663 128 505 [email protected] www.l33.fr _______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
