Bug#174945: Acknowledgement (apt: installing package with lots of conffiles breaks apt)
* Jason Gunthorpe
| On 2 Jan 2003, Tollef Fog Heen wrote:
|
| > In tagfile.h, the default buffer size is set to 32*1024. However, the
| > conffiles field of the package in question is 45040 bytes long. What
| > happens is the buffer is completely filled and therefore apt stops
| > working. The same happens if any other field is larger than 32k bytes
| > long, say a description.
|
| Yes, this is correct, any record cannot exceed 32K. If the buffer were
| made dynamic then it could potentially grow to unreasonable sizes on a
| corrupt file. I personally think 32K is a very reasonable limit,
| considering it is something like 50x larger than the average size.
|
| IMHO mailman should probably reconsider having such a large list.
I worked around it by using ucf, but IMHO, apt should not have hard
coded limits like this, but rather mmap the file (as dpkg does) or
something equivalent.
(with a somewhat trimmed Cc list. Hope I didn't really lose anybody
:)
--
Tollef Fog Heen ,''`.
UNIX is user friendly, it's just picky about who its friends are : :' :
`. `'
`-
Reply to: