Tcl Source Code

View Ticket
Login
Ticket UUID: 1964803
Title: crash with tcl_traceExec and format strings
Type: Bug Version: obsolete: 8.5.2
Submitter: ajpasadyn Created on: 2008-05-15 19:34:40
Subsystem: 47. Bytecode Compiler Assigned To: msofer
Priority: 9 Immediate Severity:
Status: Closed Last Modified: 2008-05-16 21:40:00
Resolution: Fixed Closed By: msofer
    Closed on: 2008-05-16 14:40:00
Description:
I'm using the exec trace to try to track down what the interpreter is doing when I encounter a Tcl_Panic in 8.5.2, and I got a crash in the trace itself.  

% set tcl_traceExec 3
3
% set fmt "%s%s"

Executing ByteCode 0x00BF96B0, refCt 2, epoch 3, interp 0x00A3CB68 (epoch 3)
  Source: "history add {set fmt \"    4??vQg*?(null)\"}"
  Cmds 1, src 28, inst 9, litObjs 3, aux 0, stkDepth 3, code/src 0.00
  Starting stack top=0
 1:  0 (0) push1 0      # "history"
 1:  1 (0) push1 0 => "history"
 1:  1 (2) push1 1      # "add"
 1:  2 (2) push1 1 => "add"
 1:  2 (4) push1 2      # "set fmt \"%s%s\""
 1:  3 (4) push1 2 =>


It's passing an unknown string to fprintf without a format string.  I attached a patch I'm using to get past it.
User Comments: msofer added on 2008-05-16 21:39:59:
Logged In: YES 
user_id=148712
Originator: NO

Good catch, good fix: committed. Thanks!

ajpasadyn added on 2008-05-16 02:34:40:

File Added - 277927: tclCompile.patch

Attachments: