Re: Session file locking not working properly in multithreaded environment

Tim Roberts <[email protected]> Fri, 10 May 2019 10:31:24 -0700
Newsgroups gmane.comp.python.cherrypy
Organization Providenza & Boekelheide, Inc.
Message-ID <[email protected]>
This is a cryptographically signed message in MIME format.

--------------ms070108060604010205060004
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Language: en-US

Ralph Heinkel wrote:
> I'm not completely convinced that this is true. Here is an example=20
> where a second lock on the same file fails within the same thread:
> ...
> Only if lock2 was obtained from fp1.fileno() then no exception would=20
> have been raised. As soon as a separate file descriptor (for the same=20
> file) is used a second lock also fails.
> But this is exaclty the point that makes me wonder why it then works=20
> in cherrypy. From the log you can see that each thread uses a=20
> different file descriptor for the lock file, so it should fail there=20
> as well...=C2=A0 I'm still puzzled.

Yes, you're right.=C2=A0 The behavior I described is only true if you try t=
o=20
flock the same file descriptor, or file descriptors that are "dup"s of=20
each other.=C2=A0 If the file descriptors came from two separate opens, the=
n=20
the flock should work.

The zc.lockfile I'm looking at certainly opens a new fd each time, but=20
the source I'm looking at doesn't have a UnixLockFile class, as your log=20
shows.

Your log shows to calls to _lock_file, but it doesn't show that the both=20
succeed.=C2=A0 Do they?

--=20
Tim Roberts, [email protected]
Providenza & Boekelheide, Inc.


