[tahoe-lafs-trac-stream] [tahoe-lafs] #1989: foolscap: "an inbound callRemote ... failed" log entries include all arguments
tahoe-lafs
trac at tahoe-lafs.org
Mon May 27 22:02:25 UTC 2013
#1989: foolscap: "an inbound callRemote ... failed" log entries include all
arguments
-------------------------+-------------------------------------------------
Reporter: daira | Owner:
Type: defect | Status: new
Priority: normal | Milestone: undecided
Component: code- | Version: 1.10.0
network | Keywords: memory confidentiality capleak
Resolution: | logging foolscap
Launchpad Bug: |
-------------------------+-------------------------------------------------
Description changed by daira:
Old description:
> For example:
> {{{
> allmydata.storage.backends.cloud.cloud_common.CloudError: ("try 1 failed:
> PUT object ('shares/oh/ohcac6xn5ot7hxwfcstdeqcf4e/0.16624',) {}", '')
> ]
> 03:53:03.778 L23 []#87614 an inbound callRemote that we [n4zt] executed
> (on behalf of someone else, TubID uzie) failed
> 03:53:03.778 L10 []#87615 reqID=66831,
> rref=<allmydata.storage.bucket.BucketWriter object at 0x3bf6b50>,
> methname=RIBucketWriter.write
> 03:53:03.792 L10 []#87616 args=[8716681284L, '<VERY long string>']
> 03:53:03.792 L10 []#87617 kwargs={}
> 03:53:03.792 L10 []#87618 the LOCAL failure was: [...]
> }}}
>
> Note that in this case the cloud backend has avoided logging the data
> that we attempted to write, but foolscap has logged it, causing a
> temporarily memory leak and resulting in performance problems when
> argument strings are large.
>
> In other cases, logging the arguments of remote operations may leak
> secrets into the log (see also #562 and related tickets).
New description:
For example:
{{{
allmydata.storage.backends.cloud.cloud_common.CloudError: ("try 1 failed:
PUT object ('shares/oh/ohcac6xn5ot7hxwfcstdeqcf4e/0.16624',) {}", '')
]
03:53:03.778 L23 []#87614 an inbound callRemote that we [n4zt] executed
(on behalf of someone else, TubID uzie) failed
03:53:03.778 L10 []#87615 reqID=66831,
rref=<allmydata.storage.bucket.BucketWriter object at 0x3bf6b50>,
methname=RIBucketWriter.write
03:53:03.792 L10 []#87616 args=[8716681284L, '<VERY long string>']
03:53:03.792 L10 []#87617 kwargs={}
03:53:03.792 L10 []#87618 the LOCAL failure was: [...]
}}}
Note that in this case the cloud backend has avoided logging the data that
we attempted to write, but foolscap has logged it, causing a temporary
memory leak, and possibly resulting in performance problems when argument
strings are large.
In other cases, logging the arguments of remote operations may leak
secrets into the log (see also #562 and related tickets).
--
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1989#comment:3>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list