[OpenVPN home] [Date Prev] [Date Index] [Date Next]
[OpenVPN mailing lists] [Thread Prev] [Thread Index] [Thread Next]
Google
 
Web openvpn.net

Re: [Openvpn-users] Re: OpenVPN 2.0.6 / 2.1b12 in server mode crash on Windows 2003


  • Subject: Re: [Openvpn-users] Re: OpenVPN 2.0.6 / 2.1b12 in server mode crash on Windows 2003
  • From: James Yonan <jim@xxxxxxxxx>
  • Date: Tue, 11 Apr 2006 14:31:14 -0600

Mathias Sundman wrote:
On Tue, 11 Apr 2006, Mathias Sundman wrote:

On Tue, 11 Apr 2006, Mathias Sundman wrote:

Okay, I've managed to reproduce the problem on my WinXP-SP2 machine. After 3 reconnects to the server it crashed.

I'll build a debug version of OpenVPN 2.0.6 and run it though gdb and get back with a stacktrace...

Here's a gdb "bt" when it SEGFAULTS:

#0 0x77c42a16 in _out_libeay32_a_iname ()
#1 0x00b68458 in ?? ()
#2 0x77c3ffb9 in _out_libeay32_a_iname ()
#3 0x004468b5 in status_printf (so=0xb5bca0,
format=0x456ddb "%s,%s,%llu,%llu,%s")
at c:/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/stdio.h:227
#4 0x0041d96f in multi_print_status (m=0x22f070, so=0xb5bca0, version=1)
at multi.c:652
#5 0x0041e9a8 in multi_process_per_second_timers_dowork (m=0x22f070)
at multi.c:1940
#6 0x0041b25d in tunnel_server_tcp (top=0x22f858) at multi.h:357
#7 0x00421bc8 in main (argc=2, argv=0x3d43c0) at openvpn.c:205

A little follow-up...

It seems to be the code that prints the status file that pukes. If I switch to status-version 2, it dies on line 713 in multi.c instead.

From multi.c:650:

if (!mi->halt) { status_printf (so, "%s,%s," counter_format "," counter_format ",%s", tls_common_name (mi->context.c2.tls_multi, false), mroute_addr_print (&mi->real, &gc), mi->context.c2.link_read_bytes, mi->context.c2.link_write_bytes, time_string (mi->created, 0, false, &gc)); }


Looking at the the changelog from 2.0.5->2.0.6 (As 2.0.5 has been claimed to work flawlessly by others), my guess is that is has todo with the following change:


* Extend byte counters to 64 bits (M. van Cuijk).

I don't have time digging deeper into this right now, but hopefully you have enough info now James to know where to start looking...

Cheers // Mathias


Mathias -- thanks, this looks like a great lead. Apparently the 64-bit integer printf is failing on Windows, possibly because of incompatibilities in the way that printf handles 64-bit integers in glibc versus Windows CRT.


James


____________________________________________ Openvpn-users mailing list Openvpn-users@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/openvpn-users