--=20
You received this message because you are subscribed to the Google Groups "=
cherrypy-users" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to cherrypy-users+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
To post to this group, send email to cherrypy-users-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
Visit this group at https://groups.google.com/group/cherrypy-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/=
cherrypy-users/4244c768-db58-011b-2a64-edba1bcedb38%40probo.com.
For more options, visit https://groups.google.com/d/optout.

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

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC
CxUwggUnMIIED6ADAgECAhBoP+rRK2CFDztwhYipKhMsMA0GCSqGSIb3DQEBCwUAMIGXMQsw
CQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxm
b3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDE9MDsGA1UEAxM0Q09NT0RPIFJTQSBD
bGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQTAeFw0xODA4MTQwMDAw
MDBaFw0xOTA4MTQyMzU5NTlaMB8xHTAbBgkqhkiG9w0BCQEWDnRpbXJAcHJvYm8uY29tMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvUp6dQDpjqt/rsHjA22dNdGRaEDDl6Os
ZFOJdoHyMuiy/x9aKq+p60RdXpSRMu8CwHAj3+2taKdJL8Vn6wOxa0dZpOjUOA0fn2aZ+8U7
jv/Gw0sVHw/3x9I8SUV21vgooRZFBKlFnOqyU8hnWWu93S43YirhLiuNva38BKvbL12Ybv1O
i9cc/RFXhrasUrAdgWILYGdOkXllRdrrBC3Ir9cm6xXLdtOeHVEyb2bxr8tccBKlcmBPU7sY
vJatEoKh5DDenQKvyN7MYOOAGIrcbffX8AGr4UIC9SGYmJsWeqUJYt/uqhaRaV+ekhywhTgj
QIoEp7q3TzaNuak+puAPIQIDAQABo4IB5DCCAeAwHwYDVR0jBBgwFoAUgq9sjPjF/pZhfOgf
PStxSF7Ei8AwHQYDVR0OBBYEFETarb5rMaxRP+mRiqAO4L2s9nbSMA4GA1UdDwEB/wQEAwIF
oDAMBgNVHRMBAf8EAjAAMCAGA1UdJQQZMBcGCCsGAQUFBwMEBgsrBgEEAbIxAQMFAjARBglg
hkgBhvhCAQEEBAMCBSAwRgYDVR0gBD8wPTA7BgwrBgEEAbIxAQIBAQEwKzApBggrBgEFBQcC
ARYdaHR0cHM6Ly9zZWN1cmUuY29tb2RvLm5ldC9DUFMwWgYDVR0fBFMwUTBPoE2gS4ZJaHR0
cDovL2NybC5jb21vZG9jYS5jb20vQ09NT0RPUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRT
ZWN1cmVFbWFpbENBLmNybDCBiwYIKwYBBQUHAQEEfzB9MFUGCCsGAQUFBzAChklodHRwOi8v
Y3J0LmNvbW9kb2NhLmNvbS9DT01PRE9SU0FDbGllbnRBdXRoZW50aWNhdGlvbmFuZFNlY3Vy
ZUVtYWlsQ0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wGQYD
VR0RBBIwEIEOdGltckBwcm9iby5jb20wDQYJKoZIhvcNAQELBQADggEBAJnexNN7lzX5o4zI
NSG/XReFH6tGTUt4B1dDJeB2oNqOG2QMU2JypG50YvlHYiZb9KguqKQ0ZJEhISi1f0V+McyD
bKySqGhBppX68wLSnadRQhFis3le47ZKZIDtbn8OCsTaVTSVIHSMab3Ze86zebOWhL85jA5f
rWYzvBuJeiQkCapYTIyCkKGj2csrfEvuOFLFlPR7F83Z4qw33tkYfkPd2NIQ+O9ai0AU2/qM
qTnb+c+DoN8HI6j2JWmdK77hlj/KRK2JASI+EvsblEBoiOg3EjzAnQMdBvhxbhgnh+OqjTMX
Ra2hJJ11AtjV2QLeujbwS8W0AnlJsd8B6Sf7FQcwggXmMIIDzqADAgECAhBqm+E4O/8ra58B
1dm4p1JWMA0GCSqGSIb3DQEBDAUAMIGFMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRl
ciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGlt
aXRlZDErMCkGA1UEAxMiQ09NT0RPIFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x
MzAxMTAwMDAwMDBaFw0yODAxMDkyMzU5NTlaMIGXMQswCQYDVQQGEwJHQjEbMBkGA1UECBMS
R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8g
Q0EgTGltaXRlZDE9MDsGA1UEAxM0Q09NT0RPIFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24g
YW5kIFNlY3VyZSBFbWFpbCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL6z
nlesKHZ1QBbHOAOY08YYdiFQ8yV5C0y1oNF9Olg+nKcxLqf2NHbZhGra0D00SOTq9bus3/mx
gUsg/Wh/eXQ0pnp8tZ8XZWAnlyKMpjL+qUByRjXCA6RQyDMqVaVUkbIr5SU0RDX/kSsKwer3
H1pT/HUrBN0X8sKtPTdGX8XAWt/VdMLBrZBlgvnkCos+KQWWCo63OTTqRvaq8aWccm+KOMjT
cE6s2mj6RkalweyDI7X+7U5lNo6jzC8RTXtVV4/Vwdax720YpMPJQaDaElmOupyTf1Qib+cp
ukNJnQmwygjD8m046DQkLnpXNCAGjuJy1F5NATksUsbfJAr7FLUCAwEAAaOCATwwggE4MB8G
A1UdIwQYMBaAFLuvfgI9+qbxPISOre44mOzZMjLUMB0GA1UdDgQWBBSCr2yM+MX+lmF86B89
K3FIXsSLwDAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADARBgNVHSAECjAI
MAYGBFUdIAAwTAYDVR0fBEUwQzBBoD+gPYY7aHR0cDovL2NybC5jb21vZG9jYS5jb20vQ09N
T0RPUlNBQ2VydGlmaWNhdGlvbkF1dGhvcml0eS5jcmwwcQYIKwYBBQUHAQEEZTBjMDsGCCsG
AQUFBzAChi9odHRwOi8vY3J0LmNvbW9kb2NhLmNvbS9DT01PRE9SU0FBZGRUcnVzdENBLmNy
dDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEBDAUA
A4ICAQB4XLKBKDRPPO5fVs6fl1bsj6JrF/bz9kkIBtTYLzXN30D+03Hj6OxCDBEaIeNmsBhr
JmuubvyE7HtoSmR809AgcYboW+rcTNZ/8u/Hv+GTrNI/AhqX2/kiQNxmgUPt/eJPs92Qclj0
HnVyy9TnSvGkSDU7I5Px+TbO+88G4zipA2psZaWeEykgzClZlPz1FjTCkk77ZXp5cQYYexE6
zeeN4/0OqqoAloFrjAF4o50YJafX8mnahjp3I2Y2mkjhk0xQfhNqbzlLWPoT3m7j7U26u7zg
6swjOq8hITYc3/np5tM5aVyu6t99p17bTbY7+1RTWBviN9YJzK8HxzObXYWBf/L+VGOYNsQD
TxAk0Hbvb1j6KjUhg7fO294F29QIhhmiNOr84JHoy+fNLpfvYc/Q9EtFOI5ISYgOxLk3nD/w
hbUe9rmEQXLp8MB933Ij474gwwCPUpwv9mj2PMnXoc7mbrS22XUSeTwxCTP9bcmUdp4jmIoW
fhQm7X9w/Zgddg+JZ/YnIHOwsGsaTUgj7fIvxqith7DoJC91WJ8Lce3CVJqb1XWeKIJ84F7Y
LXZN0oa7TktYgDdmQVxYkZo1c5noaDKH9Oq9cbm/vOYRUM1cWcef20Wkyk5S/GFyyPJwG0fR
1nRas3DqAf4cXxMiEKcff7PNa4M3RGTqH0pWR8p6EjGCBDUwggQxAgEBMIGsMIGXMQswCQYD
VQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3Jk
MRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDE9MDsGA1UEAxM0Q09NT0RPIFJTQSBDbGll
bnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIQaD/q0StghQ87cIWIqSoT
LDANBglghkgBZQMEAgEFAKCCAlkwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG
9w0BCQUxDxcNMTkwNTEwMTczMTI0WjAvBgkqhkiG9w0BCQQxIgQgb5Em6IUUQNaeEM9WllZe
M6CUoyMAw6wOglb50Fz5s4QwbAYJKoZIhvcNAQkPMV8wXTALBglghkgBZQMEASowCwYJYIZI
AWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUr
DgMCBzANBggqhkiG9w0DAgIBKDCBvQYJKwYBBAGCNxAEMYGvMIGsMIGXMQswCQYDVQQGEwJH
QjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYD
VQQKExFDT01PRE8gQ0EgTGltaXRlZDE9MDsGA1UEAxM0Q09NT0RPIFJTQSBDbGllbnQgQXV0
aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIQaD/q0StghQ87cIWIqSoTLDCBvwYL
KoZIhvcNAQkQAgsxga+ggawwgZcxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1h
bmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVk
MT0wOwYDVQQDEzRDT01PRE8gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBAhBoP+rRK2CFDztwhYipKhMsMA0GCSqGSIb3DQEBAQUABIIBAIByg7AG7hW7
sRkZXoHvDsqNZUCXkDQ7oy5YlrINYZqvb2bFjG0A6M1oVhYQNCEEc4LR1crNkYpdE55ARWih
ccti+HFVF2YZciS0dNw5hSODh/nWMif5sGLnN7v9CML71CuORpsbUHZdfCf2ABO297As1ebc
Oa3uhSHZ2ZZjKz60H+45xqSsnvU8E6JxOtwTxZHafZc3ADPTgr2CNsBMOVVKZjmT2cI3a77l
K6bsfsaW+g9nOctJhnZFG/z9XGFGK2IOHHD7IZFvvffXNORDMaLDYTrQe4MfaTulhWwq/LyM
cerE2ZcMdjGn2LAJ1ILKv6g7dyfmKXEulHm/7tlKewQAAAAAAAA=
--------------ms070108060604010205060004--