<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 6, 2015 at 4:20 PM, Arran Cudbard-Bell <span dir="ltr"><<a href="mailto:a.cudbardb@freeradius.org" target="_blank">a.cudbardb@freeradius.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class=""><br>
> On 6 Jan 2015, at 19:11, Alan DeKok <<a href="mailto:aland@deployingradius.com">aland@deployingradius.com</a>> wrote:<br>
><br>
> On Jan 6, 2015, at 7:00 PM, Nick Rogers <<a href="mailto:ncrogers@gmail.com">ncrogers@gmail.com</a>> wrote:<br>
>> Yeah, that has been my gut feeling as well after seeing the kqueue addition in the changelog. I've definitely experienced kqueue related issues with other daemons under FreeBSD.<br>
>><br>
>> Here's the thread backtrace<br>
>><br>
>> Starting program: /usr/local/sbin/radiusd -fxx<br>
>> (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...[New LWP 100270]<br>
><br>
>  PLEASE build with debugging symbols.  Otherwise the backtrace is useless.<br>
<br>
</span>To do that either:<br>
<br>
./configure --enable-developer<br>
<br>
Or edit Make.inc, remove -O2 add -g3<br></blockquote><div><br></div><div>Sorry, I had enabled developer option but also had to set WITH_DEBUG in the FreeBSD port.</div><div><br></div><div>Here's the backtrace. Hope it is useful.</div><div><br></div><div>Starting program: /usr/local/sbin/radiusd -fxx</div><div>[New LWP 100455]</div><div>[New Thread 803406400 (LWP 100455/radiusd)]</div><div>[New Thread 80f1f9c00 (LWP 100595/radiusd)]</div><div><br></div><div>Program received signal SIGINT, Interrupt.</div><div>[Switching to Thread 80f1f9c00 (LWP 100595/radiusd)]</div><div>0x000000080208d448 in _umtx_op () from /lib/libc.so.7</div><div>* 3 Thread 80f1f9c00 (LWP 100595/radiusd)  0x000000080208d448 in _umtx_op () from /lib/libc.so.7</div><div>  2 Thread 803406400 (LWP 100455/radiusd)  0x0000000802164bda in write () from /lib/libc.so.7</div><div><br></div><div>Thread 3 (Thread 80f1f9c00 (LWP 100595/radiusd)):</div><div>#0  0x000000080208d448 in _umtx_op () from /lib/libc.so.7</div><div>No symbol table info available.</div><div>#1  0x000000080207cc24 in sem_timedwait () from /lib/libc.so.7</div><div>No symbol table info available.</div><div>#2  0x000000000043d61e in request_handler_thread (arg=0x80f2a7300) at src/main/threads.c:609</div><div><span class="" style="white-space:pre">      </span>self = (THREAD_HANDLE *) 0x80f2a7300</div><div>#3  0x00000008019a14f5 in pthread_create () from /lib/libthr.so.3</div><div>No symbol table info available.</div><div>#4  0x0000000000000000 in ?? ()</div><div>No symbol table info available.</div><div><br></div><div>Thread 2 (Thread 803406400 (LWP 100455/radiusd)):</div><div>#0  0x0000000802164bda in write () from /lib/libc.so.7</div><div>No symbol table info available.</div><div>#1  0x00000008019a3ef6 in write () from /lib/libthr.so.3</div><div>No symbol table info available.</div><div>#2  0x00000008008ab5f7 in vradlog (type=L_INFO, fmt=0x46c5a0 "Ready to process requests", ap=0x7fffffffe8b0)</div><div>    at src/main/log.c:464</div><div><span class="" style="white-space:pre">        </span>p = (unsigned char *) 0x7fffffffbf19 "\n"</div><div><span class="" style="white-space:pre">        </span>buffer = "Ready to process requests\n\000\017\b\000\000\000\001\000\000\000\000\000\000\000`H\214\000\b\000\000\000??F\000\000\000\000\000\200\200\200\200\200\200\200\200\200????\177\000\000??X\001\000\000\000\0001\000\000\000\000\000\000\000]\227???\177\000\000\000????\177\000\000\213K\214\000\b\000\000\000\020\000\000\000\016\000\000\000???\230$?\b?0????\177\000\000\016\v\212\000\b\000\000\000#\n\000\003\b\000\000\000???\000\016\000\000\000\213K\214\000\b\000\000\000\001\000\000\000\000\000\000\000`H\214\000\b\000\000\000?5F\000\000\000\000\000\025\a\000\000\000\000\000\000"...</div><div><span class="" style="white-space:pre">       </span>unsan = 0x7fffffffbf00 "Ready to process requests\n"</div><div><span class="" style="white-space:pre">     </span>len = 25</div><div><span class="" style="white-space:pre">   </span>colourise = 0</div><div>#3  0x00000008008ab83e in radlog (type=L_INFO, msg=0x46c5a0 "Ready to process requests") at src/main/log.c:485</div><div><span class="" style="white-space:pre">      </span>ap = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7fffffffe8f0, </div><div>    reg_save_area = 0x7fffffffe7f0}}</div><div><span class="" style="white-space:pre">  </span>r = 0</div><div>#4  0x00000000004428a5 in event_status (wake=0x0) at src/main/process.c:4334</div><div>No locals.</div><div>#5  0x0000000800b0cd44 in fr_event_loop (el=0x80365e060) at src/lib/event.c:577</div><div><span class="" style="white-space:pre">  </span>i = 1</div><div><span class="" style="white-space:pre">      </span>rcode = 1</div><div><span class="" style="white-space:pre">  </span>when = {tv_sec = 0, tv_usec = 0}</div><div><span class="" style="white-space:pre">   </span>wake = (struct timeval *) 0x0</div><div><span class="" style="white-space:pre">      </span>ts_when = {tv_sec = 34614206240, tv_nsec = 34614206240}</div><div><span class="" style="white-space:pre">    </span>ts_wake = (struct timespec *) 0x0</div><div>#6  0x0000000000443541 in radius_event_process () at src/main/process.c:5186</div><div>No locals.</div><div>#7  0x00000000004332d6 in main (argc=2, argv=0x7fffffffeb90) at src/main/radiusd.c:574</div><div><span class="" style="white-space:pre">       </span>rcode = 0</div><div><span class="" style="white-space:pre">  </span>status = 6801456</div><div><span class="" style="white-space:pre">   </span>argval = -1</div><div><span class="" style="white-space:pre">        </span>spawn_flag = true</div><div><span class="" style="white-space:pre">  </span>write_pid = false</div><div><span class="" style="white-space:pre">  </span>display_version = false</div><div><span class="" style="white-space:pre">    </span>flag = 0</div><div><span class="" style="white-space:pre">   </span>from_child = {-1, -1}</div><div><span class="" style="white-space:pre">      </span>autofree = (void *) 0x8034170e0</div><div>#0  0x000000080208d448 in _umtx_op () from /lib/libc.so.7</div><div>The program is running.  Exit anyway? (y or n) </div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span class=""><br>
>> I was working on trying to disable kqueue somehow and test. Any suggestions on the best way of doing that? There does not appear to be a configure flag for it, unless I am missing it.<br>
><br>
>  After the “configure” script runs, edit src/include/autoconf.h.  Look for:<br>
><br>
> /* Define to 1 if you have the `kqueue' function. */<br>
> #define HAVE_KQUEUE 1<br>
><br>
>  And delete it.  Then, “make” as normal.<br>
<br>
</span>Yep that'd be a good test.<br></blockquote><div><br></div><div>Removing kqueue definitely fixes the problem I'm having. I ended up removing the kqueue line from the "for ac_func in \" loop in configure script, but it had the same affect. I am able to handle requests after rebuilding without kqueue and there is no more infinite loop.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span class=""><font color="#888888"><br>
-Arran<br>
</font></span><div class=""><div class="h5">-<br>
List info/subscribe/unsubscribe? See <a href="http://www.freeradius.org/list/users.html" target="_blank">http://www.freeradius.org/list/users.html</a><br>
</div></div></blockquote></div><br></div></div>