1)<br>esr is pointer to 0x0.<br>I added : if(esr!=NULL){...}&nbsp; to source at point of segment. fault -&nbsp; it&#39;s working now.<br><br>I do not know what is causing esr to be NULL, but I came up with interesting behaviour of pluto:
<br>if&nbsp; _updown script returns with exit code &gt; 0, I am getting problem with esr=NULL,<br>if I do not mess with _updown, there is no such problem. Guessing that return code of _updown script has impact to esr ?<br><br>
/var/log/secure:<br>
<br>
pluto[30225]: | route_and_eroute with c: l2tp-transport (next: none)
ero:l2tp-transport esr:{(nil)} ro:l2tp-transport rosr:{(nil)} and
state: 8 <br>
pluto[30225]: |&nbsp;&nbsp; trusted_ca called with a=******<br>
pluto[30225]: &quot;l2tp-transport&quot;[4] xxx.xxx.xxx.xxx #8: up-host command exited with status 10<br>
ipsec__plutorun: Restarting Pluto subsystem...<br><br>2) in cases when I have sudden cut of communication between server and client (for example, power reset at client side), I have misc behaviour of openswan server when using WindowsXP and openswan as ipsec clients.
<br><br>When using Windows XP I am never getting message &quot;cannot install eroute -- it is in use for ...&quot;, instead I have dead tunnel spi and %trap eroute. I can reconnect tunnel after that and then I have 4 spi records and regular eroute, after regular termination of the new tunnel I am getting %hold eroute and 2 old spi records. I guess they will expire in near future and I&#39;ll have clean system.
<br><br>When using openswan as client I am always getting message &quot;cannot install eroute -- it is in use for ...&quot;, Here I have to wait expiration of spi to reconnect the tunnel successfully. DPD is disabled while testing.
<br><br>Why such misc. behaviours? Is it possible to re-use eroute when using openswan as client?<br><br><br><br><br>Regards<br>Djordje<br><br><br><div><span class="gmail_quote">On 3/13/07, <b class="gmail_sendername">Paul Wouters
</b> &lt;<a href="mailto:paul@xelerance.com">paul@xelerance.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">On Tue, 13 Mar 2007, Djordje Zekovic wrote:
<br><br>&gt; Failed to read a valid object file image from memory.<br>&gt; Core was generated by `/usr/libexec/ipsec/pluto --nofork --secretsfile<br>&gt; /etc/ipsec.secrets --ipsecdir /&#39;.<br>&gt; Program terminated with signal 11, Segmentation fault.
<br>&gt; #0&nbsp;&nbsp;0x0806ebc8 in route_and_eroute (c=0xa0d5118, sr=0xa0d515c, st=0xa0d6878)<br>&gt; at kernel.c:2532<br>&gt; 2532&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (esr-&gt;eroute_owner == SOS_NOBODY)<br>&gt; #0&nbsp;&nbsp;0x0806ebc8 in route_and_eroute (c=0xa0d5118, sr=0xa0d515c, st=0xa0d6878)
<br>&gt; at kernel.c:2532<br>&gt; #1&nbsp;&nbsp;0x0806efad in install_ipsec_sa (st=0xa0d6878, inbound_also=0) at<br>&gt; kernel.c:2613<br>&gt; #2&nbsp;&nbsp;0x08067de1 in quick_inI2 (md=0xa0d2ed0) at ikev1_quick.c:2132<br>&gt; #3&nbsp;&nbsp;0x0807807c in process_packet (mdp=0x80ea068) at 
demux.c:2352<br>&gt; #4&nbsp;&nbsp;0x080788cf in comm_handle (ifp=0xa0d0cf8) at demux.c:1223<br>&gt; #5&nbsp;&nbsp;0x0805c2d8 in call_server () at server.c:1166<br>&gt; #6&nbsp;&nbsp;0x0805a4db in main (argc=1549747535, argv=0x7d6a6750) at plutomain.c
:787<br><br>Thanks, that was somewhat helpful. Can you repeat it with plutodebug=controlmore ?<br>That should give us some more information leading up to the crash.<br>Also, a dump of all the variables in gdb would help as well, or at least a print
<br>of esr.<br><br>Is this using 2.6.19 or 2.6.20? KLIPS or NETKEY?<br><br>&gt; /var/log/secure:<br>&gt;<br>&gt; Mar 13 05:40:46 vpn1 pluto[16901]: ERROR: pfkey write() of SADB_X_DELFLOW<br>&gt; message 14 for flow <a href="mailto:int.0@0.0.0.0">
int.0@0.0.0.0</a> failed. Errno 14: Bad address<br>&gt; Mar 13 05:40:46 vpn1 pluto[16901]: |&nbsp;&nbsp; 02 0f 00 0b&nbsp;&nbsp;0e 00 00 00&nbsp;&nbsp;0e 00 00<br>&gt; 00&nbsp;&nbsp;05 42 00 00<br>&gt; Mar 13 05:40:46 vpn1 pluto[16901]: |&nbsp;&nbsp; 03 00 15 00&nbsp;&nbsp;00 00 00 00&nbsp;&nbsp;02 00 06
<br>&gt; a5&nbsp;&nbsp;48 37 92 95<br>&gt; Mar 13 05:40:46 vpn1 pluto[16901]: |&nbsp;&nbsp; 00 00 00 00&nbsp;&nbsp;00 00 00 00&nbsp;&nbsp;03 00 16<br>&gt; 00&nbsp;&nbsp;00 00 00 00<br>&gt; Mar 13 05:40:46 vpn1 pluto[16901]: |&nbsp;&nbsp; 02 00 06 a5&nbsp;&nbsp;c3 42 a4 bd&nbsp;&nbsp;00 00 00<br>&gt; 00&nbsp;&nbsp;00 00 00 00
<br>&gt; Mar 13 05:40:46 vpn1 pluto[16901]: |&nbsp;&nbsp; 03 00 17 00&nbsp;&nbsp;00 00 00 00&nbsp;&nbsp;02 00 ff<br>&gt; ff&nbsp;&nbsp;ff ff ff ff<br>&gt; Mar 13 05:40:46 vpn1 pluto[16901]: |&nbsp;&nbsp; 38 1a 90 bf&nbsp;&nbsp;ca 1a 90 bf&nbsp;&nbsp;03 00 18<br>&gt; 00&nbsp;&nbsp;00 00 00 00<br>&gt; Mar 13 05:40:46 vpn1 pluto[16901]: |&nbsp;&nbsp; 02 00 ff ff&nbsp;&nbsp;ff ff ff ff&nbsp;&nbsp;00 00 00
<br>&gt; 00&nbsp;&nbsp;00 00 00 00<br>&gt; Mar 13 05:40:55 vpn1 pluto[16901]: packet from xxx.xxx.xxx.xxx:44: ignoring<br>&gt; Vendor ID payload [MS NT5 ISAKMPOAKLEY 00000004]<br>&gt; Mar 13 05:40:55 vpn1 pluto[16901]: packet from 
xxx.xxx.xxx.xxx:44: ignoring<br>&gt; Vendor ID payload [FRAGMENTATION]<br>&gt; Mar 13 05:40:55 vpn1 pluto[16901]: packet from xxx.xxx.xxx.xxx:44: received<br>&gt; Vendor ID payload [draft-ietf-ipsec-nat-t-ike-02_n] method set to=106
<br>&gt; Mar 13 05:40:55 vpn1 pluto[16901]: packet from xxx.xxx.xxx.xxx:44: ignoring<br>&gt; Vendor ID payload [Vid-Initial-Contact]<br>&gt; Mar 13 05:40:55 vpn1 pluto[16901]: &quot;l2tp-transport&quot;[2] xxx.xxx.xxx.xxx
 #5:<br>&gt; responding to Main Mode from unknown peer xxx.xxx.xxx.xxx<br>&gt; Mar 13 05:40:55 vpn1 pluto[16901]: &quot;l2tp-transport&quot;[2] xxx.xxx.xxx.xxx #5:<br>&gt; transition from state STATE_MAIN_R0 to state STATE_MAIN_R1
<br>&gt; Mar 13 05:40:55 vpn1 pluto[16901]: &quot;l2tp-transport&quot;[2] xxx.xxx.xxx.xxx #5:<br>&gt; STATE_MAIN_R1: sent MR1, expecting MI2<br>&gt; Mar 13 05:40:55 vpn1 pluto[16901]: &quot;l2tp-transport&quot;[2] xxx.xxx.xxx.xxx
 #5:<br>&gt; NAT-Traversal: Result using draft-ietf-ipsec-nat-t-ike-02/03: peer is NATed<br>&gt; Mar 13 05:40:55 vpn1 pluto[16901]: &quot;l2tp-transport&quot;[2] xxx.xxx.xxx.xxx #5:<br>&gt; transition from state STATE_MAIN_R1 to state STATE_MAIN_R2
<br>&gt; Mar 13 05:40:55 vpn1 pluto[16901]: &quot;l2tp-transport&quot;[2] xxx.xxx.xxx.xxx #5:<br>&gt; STATE_MAIN_R2: sent MR2, expecting MI3<br>&gt; Mar 13 05:40:56 vpn1 pluto[16901]: &quot;l2tp-transport&quot;[2] xxx.xxx.xxx.xxx
 #5:<br>&gt; Main mode peer ID is ID_DER_ASN1_DN: &#39;*******&#39;<br>&gt; Mar 13 05:40:56 vpn1 pluto[16901]: &quot;l2tp-transport&quot;[2] xxx.xxx.xxx.xxx #5: I<br>&gt; am sending my cert<br>&gt; Mar 13 05:40:56 vpn1 pluto[16901]: &quot;l2tp-transport&quot;[2] 
xxx.xxx.xxx.xxx #5:<br>&gt; transition from state STATE_MAIN_R2 to state STATE_MAIN_R3<br>&gt; Mar 13 05:40:56 vpn1 pluto[16901]: | NAT-T: new mapping xxx.xxx.xxx.xxx<br>&gt; /1558)<br>&gt; Mar 13 05:40:56 vpn1 pluto[16901]: &quot;l2tp-transport&quot;[2] 
xxx.xxx.xxx.xxx #5:<br>&gt; STATE_MAIN_R3: sent MR3, ISAKMP SA established {auth=OAKLEY_RSA_SIG<br>&gt; cipher=oakley_3des_cbc_192 prf=oakley_sha group=modp2048}<br>&gt; Mar 13 05:40:56 vpn1 pluto[16901]: &quot;l2tp-transport&quot;[2] 
xxx.xxx.xxx.xxx #6:<br>&gt; responding to Quick Mode {msgid:c366edd3}<br>&gt; Mar 13 05:40:56 vpn1 pluto[16901]: &quot;l2tp-transport&quot;[2] xxx.xxx.xxx.xxx #6:<br>&gt; transition from state STATE_QUICK_R0 to state STATE_QUICK_R1
<br>&gt; Mar 13 05:40:56 vpn1 pluto[16901]: &quot;l2tp-transport&quot;[2] xxx.xxx.xxx.xxx #6:<br>&gt; STATE_QUICK_R1: sent QR1, inbound IPsec SA installed, expecting QI2<br>&gt; Mar 13 05:41:07 vpn1 ipsec__plutorun: Restarting Pluto subsystem...
<br>&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt; /var/log/messages:<br>&gt;<br>&gt; Mar 13 02:45:51 vpn1 ipsec_setup: Restarting Openswan IPsec 2.4.8rc1...<br>&gt; Mar 13 05:40:56 vpn1 ipsec__plutorun: /usr/lib/ipsec/_plutorun: line 237:
<br>&gt; 16901 Segmentation fault&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(core dumped) /usr/libexec/ipsec/pluto<br>&gt; --nofork --secretsfile /etc/ipsec.secrets --ipsecdir /etc/ipsec<br>&gt; Mar 13 05:40:56 vpn1 ipsec__plutorun: !pluto failure!:&nbsp;&nbsp;exited with error
<br>&gt; status 139 (signal 11)<br>&gt; Mar 13 05:40:56 vpn1 ipsec__plutorun: restarting IPsec after pause...<br>&gt;<br>&gt;<br>&gt; On 3/13/07, Paul Wouters &lt;<a href="mailto:paul@xelerance.com">paul@xelerance.com</a>
&gt; wrote:<br>&gt; &gt;<br>&gt; &gt; On Tue, 13 Mar 2007, Djordje Zekovic wrote:<br>&gt; &gt;<br>&gt; &gt; &gt; I have also pluto segmentation fault with 2.4.7 version.<br>&gt; &gt; &gt; Bug segm.fault still there using 
2.4.8rc1 version.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; I can repeat bug any time: I am connected using Windows XP IPSEC/l2tp<br>&gt; &gt; &gt; Client, then I disable local area network, after enabling it again I<br>&gt; &gt; &gt; re-connect to VPN server, and wholaaa - segm. fault. I should receive
<br>&gt; &gt; &gt; message &quot;Cannot eroute&quot;<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Here is dump:<br>&gt; &gt;<br>&gt; &gt; &gt; GNU gdb Red Hat Linux (6.5-15.fc6rh)<br>&gt; &gt;<br>&gt; &gt; &gt; warning: Can&#39;t read pathname for load map: Input/output error.
<br>&gt; &gt; &gt; Reading symbols from /usr/lib/sse2/libgmp.so.3...done.<br>&gt; &gt; &gt; Loaded symbols for /usr/lib/sse2/libgmp.so.3<br>&gt; &gt; &gt; Reading symbols from /lib/libresolv.so.2...done.<br>&gt; &gt; &gt; Loaded symbols for /lib/libresolv.so.2
<br>&gt; &gt; &gt; Reading symbols from /lib/libc.so.6...done.<br>&gt; &gt; &gt; Loaded symbols for /lib/libc.so.6<br>&gt; &gt; &gt; Reading symbols from /lib/ld-linux.so.2...done.<br>&gt; &gt; &gt; Loaded symbols for /lib/ld-
linux.so.2<br>&gt; &gt; &gt; Failed to read a valid object file image from memory.<br>&gt; &gt; &gt; Core was generated by `/usr/libexec/ipsec/pluto --nofork --secretsfile<br>&gt; &gt; &gt; /etc/ipsec.secrets --ipsecdir /&#39;.
<br>&gt; &gt; &gt; Program terminated with signal 11, Segmentation fault.<br>&gt; &gt; &gt; #0&nbsp;&nbsp;0x0806ebc8 in route_and_eroute (c=0x8145108, sr=0x814514c,<br>&gt; &gt; st=0x8145b40)<br>&gt; &gt; &gt; at kernel.c:2532<br>&gt; &gt; &gt; 2532&nbsp;&nbsp;&nbsp;&nbsp;
kernel.c: No such file or directory.<br>&gt; &gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in kernel.c<br>&gt; &gt; &gt; (gdb)<br>&gt; &gt;<br>&gt; &gt; Please run it so that gdb has access to the source, then give us a<br>&gt; &gt; backtrace<br>&gt; &gt; and a dump of the variables involved.
<br>&gt; &gt;<br>&gt; &gt; Thanks,<br>&gt; &gt;<br>&gt; &gt; Paul<br>&gt; &gt;<br>&gt;<br><br>--<br>Building and integrating Virtual Private Networks with Openswan:<br><a href="http://www.amazon.com/gp/product/1904811256/104-3099591-2946327?n=283155">
http://www.amazon.com/gp/product/1904811256/104-3099591-2946327?n=283155</a><br></blockquote></div><br>