Tcl Source Code

View Ticket
Login
Ticket UUID: 3865631578e3423a7786527af579e844c6ace321
Title: Tcl panics when writing a file exceeding `ulimit -f`
Type: Patch Created on: 2013-08-30 19:34:36
Submitter: sbron Assigned to: jan.nijtmans
Subsystem: 37. File System Severity: Minor
Priority: 5 Medium Last modified: 2026-10-14 07:39:36
Status: Closed Closed by: jan.nijtmans
Resolution: Fixed Closed on: 2026-10-14 07:39:36
Version: 8.6.18, 9.0.5, 9.1.0
Description:
When writing a file that exceeds the size allowed by ulimit -f, Tcl panics (File size limit exceeded). This can easily be turned into a more reasonable I/O error (file too large). See the attached patch.
User Comments:
serhiy.storchaka added on 2026-10-12 18:22:58:

Still happens in 8.6 and 9.x: the process is killed by SIGXFSZ.

Proposed fix in branch unix-ignore-sigxfsz: the attached patch, plus restoring the default action of SIGXFSZ in child processes, as for SIGPIPE, since ignored signals are inherited across exec(). Tests unixInit-1.3 and unixInit-1.4 check both.


jan.nijtmans added on 2026-10-14 07:39:36:

Fixed in [9a3e24fe8a62c7db|trunk], backported to core-9-0-branch and core-8-6-branch. But without the testcase: It may work on Linux, but won't work on all possible platforms (it doesn't work on Cygwin).

Many thanks!


Attachments: