<div dir="ltr">Hi,<div><br></div><div style>Since there is no way to limit the result set to 1, I tried to use raw_query inside msilo module. Everytime it executes, it is crashing. The same query if I run in mysql shell, it is returning successfully.</div>
<div style><br></div><div style>Here is the code That I added:</div><div style><br></div><div style><div>query_len = snprintf(query, 2048, &quot;SELECT *  FROM %.*s  WHERE %.*s=&#39;%.*s&#39; AND %.*s=&#39;%.*s&#39; AND %.*s!=%i AND %.*s&lt;%i LIMIT 1;&quot;, ms_db_table.len, ms_db_table.s, sc_uri_touser.len, sc_uri_touser.s, puri.user.len, puri.user.s, sc_uri_tohost.len, sc_uri_tohost.s, puri.host.len, puri.host.s, sc_status.len, sc_status.s, 200, sc_status.len, sc_status.s, MSG_NOTIFY_OFFSET);</div>
<div>        if (query_len &lt; 0) {</div><div>                LM_ERR(&quot;error in sql snprintf&quot;);</div><div>                goto error;</div><div>        }</div><div><br></div><div>        LM_DBG(&quot;m_dump_msg: Query=%s\n&quot;, query);</div>
<div><br></div><div>        query_str.s = query;</div><div>        query_str.len = query_len;</div><div>        if (msilo_dbf.raw_query(db_con, &amp;query_str, &amp;db_res) &lt; 0) {</div><div>                LM_ERR(&quot;Failed to query database. Query = %s\n&quot;, query);</div>
<div>                goto error;</div><div>        }</div><div><br></div><div style>The Debug Log at Level 4 shows following:</div><div style><br></div><div style><div>11(7520) DEBUG: msilo [msilo.c:1120]: m_dump_msg: Query=SELECT *  FROM silo  WHERE tousername=&#39;968257197&#39; AND todomain=&#39;50.62.1.7&#39; AND status!=200 AND status&lt;1000 LIMIT 1;</div>
<div><div>11(7520) DEBUG: &lt;core&gt; [db_res.c:118]: allocate 48 bytes for result set at 0x7fdd4b605540</div><div>11(7520) DEBUG: db_mysql [km_res.c:68]: 16 columns returned from the query</div><div>11(7520) DEBUG: &lt;core&gt; [db_res.c:155]: allocate 128 bytes for result names at 0x7fdd4b5d8dc0</div>
<div>11(7520) DEBUG: &lt;core&gt; [db_res.c:165]: allocate 64 bytes for result types at 0x7fdd4b5d8e60</div><div>11(7520) DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[0] at 0x7fdd4b5d8d90</div><div>11(7520) DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0x7fdd4b5d8d90)[0]=[id]</div>
<div>11(7520) DEBUG: db_mysql [km_res.c:100]: use DB1_INT result type</div><div>11(7520) DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[1] at 0x7fdd4b5d8d60</div><div>11(7520) DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0x7fdd4b5d8d60)[1]=[src_addr]</div>
<div>11(7520) DEBUG: db_mysql [km_res.c:136]: use DB1_STRING result type</div><div>11(7520) DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[2] at 0x7fdd4b5d8d30</div><div>11(7520) DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0x7fdd4b5d8d30)[2]=[dst_addr]</div>
<div>11(7520) DEBUG: db_mysql [km_res.c:136]: use DB1_STRING result type<br></div></div><div style><br></div><div style>&lt;skip&gt;</div><div style><div><br></div><div>11(7520) DEBUG: &lt;core&gt; [db_val.c:117]: converting STRING [ac3aeddd9b6f45e6822c824aa2c133b2]</div>
<div>11(7520) DEBUG: &lt;core&gt; [db_val.c:73]: converting INT [0]</div><div>11(7520) DEBUG: &lt;core&gt; [db_val.c:73]: converting INT [1]</div><div>26(7552) : &lt;core&gt; [pass_fd.c:293]: ERROR: receive_fd: EOF on 22</div>
<div>26(7552) DEBUG: &lt;core&gt; [tcp_main.c:3592]: DBG: handle_ser_child: dead child 11, pid 7520 (shutting down?)</div><div>26(7552) DEBUG: &lt;core&gt; [io_wait.h:617]: DBG: io_watch_del (0x842d20, 22, -1, 0x0) fd_no=44 called</div>
<div>26(7552) DEBUG: &lt;core&gt; [tcp_main.c:3353]: DBG: handle_tcp_child: dead tcp child 1 (pid 7520, no 11) (shutting down?)</div><div>26(7552) DEBUG: &lt;core&gt; [io_wait.h:617]: DBG: io_watch_del (0x842d20, 25, -1, 0x0) fd_no=43 called</div>
<div> 0(7509) ALERT: &lt;core&gt; [main.c:787]: child process 7520 exited by a signal 11</div><div> 0(7509) ALERT: &lt;core&gt; [main.c:790]: core was not generated</div><div> 0(7509) INFO: &lt;core&gt; [main.c:802]: INFO: terminating due to SIGCHLD</div>
<div><br></div><div><br></div></div></div><div style>As you can see something happening to Database connection. Not sure why I am unable to use raw_query. Normal API query from msilo works just fine.</div><div style><br></div>
<div style>What am I doing wrong to make it crash?</div><div style><br></div><div style>Thanks</div><div style>Krish Kura</div></div></div>