Tk Source Code

View Ticket
Login
Ticket UUID: 3576114
Title: text widget crashes on long lines if -wrap none is set
Type: Bug Version: None
Submitter: iangay Created on: 2012-10-10 20:04:35
Subsystem: 18. [text] Assigned To: fvogel
Priority: 5 Medium Severity: Minor
Status: Closed Last Modified: 2015-10-12 20:15:10
Resolution: Out of Date Closed By: fvogel
    Closed on: 2015-10-12 20:15:10
Description:
With -wrap none, a sufficiently long line crashes the session.
Running OpenSuse 11.4
Crash occurs with tcl/tk 8.5.9 and 8.6b2
Crash occurs with several different window managers

Following program exhibits the crash:

package require Tk
set log_file /home/ian/tcl/crash_log

proc main {} {
   text .t -width 80 -height 30 -bg white -font {arial -12} -wrap none
   pack .t -fill both -expand 1
   
   for {set i 0} {$i < 10000} {incr i} {
      update idletasks
      .t insert end "A"
      set fd [open $::log_file w]
      puts $fd $i
      close $fd
   }
}
main

Note that the log file records how many characters were added
before the crash. Experimenting with different font sizes shows
that the crash occurs when the line exceeds about 8050 pixels.

This is slightly similar to bug 624732 - but that is reported as fixed...
User Comments: fvogel added on 2015-10-01 06:21:03:
ping?

fvogel added on 2015-09-03 20:33:53:
Is this still happening (preferably on a recent system)?

Can you provide a stack trace at the crash point?

iangay added on 2012-11-20 02:06:58:
This is looking like a video driver problem. Under OpenSuse 11.4, the crash occurs when using the intel driver, but not with the fbdev driver. Under OpenSuse 12.2 (live CD, not installed) the crash does not happen at all. Note that 12.2 has a later kernel version, and perhaps updated drivers.

It is a little unsettling, however, that the crash was induced by the change from tcl 8.4 to 8.5 (see previous comments).

fvogelnew1 added on 2012-10-22 01:00:33:
Works for me on OpenSuse 12.2 with KDE, under Tk 8.5.11.

iangay added on 2012-10-15 19:59:09:
It turns out there is no crash on a 8.4.13 build.
Using starkits from equi4.com, I find that 8.5.0 crashes, and 8.4.18 does not.
Looks like a problem was introduced in 8.5.
I wonder if this is something like a buffer overrun which just happens to have more dramatic effects under OpenSuse than under other distributions.

iangay added on 2012-10-14 15:47:18:
Interesting. I see the bug on OpenSuse with 2 different kernels, 2.6 and 3.5.
maybe it's a video driver thing. What video do you have? Mine's Intel 965.

However, if I write 10000 characters as one line into a canvas, instead of a
text widget, it does _not_ crash. So this may argue against a video problem

Ian

fvogelnew1 added on 2012-10-14 00:53:18:
Similar to #1449858 perhaps?

Works OK for me on either:
  - Windows Vista (Tk 8.5.9)
  - Debian 6.0 Squeeze (Tk 8.5.8)
  - Ubuntu 12.04 Precise Pangolin (Tk 8.5.11)

No OpenSuse at hand, sorry.