Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Dec 2006 15:18:02 +0000
From:      Deomid Ryabkov <myself@rojer.pp.ru>
To:        Gonzalo Arana <gonzalo.arana@gmail.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: net/mpd causes a kernel freeze
Message-ID:  <458FEBAA.7020104@rojer.pp.ru>
In-Reply-To: <ca81c4b60611060708t4cace523o8b9274c1e4a90f65@mail.gmail.com>
References:  <ca81c4b60611060708t4cace523o8b9274c1e4a90f65@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a cryptographically signed message in MIME format.

--------------ms070700030506060502020107
Content-Type: text/plain; charset=KOI8-R; format=flowed
Content-Transfer-Encoding: 7bit

Gonzalo Arana wrote:
> Hi,
> 
> When I open a pptp tunnel with net/mpd, my PC freezes (numlock stops
> responding, for instance).

exactly. a complete freeze, not even being able to break into DDB (i.e. even ctrl-alt-esc stops working)

> 
> I am using 6.1-RELEASE with GENERIC kernel.  I've recompiled removing
> USB, SCSI/RAID controllers, with the same result.

also occurs on -CURRENT as of Nov 4.

> The freeze occurs right after the tunnel is up.

actually, it's after the first packet is sent. i.e., i can have tunnel up as long as i want,
but as soon as a packet is sent down the route, the system freezes.

> Does anyone expierence the same problem?

yes. and i'm glad to report that i found a solution for at least my instance.
it turned out to be a config error.

so what happened was this. i created an entry for a new tunnel in my mpd.conf nad of course done that
by just copy-pasting the previous entry. ended up with these mysterious freezes.
because this happened on -CURRENT, i went through great pains to try it on something more -STABLE,
but to my complete astonishment it was all the same on -STABLE. and i positively knew that -STABLE
was previously able to handle a tunnel to this very same endpoint. now i knew something was not right.
my -CURRENT is vanilla GENERIC, so it already had WITNESS, INVARIANTS and DDB, but neither did i see any messages
on the console, nor could i break into debugger (i could, prior to the freeze, but not after).
so anyway, some fairly long time into the whole process, i just decided to start commenting my config line by line,
to maybe see if any particular option would trigger this freeze. and bingo, there it was:
i used _wrong_ up_script for this connection. i wrote the right one, but forgot to change the config line i copied from previous entry.
so yeh, it's 100% reproducible: wrong up_script - freeze, no up_script or the right one - no freeze.
so what's in the script? here it is in its entirety:

IF=$1

/sbin/route delete default
/sbin/route add 10.1.0.0/16 10.2.0.1
/sbin/route add default -iface $IF

that's it. now what is important here, is that the network and gateway in the second line are wrong for this network configuration.
in particular, 10.2.0.1 is not directly reachable.
it's worth noting that this configuration would hang the machine only if used for the very first time.
if used after the correct configuration, it would not make machine hang.
e.g., if i boot a machine, set up a tunnel with "up_script wrong_script.sh" and then ping an external host, the machine hangs.
however, if i boot, set up a tunnel with "up_script right_script.sh" (at this point the tunnel works as expected and external host is pingable),
then tear it down, replace "up_script right_script.sh" with "up_script wrong_script.sh", the machine does not hang and external host is not pingable (no route to host).

my guess is that this incorrect route somehow messes up routing table.

> 
> Here are the relevant configs:
> 
>> /usr/local/etc/mpd/mpd.conf:
>>
>> default:
>>         load vpn
>>
>> vpn:
>>         new -i ng0 vpn vpn
>>         set iface disable on-demand
>>         set iface idle 0
>> # disconnect the client after 8 hours
>>         set iface session 28800
>>         #set iface route 192.168.2.0/24
>>         set bundle disable multilink
>>         set bundle authname my_username
>>         set bundle password my_password
>>         set link yes acfcomp protocomp
>>         set link no pap chap
>>         set link accept pap
>>         set link mtu 1460
>> # If remote machine is NT you need this..
>> #       set link enable no-orig-auth
>>         set link keep-alive 10 75
>>         set ipcp no vjcomp
>>
>> /usr/local/etc/mpd/mpd.links:
>> vpn:
>>         set link type pptp
>>         set pptp self ZZZ
>>         set pptp peer YYY
>>         set pptp enable originate incoming outcall
>>         set pptp disable windowing
>>
>>
>> where:
>>    ZZZ my ethernet IP address
>>    YYY ip address of TCP peer
>>
> 
> Thank you very much in advance,
> 



-- 
Deomid Ryabkov aka Rojer
myself@rojer.pp.ru
rojer@sysadmins.ru
ICQ: 8025844

--------------ms070700030506060502020107
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJPTCC
AvkwggJioAMCAQICEA6d3TvG5eRen2BAM1uAkm0wDQYJKoZIhvcNAQEEBQAwYjELMAkGA1UE
BhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMT
I1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA2MDQwMTE4MjY1NFoX
DTA3MDQwMTE4MjY1NFowXzEQMA4GA1UEBBMHUnlhYmtvdjEPMA0GA1UEKhMGRGVvbWlkMRcw
FQYDVQQDEw5EZW9taWQgUnlhYmtvdjEhMB8GCSqGSIb3DQEJARYSbXlzZWxmQHJvamVyLnBw
LnJ1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmnOKvalRf0lrl/4S2fAVovyt
2FxjDn8hDhSOeYNY97Ddi8Y2t+eELg7cpxAUq9GnymPBQanGlvUN2VTuSA4YUVg+VE1yhGgE
TDKm0CNVh0v5LOVVAs52IFvdQ0wREYRH0nPBa/ovPWVvlsJ/cIR5GhvRfAW3FbvuP+bEYU54
ESo7OTu7EeGVOLBTF5ow1zaU9PStIied3ffaK5xl8lB6TnQ7DBnIir0ugCqdAuaVxsjD4SfG
hqzv42uOuvNjFCQhtFn9dUSnx1cF1TI39cumqVV4UNrqDlQZ4bgrBu/ClqSI4oJnfxgafNkq
oSVx7mXNuD1U7V8tJRbOiNdZFpS6mwIDAQABoy8wLTAdBgNVHREEFjAUgRJteXNlbGZAcm9q
ZXIucHAucnUwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQQFAAOBgQAmvjeaZmSMwreI1RIl
M1frBBOatokRhsStY6nyswNwxpCCcMGiK6sS8a0rtE4Iowvm48oCfXG062anUAFUMJ+e6Fse
uOE1lJKrFQRJWGUzp61BOZJH8HZfKnrb7ll2GXY7YvvBicmif/wdjEBgp0WwNucm6jJS/57f
mY3M9LQbwzCCAvkwggJioAMCAQICEA6d3TvG5eRen2BAM1uAkm0wDQYJKoZIhvcNAQEEBQAw
YjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4x
LDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA2MDQw
MTE4MjY1NFoXDTA3MDQwMTE4MjY1NFowXzEQMA4GA1UEBBMHUnlhYmtvdjEPMA0GA1UEKhMG
RGVvbWlkMRcwFQYDVQQDEw5EZW9taWQgUnlhYmtvdjEhMB8GCSqGSIb3DQEJARYSbXlzZWxm
QHJvamVyLnBwLnJ1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmnOKvalRf0lr
l/4S2fAVovyt2FxjDn8hDhSOeYNY97Ddi8Y2t+eELg7cpxAUq9GnymPBQanGlvUN2VTuSA4Y
UVg+VE1yhGgETDKm0CNVh0v5LOVVAs52IFvdQ0wREYRH0nPBa/ovPWVvlsJ/cIR5GhvRfAW3
FbvuP+bEYU54ESo7OTu7EeGVOLBTF5ow1zaU9PStIied3ffaK5xl8lB6TnQ7DBnIir0ugCqd
AuaVxsjD4SfGhqzv42uOuvNjFCQhtFn9dUSnx1cF1TI39cumqVV4UNrqDlQZ4bgrBu/ClqSI
4oJnfxgafNkqoSVx7mXNuD1U7V8tJRbOiNdZFpS6mwIDAQABoy8wLTAdBgNVHREEFjAUgRJt
eXNlbGZAcm9qZXIucHAucnUwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQQFAAOBgQAmvjea
ZmSMwreI1RIlM1frBBOatokRhsStY6nyswNwxpCCcMGiK6sS8a0rtE4Iowvm48oCfXG062an
UAFUMJ+e6FseuOE1lJKrFQRJWGUzp61BOZJH8HZfKnrb7ll2GXY7YvvBicmif/wdjEBgp0Ww
Nucm6jJS/57fmY3M9LQbwzCCAz8wggKooAMCAQICAQ0wDQYJKoZIhvcNAQEFBQAwgdExCzAJ
BgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEa
MBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2Vy
dmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBDQTEr
MCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTAeFw0wMzA3MTcw
MDAwMDBaFw0xMzA3MTYyMzU5NTlaMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUg
Q29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1h
aWwgSXNzdWluZyBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxKY8VXNV+065ypla
HmjAdQRwnd/p/6Me7L3N9VvyGna9fww6YfK/Uc4B1OVQCjDXAmNaLIkVcI7dyfArhVqqP3FW
y688Cwfn8R+RNiQqE88r1fOCdz0Dviv+uxg+B79AgAJk16emu59l0cUqVIUPSAR/p7bRPGEE
QB5kGXJgt/sCAwEAAaOBlDCBkTASBgNVHRMBAf8ECDAGAQH/AgEAMEMGA1UdHwQ8MDowOKA2
oDSGMmh0dHA6Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVQZXJzb25hbEZyZWVtYWlsQ0EuY3Js
MAsGA1UdDwQEAwIBBjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRUHJpdmF0ZUxhYmVsMi0x
MzgwDQYJKoZIhvcNAQEFBQADgYEASIzRUIPqCy7MDaNmrGcPf6+svsIXoUOWlJ1/TCG4+DYf
qi2fNi/A9BxQIJNwPP2t4WFiw9k6GX6EsZkbAMUaC4J0niVQlGLH2ydxVyWN3amcOY6MIE9l
X5Xa9/eH1sYITq726jTlEBpbNU1341YheILcIRk13iSx0x1G/11fZU8xggNkMIIDYAIBATB2
MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQu
MSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIQDp3dO8bl
5F6fYEAzW4CSbTAJBgUrDgMCGgUAoIIBwzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwG
CSqGSIb3DQEJBTEPFw0wNjEyMjUxNTE4MDJaMCMGCSqGSIb3DQEJBDEWBBRPRSVHwT+eGMJv
YgodLa5uC8+PSDBSBgkqhkiG9w0BCQ8xRTBDMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIA
gDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBhQYJKwYBBAGCNxAE
MXgwdjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
THRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0ECEA6d
3TvG5eRen2BAM1uAkm0wgYcGCyqGSIb3DQEJEAILMXigdjBiMQswCQYDVQQGEwJaQTElMCMG
A1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBl
cnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0ECEA6d3TvG5eRen2BAM1uAkm0wDQYJKoZIhvcN
AQEBBQAEggEAYdSTzz82TJGNgBKmfKLpQfdRZT6YjQeKFwbegXs9FMxJEEq6epSOhM0a1xNf
zBs97Bk3hVH7aQtdphk3sIPKceHPhQs6dM0wueHBFP/DvBs8vEPEBnVXQ2jMQG4CusjhFuv/
58zhQ2AIqWK2vlG/KQ8UyNnV+mg1qWnj/S9T4rl6GxuKGVIzbdITnvSy2kUejiQlhm+4YfvJ
5PUCvzWIj7pOZ8c5UlfDEM3AQI6NQbxCwCpbtn7dFxCPAfmNL8TH24G19q8AqKTnGM1vOf3b
RYAlLEclPws7bvnQmRldmmwYICV4E0EMvuGGgobF8ApUiKzEw4u1czqV5coDW2eHhwAAAAAA
AA==
--------------ms070700030506060502020107--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?458FEBAA.7020104>