Bug 602572

Summary: [abrt] crash in python-nltk-1:0.9.9-2.fc13: Tkinter.py:1193:_configure:TclError: bad screen distance "80.0"
Product: [Fedora] Fedora Reporter: Milos Jakubicek <xjakub>
Component: python-nltkAssignee: Michel Lind <michel>
Status: CLOSED WORKSFORME QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 13CC: michel, robinlee.sysu
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: abrt_hash:caa97df4
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-11-12 14:13:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File: backtrace none

Description Milos Jakubicek 2010-06-10 08:30:23 UTC
abrt 1.1.1 detected a crash.

architecture: x86_64
cmdline: python /usr/lib/python2.6/site-packages/nltk/app/chartparser_app.py
component: python-nltk
executable: /usr/lib/python2.6/site-packages/nltk/app/chartparser_app.py
kernel: 2.6.33.5-112.fc13.x86_64
package: python-nltk-1:0.9.9-2.fc13
reason: Tkinter.py:1193:_configure:TclError: bad screen distance "80.0"
release: Fedora release 13 (Goddard)

backtrace
-----
Tkinter.py:1193:_configure:TclError: bad screen distance "80.0"

Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/nltk/app/chartparser_app.py", line 2281, in <module>
    app()
  File "/usr/lib/python2.6/site-packages/nltk/app/chartparser_app.py", line 2278, in app
    ChartParserApp(grammar, tokens).mainloop()
  File "/usr/lib/python2.6/site-packages/nltk/app/chartparser_app.py", line 1668, in __init__
    self._init_chartview(frame1)
  File "/usr/lib/python2.6/site-packages/nltk/app/chartparser_app.py", line 1744, in _init_chartview
    draw_tree=1, draw_sentence=1)
  File "/usr/lib/python2.6/site-packages/nltk/app/chartparser_app.py", line 965, in __init__
    self._analyze()
  File "/usr/lib/python2.6/site-packages/nltk/app/chartparser_app.py", line 1332, in _analyze
    self._resize()
  File "/usr/lib/python2.6/site-packages/nltk/app/chartparser_app.py", line 1349, in _resize
    c['scrollregion']=(0,0,width,self._chart_height)
  File "/usr/lib64/python2.6/lib-tk/Tkinter.py", line 1209, in __setitem__
    self.configure({key: value})
  File "/usr/lib64/python2.6/lib-tk/Tkinter.py", line 1202, in configure
    return self._configure('configure', cnf, kw)
  File "/usr/lib64/python2.6/lib-tk/Tkinter.py", line 1193, in _configure
    self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
TclError: bad screen distance "80.0"

Local variables in innermost frame:
cnf: {'scrollregion': (0, 0, 510, 80.0)}
self: <Tkinter.Canvas instance at 0x37b0c20>
cmd: 'configure'
kw: {}

Comment 1 Milos Jakubicek 2010-06-10 08:30:26 UTC
Created attachment 422822 [details]
File: backtrace

Comment 2 Michel Lind 2010-06-10 09:47:41 UTC
Hi Milos,

Thanks for the report. Could you describe a sequence of steps that would reproduce this problem?

Comment 3 Robin Lee 2010-11-09 10:32:48 UTC
http://code.google.com/p/nltk/issues/detail?id=592

Upstream response:
"I believe this is a Tkinter issue, and nothing we can resolve from within NLTK."


And the forwarded issue is marked "won't fix" upstream.

Comment 4 Michel Lind 2010-11-12 09:54:58 UTC
I recently reported a similar bug against Miro -- it was passing dimensions that are floating points and that is not permitted by GTK (but apparently valid on some other platforms).

The same issue might be the case here. I'll take a look -- but again, Milos, if you could let me know precisely what you were doing with nltk that would really help testing the fix.

Comment 5 Michel Lind 2010-11-12 14:13:55 UTC
I could not obtain non-integral values for "height" in testing, so I deliberately modified height by adding 0.5 to it, and still could not reproduce the problem.

so:
1) looks like nltk's chartparser_app generally produce integral heights anyway
2) and that Tkinter is perfectly happy with float values

If there was a Tkinter bug it must have been fixed.