Hi,<div><br></div><div>I tried compiling with -ggdb to get a useful backtrace and I got nothing. I think the problem may be in the way I'm initializing my module because I do get compiler warnings. Thanks for the help.</div>
<div><br></div><div>-Daniel</div><div><br></div><div><div>(gdb) bt full</div><div>#0 0x20ec8353 in ?? ()</div><div>No symbol table info available.</div><div>#1 0x0809de2d in start_module_procs () at sr_module.c:560</div>
<div> m = (struct sr_module *) 0x8179ad0</div><div> n = 0</div><div> l = 135742720</div><div> x = 0</div><div> __FUNCTION__ = "start_module_procs"</div><div>#2 0x080633b9 in main_loop () at main.c:675</div>
<div> i = 516746184</div><div> pid = 134863859</div><div> si = (struct socket_info *) 0x28</div><div> chd_rank = 0</div><div> __FUNCTION__ = "main_loop"</div><div>#3 0x080655bd in main (argc=1, argv=0xbfbfec88) at main.c:1319</div>
<div> cfg_log_stderr = 0</div><div> cfg_stream = (FILE *) 0x28260e20</div><div> c = -1</div><div> r = 0</div><div> tmp = 0xbfbfed04 "\004"</div><div> tmp_len = 1</div><div>
port = 0</div><div> proto = 0</div><div> options = 0x80fc9ac "f:cCm:b:l:n:N:rRvdDETSVhw:t:u:g:P:G:W:"</div><div> ret = -1</div><div> seed = 2478508788</div><div> rfd = 4</div>
<div>---Type <return> to continue, or q <return> to quit---</div><div> __FUNCTION__ = "main"</div><div><br></div><div><br></div><div><div>page.h:38: warning: initialization from incompatible pointer type</div>
<div>page.h:38: warning: initialization makes pointer from integer without a cast</div><div>page.h:39: warning: initialization from incompatible pointer type</div><div>page.h:39: warning: initialization makes pointer from integer without a cast</div>
<div>page.h:40: warning: initialization from incompatible pointer type</div><div>page.h:40: warning: initialization makes pointer from integer without a cast</div><div>page.h:89: warning: initialization from incompatible pointer type</div>
<div>page.h:91: warning: initialization from incompatible pointer type</div><div>page.h:93: warning: initialization from incompatible pointer type</div><div><br></div><div><br></div><div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400">
/* Function prototypes */<span style="color: #000000"> </span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> <span style="color: #aa0d91">int</span> mod_init(<span style="color: #aa0d91">void</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> <span style="color: #aa0d91">void</span> mod_destroy(<span style="color: #aa0d91">void</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> <span style="color: #aa0d91">int</span> child_init(<span style="color: #aa0d91">int</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> <span style="color: #aa0d91">int</span> pagemod_pagefixup(<span style="color: #aa0d91">struct</span> sip_msg *m, <span style="color: #aa0d91">char</span> *unused1, <span style="color: #aa0d91">char</span> *unused2);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> <span style="color: #aa0d91">int</span> pagemod_voicemail_transfer(<span style="color: #aa0d91">struct</span> sip_msg *m, <span style="color: #aa0d91">char</span> *unused1, <span style="color: #aa0d91">char</span> *unused2);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> <span style="color: #aa0d91">int</span> replace_to_uri(<span style="color: #aa0d91">struct</span> sip_msg *msg, str *uri);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> <span style="color: #aa0d91">int</span> check_passt(<span style="color: #aa0d91">struct</span> sip_msg *m, <span style="color: #aa0d91">char</span> *unused1, <span style="color: #aa0d91">char</span> *unused2);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"><br></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400">/* Exported module paramaters */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> <span style="color: #aa0d91">char</span> *gateway = <span style="color: #1c00cf">'\0'</span>;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> <span style="color: #aa0d91">char</span> *umgw = <span style="color: #1c00cf">'\0'</span>;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> <span style="color: #aa0d91">char</span> *dbhost = <span style="color: #1c00cf">'\0'</span>;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> <span style="color: #aa0d91">char</span> *dbuname = <span style="color: #1c00cf">'\0'</span>;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> <span style="color: #aa0d91">char</span> *dbpass = <span style="color: #1c00cf">'\0'</span>;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> <span style="color: #aa0d91">char</span> *dbname = <span style="color: #1c00cf">'\0'</span>;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #aa0d91">static<span style="color: #000000"> </span>unsigned<span style="color: #000000"> </span>short<span style="color: #000000"> dbport = </span><span style="color: #1c00cf">0</span><span style="color: #000000">;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> <span style="color: #aa0d91">char</span> *vdbhost = <span style="color: #1c00cf">'\0'</span>;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> <span style="color: #aa0d91">char</span> *vdbuname = <span style="color: #1c00cf">'\0'</span>;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> <span style="color: #aa0d91">char</span> *vdbpass = <span style="color: #1c00cf">'\0'</span>;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> <span style="color: #aa0d91">char</span> *vdbname = <span style="color: #1c00cf">'\0'</span>;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #aa0d91">static<span style="color: #000000"> </span>unsigned<span style="color: #000000"> </span>short<span style="color: #000000"> vdbport = </span><span style="color: #1c00cf">0</span><span style="color: #000000">;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"><br></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400">/* Make SER happy */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">MODULE_VERSION</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"><br></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400">/* SER exports */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> cmd_export_t cmds[]=</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">{</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #c41a16">"pagefixup"</span>, pagemod_pagefixup, <span style="color: #1c00cf">0</span>, <span style="color: #1c00cf">0</span>, REQUEST_ROUTE | FAILURE_ROUTE | ONREPLY_ROUTE | BRANCH_ROUTE },</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #c41a16">"voicemail_transfer"</span>, pagemod_voicemail_transfer, <span style="color: #1c00cf">0</span>, <span style="color: #1c00cf">0</span>, REQUEST_ROUTE | FAILURE_ROUTE | ONREPLY_ROUTE | BRANCH_ROUTE },</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #c41a16">"check_passt"</span>, check_passt, <span style="color: #1c00cf">0</span>, <span style="color: #1c00cf">0</span>, REQUEST_ROUTE | BRANCH_ROUTE},</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #1c00cf">0</span>, <span style="color: #1c00cf">0</span>, <span style="color: #1c00cf">0</span>, <span style="color: #1c00cf">0</span>, <span style="color: #1c00cf">0</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">};</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"> </p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400">/*</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"> * Script parameters</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"> */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> param_export_t mod_params[]=</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">{</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #c41a16">"gateway"</span>, STR_PARAM, &gateway},</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #c41a16">"umgw"</span>, STR_PARAM, &umgw},</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #c41a16">"dbhost"</span>, STR_PARAM, &dbhost},</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #c41a16">"dbuname"</span>, STR_PARAM, &dbuname},</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #c41a16">"dbpass"</span>, STR_PARAM, &dbpass},</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #c41a16">"dbname"</span>, STR_PARAM, &dbname},</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #c41a16">"dbport"</span>, INT_PARAM, &dbport},</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #c41a16">"vdbhost"</span>, STR_PARAM, &dbhost},</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #c41a16">"vdbuname"</span>, STR_PARAM, &dbuname},</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #c41a16">"vdbpass"</span>, STR_PARAM, &dbpass},</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #c41a16">"vdbname"</span>, STR_PARAM, &dbname},</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #c41a16">"vdbport"</span>, INT_PARAM, &dbport},</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #1c00cf">0</span>, <span style="color: #1c00cf">0</span>, <span style="color: #1c00cf">0</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">};</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"><br></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400">/*</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"> * fifo commands</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"> */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> mi_export_t mi_cmds[] =</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">{</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #1c00cf">0</span>, <span style="color: #1c00cf">0</span>, <span style="color: #1c00cf">0</span>, <span style="color: #1c00cf">0</span>, <span style="color: #1c00cf">0</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">};</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"><br></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400">/*</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"> * Export the statistics we have</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"> */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">static</span> stat_export_t mod_stats[] = </p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">{</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>{<span style="color: #1c00cf">0</span>, <span style="color: #1c00cf">0</span>, <span style="color: #1c00cf">0</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">};</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"><br></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">struct</span> module_exports exports = </p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">{</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">        </span></span><span style="color: #c41a16">"page"</span><span style="color: #000000">,<span class="Apple-tab-span" style="white-space:pre">                        </span></span>/* module's name */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">        </span>DEFAULT_DLFLAGS,<span class="Apple-tab-span" style="white-space:pre">        </span></span>/* dlopen() fkags */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">        </span>cmds,<span class="Apple-tab-span" style="white-space:pre">                        </span></span>/* exported functions */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">        </span>mod_params,<span class="Apple-tab-span" style="white-space:pre">                </span></span>/* param exports */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">        </span>mod_stats,<span class="Apple-tab-span" style="white-space:pre">                </span></span>/* exported statistics */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">        </span>mi_cmds,<span class="Apple-tab-span" style="white-space:pre">                </span></span>/* exported MI functions */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">        </span></span><span style="color: #1c00cf">0</span><span style="color: #000000">,<span class="Apple-tab-span" style="white-space:pre">                        </span></span>/* exported pseudo variables */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">        </span>mod_init,<span class="Apple-tab-span" style="white-space:pre">                </span></span>/* module initialization function */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">        </span></span><span style="color: #1c00cf">0</span><span style="color: #000000">,<span class="Apple-tab-span" style="white-space:pre">                        </span></span>/* reply processing function FIXME Not sure when this is used */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">        </span>mod_destroy,<span class="Apple-tab-span" style="white-space:pre">                </span></span>/* Destroy function */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">        </span>child_init<span class="Apple-tab-span" style="white-space:pre">                </span></span>/* per-child init function */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">};</p><div><span class="Apple-style-span" style="font-family: Monaco; font-size: 10px;"><br></span></div></div></div></div>