Andrew: I think that this problem belongs to you. This looks to me as if it is a recursive loop with passert.
passert calls logging logging calls passert and it fires passert calls logging This cycle will not end well. Possible solutions: - forbid passert calls in the logging code that could be invoked, directly or indirectly, by passert (hard (because this is a global property not a local one) and counter-productive (because we would like to detect bugs in that code)) - keep passert calls in logging but prove that they cannot fire (good luck) - add back "dying_breath" logic. The idea (if I remember correctly) was to dynamically detect a recursive loop and break it when it happened. The original reason was that the passert code was trying to show the affected state but the state might have been broken enough that the showing code might passert. But the idea generalizes. Pragmatically it would be nice to break the loop after something useful hit the log but that might not be practical with the new generation logging. | From: Charles Van Dusen <[email protected]> | To: Paul Wouters <[email protected]> | Cc: "[email protected]" <[email protected]> | Date: Wed, 25 Oct 2017 17:22:33 +0000 | Subject: Re: [Swan] Pluto not running? | | Hi Paul, | | Thanks for the quick response. I am a newb to gdb, but here is the result: | | (gdb) bt | #0 __pthread_self () at pthread_self.c:25 | #1 0x00445880 in add_state_prefix (buf=0x7e800168) at /home/pi/libreswan-3.22/programs/pluto/log.c:151 | #2 0x004b8744 in lsw_passert_fail (file=0x50f40c "lswlog.c", line=line@entry=43, func=0x50f3c0 <__func__.9160> "dest", fmt=0x50c224 "%s") | at /home/pi/libreswan-3.22/lib/libswan/lsw_passert_fail.c:29 | #3 0x004b8fb8 in dest (log=0x7e800168) at /home/pi/libreswan-3.22/lib/libswan/lswlog.c:43 | #4 0x004b912c in lswlogs () at /home/pi/libreswan-3.22/lib/libswan/lswlog.c:158 | #5 0x004b8754 in lsw_passert_fail (file=0x50f40c "lswlog.c", line=line@entry=43, func=0x50f3c0 <__func__.9160> "dest", fmt=0x50c224 "%s") | at /home/pi/libreswan-3.22/lib/libswan/lsw_passert_fail.c:30 | #6 0x004b8fb8 in dest (log=0x7e8005d0) at /home/pi/libreswan-3.22/lib/libswan/lswlog.c:43 | #7 0x004b912c in lswlogs () at /home/pi/libreswan-3.22/lib/libswan/lswlog.c:158 | #8 0x004b8754 in lsw_passert_fail (file=0x50f40c "lswlog.c", line=line@entry=43, func=0x50f3c0 <__func__.9160> "dest", fmt=0x50c224 "%s") | at /home/pi/libreswan-3.22/lib/libswan/lsw_passert_fail.c:30 | #9 0x004b8fb8 in dest (log=0x7e800a38) at /home/pi/libreswan-3.22/lib/libswan/lswlog.c:43 | #10 0x004b912c in lswlogs () at /home/pi/libreswan-3.22/lib/libswan/lswlog.c:158 | #11 0x004b8754 in lsw_passert_fail (file=0x50f40c "lswlog.c", line=line@entry=43, func=0x50f3c0 <__func__.9160> "dest", fmt=0x50c224 "%s") | at /home/pi/libreswan-3.22/lib/libswan/lsw_passert_fail.c:30 | #12 0x004b8fb8 in dest (log=0x7e800ea0) at /home/pi/libreswan-3.22/lib/libswan/lswlog.c:43 | #13 0x004b912c in lswlogs () at /home/pi/libreswan-3.22/lib/libswan/lswlog.c:158 | #14 0x004b8754 in lsw_passert_fail (file=0x50f40c "lswlog.c", line=line@entry=43, func=0x50f3c0 <__func__.9160> "dest", fmt=0x50c224 "%s") | at /home/pi/libreswan-3.22/lib/libswan/lsw_passert_fail.c:30 | #15 0x004b8fb8 in dest (log=0x7e801308) at /home/pi/libreswan-3.22/lib/libswan/lswlog.c:43 | | Does that help? Anything else I can do to provide more helpful info? | | -----Original Message----- | From: Paul Wouters [mailto:[email protected]] | Sent: Wednesday, October 25, 2017 12:48 PM | To: Charles Van Dusen <[email protected]> | Cc: [email protected] | Subject: Re: [Swan] Pluto not running? | | On Wed, 25 Oct 2017, Charles Van Dusen wrote: | | > I have another new install on a raspberry pi (Raspbian stretch). With Version 3.22 I am unable to start ipsec: | | > Process: 3407 ExecStart=/usr/local/libexec/ipsec/pluto --leak-detective --config /etc/ipsec.conf --nofork (code=killed, | > signal=SEGV) | | Looks like we crashed. Do you have gdb there, then you can run: | | ipsec _stackmanager start | gdb /usr/libexec/ipsec/pluto | run --config /etc/ipsec.conf --nofork --stderrlog | | and after it crashes: | | bt | | Paul | _______________________________________________ | Swan mailing list | [email protected] | https://lists.libreswan.org/mailman/listinfo/swan |
_______________________________________________ Swan-dev mailing list [email protected] https://lists.libreswan.org/mailman/listinfo/swan-dev
