IDLE 3.5.1+ runtime error on Options -> Configure IDLE

Bug #1574892 reported by Mario Abarca
28
This bug affects 6 people
Affects Status Importance Assigned to Milestone
Python
Fix Released
Unknown
python3.5 (Ubuntu)
Fix Released
Undecided
Unassigned
Xenial
Fix Released
Undecided
Unassigned

Bug Description

Open IDLE for Python 3 on Ubuntu 16.04 (idle3 3.5.1-3) and click Options -> Configure IDLE.
The menus of IDLE stop responding and the terminal shows the following message:

Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python3.5/tkinter/__init__.py", line 1553, in __call__
    return self.func(*args)
  File "/usr/lib/python3.5/idlelib/EditorWindow.py", line 516, in config_dialog
    configDialog.ConfigDialog(self.top,'Settings')
  File "/usr/lib/python3.5/idlelib/configDialog.py", line 74, in __init__
    self.LoadConfigs()
  File "/usr/lib/python3.5/idlelib/configDialog.py", line 1086, in LoadConfigs
    self.LoadFontCfg()
  File "/usr/lib/python3.5/idlelib/configDialog.py", line 988, in LoadFontCfg
    self.SetFontSample()
  File "/usr/lib/python3.5/idlelib/configDialog.py", line 866, in SetFontSample
    self.labelFontSample.config(font=newFont)
  File "/usr/lib/python3.5/tkinter/__init__.py", line 1333, in configure
    return self._configure('configure', cnf, kw)
  File "/usr/lib/python3.5/tkinter/__init__.py", line 1324, in _configure
    self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: expected integer but got ""

Revision history for this message
André S. (anschitech) wrote :

I see the same error when using IDLE for _Python 2.7_ when trying to open Options -> Configure IDLE:
$ idle
Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1540, in __call__
    return self.func(*args)
  File "/usr/lib/python2.7/idlelib/EditorWindow.py", line 543, in config_dialog
    configDialog.ConfigDialog(self.top,'Settings')
  File "/usr/lib/python2.7/idlelib/configDialog.py", line 72, in __init__
    self.LoadConfigs()
  File "/usr/lib/python2.7/idlelib/configDialog.py", line 1103, in LoadConfigs
    self.LoadFontCfg()
  File "/usr/lib/python2.7/idlelib/configDialog.py", line 1005, in LoadFontCfg
    self.SetFontSample()
  File "/usr/lib/python2.7/idlelib/configDialog.py", line 883, in SetFontSample
    self.labelFontSample.config(font=newFont)
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1329, in configure
    return self._configure('configure', cnf, kw)
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1320, in _configure
    self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
TclError: expected integer but got ""
$ idle
Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1540, in __call__
    return self.func(*args)
  File "/usr/lib/python2.7/idlelib/EditorWindow.py", line 543, in config_dialog
    configDialog.ConfigDialog(self.top,'Settings')
  File "/usr/lib/python2.7/idlelib/configDialog.py", line 72, in __init__
    self.LoadConfigs()
  File "/usr/lib/python2.7/idlelib/configDialog.py", line 1103, in LoadConfigs
    self.LoadFontCfg()
  File "/usr/lib/python2.7/idlelib/configDialog.py", line 1005, in LoadFontCfg
    self.SetFontSample()
  File "/usr/lib/python2.7/idlelib/configDialog.py", line 883, in SetFontSample
    self.labelFontSample.config(font=newFont)
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1329, in configure
    return self._configure('configure', cnf, kw)
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1320, in _configure
    self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
TclError: expected integer but got ""

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in python3-defaults (Ubuntu):
status: New → Confirmed
Changed in python:
status: Unknown → New
Matthias Klose (doko)
affects: python3-defaults (Ubuntu) → python3.5 (Ubuntu)
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.3 KiB)

This bug was fixed in the package python3.5 - 3.5.1-12

---------------
python3.5 (3.5.1-12) unstable; urgency=medium

  * Update to 20160509 from the 3.5 branch.
    - Issue #26811: gc.get_objects() no longer contains a broken tuple with
      NULL pointer.
    - Issue #20120: Use RawConfigParser for .pypirc parsing, removing support
      for interpolation unintentionally added with move to Python 3. Behavior
      no longer does any interpolation in .pypirc files, matching behavior in
      Python 2.7 and Setuptools 19.0.
    - Issue #25745: Fixed leaking a userptr in curses panel destructor.
    - Issue #26881: The modulefinder module now supports extended opcode
      arguments.
    - Issue #23815: Fixed crashes related to directly created instances of
      types in _tkinter and curses.panel modules.
    - Issue #17765: weakref.ref() no longer silently ignores keyword arguments.
    - Issue #26873: xmlrpc now raises ResponseError on unsupported type tags
      instead of silently return incorrect result.
    - Issue #26881: modulefinder now works with bytecode with extended args.
    - Issue #26711: Fixed the comparison of plistlib.Data with other types.
    - Issue #24114: Fix an uninitialized variable in `ctypes.util`.
    - Issue #26864: In urllib.request, change the proxy bypass host checking
      against no_proxy to be case-insensitive, and to not match unrelated host
      names that happen to have a bypassed hostname as a suffix.
    - Issue #26634: recursive_repr() now sets __qualname__ of wrapper.
    - Issue #26804: urllib.request will prefer lower_case proxy environment
      variables over UPPER_CASE or Mixed_Case ones.
    - Issue #26837: assertSequenceEqual() now correctly outputs non-stringified
      differing items (like bytes in the -b mode).
      This affects assertListEqual() and assertTupleEqual().
    - Issue #26041: Remove "will be removed in Python 3.7" from deprecation
      messages of platform.dist() and platform.linux_distribution().
    - Issue #26822: itemgetter, attrgetter and methodcaller objects no longer
      silently ignore keyword arguments.
    - Issue #26733: Disassembling a class now disassembles class and static
      methods.
    - Issue #26801: Fix error handling in :func:`shutil.get_terminal_size`,
      catch :exc:`AttributeError` instead of :exc:`NameError`.
    - Issue #24838: tarfile's ustar and gnu formats now correctly calculate name
      and link field limits for multibyte character encodings like utf-8.
    - Issue #26657: Fix directory traversal vulnerability with http.server on
      Windows.
    - Issue #26736: Used HTTPS for external links in the documentation if
      possible.
    - Issue #22359: Disable the rules for running _freeze_importlib and pgen
      when cross-compiling. The output of these programs is normally saved
      with the source code anyway, and is still regenerated when doing a
      native build. Closes: #820509.
    - Issue #21668: Link audioop, _datetime, _ctypes_test modules to libm.
    - Issue #26799: Fix python-gdb.py: don't get C types once when the Python
      code is loaded, but get C types on demand. The C types can change if
      python-gdb.p...

Read more...

Changed in python3.5 (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in python3.5 (Ubuntu Xenial):
status: New → Confirmed
Changed in python:
status: New → Fix Released
Revision history for this message
Mario Abarca (knkillname) wrote :

So it says here that a fix was released a month ago but nothing happens even if I continuously update my system. As reported in http://bugs.python.org/issue26673 , the problem lies in the lack of a config file. Here is a quick workaround: Save the following file as $HOME/.idlerc/config-main.cfg

https://svn.python.org/projects/python/trunk/Mac/IDLE/config-main.def

Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Hello knkillname, or anyone else affected,

Accepted python3.5 into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/python3.5/3.5.2-2~16.01 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in python3.5 (Ubuntu Xenial):
status: Confirmed → Fix Committed
tags: added: verification-needed
Revision history for this message
Mario Abarca (knkillname) wrote :

Thank you, pitti. It works as it should and I could not find any regression.

~$ dpkg -s python3.5 | grep Version
Version: 3.5.2-2~16.01

tags: added: verification-done
removed: verification-needed
Revision history for this message
Martin Pitt (pitti) wrote : Update Released

The verification of the Stable Release Update for python3.5 has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (13.6 KiB)

This bug was fixed in the package python3.5 - 3.5.2-2~16.01

---------------
python3.5 (3.5.2-2~16.01) xenial-proposed; urgency=medium

  * SRU: LP: #1591887. Backport 3.5.2 to 16.04 LTS.

python3.5 (3.5.2-2) unstable; urgency=medium

  * asyncio: Fix callbacks race in SelectorLoop.sock_connect, proposed patch
    taken from https://github.com/python/asyncio/pull/366.
  * asyncio: Fix NameError in asyncio.sslproto. Closes: #827453.

python3.5 (3.5.2-1) unstable; urgency=medium

  * Python 3.5.2 release.
    - Issue #26867: Ubuntu's openssl OP_NO_SSLv3 is forced on by default;
      fix test.
    - Issue #27365: Allow non-ascii in idlelib/NEWS.txt.

python3.5 (3.5.2~rc1-3) unstable; urgency=medium

  * Fix building with the wheel files in the source package.

python3.5 (3.5.2~rc1-1) unstable; urgency=medium

  * Python 3.5.2 release candidate 1.
    - Issue #15657: Delete incorrect statement from PyMethodDef documentation.
    - Issue #27289: Prevent test_urllib2net failures due to EOFError raised
      by ftplib.
    - Issue #25455: Clean up reference loops created in tests for recursive.
    - Issue #27190: Raise NotSupportedError if sqlite3 is older than 3.3.1.
    - Issue #27188: Fix various sqlite3 documentation errors.
    - Issue #15476: Make "code object" its own entry in the index.
    - Issue #8491: Add link to Gnu Readline configuration documentation.
    - Issue #24617: Add comment for os.mkdir about mode quirks.
    - Issue #27280: Fix typo in IPv6Network documentation.
    - Issue #17500, and https://github.com/python/pythondotorg/issues/945:
      Remove unused and outdated icons.
    - Issue #20900: distutils register command now decodes HTTP responses
      correctly.
    - Issue #5124: Paste with selection should always replace.
      This is how paste work on Windows, Mac, modern Linux apps, and ttk
      widgets. The exception was X11 tk widgets.
    - Issue #27223: aio: Fix _read_ready and _write_ready to respect _conn_lost.
    - Issue #22970: asyncio: Fix inconsistency cancelling Condition.wait.
    - Issue #22558: Add remaining doc links to source code for Python-coded
      modules.
    - Issue #21386: Implement missing IPv4Address.is_global property.
    - Issue #27194: superfluous truncate calls in tarfile.py slow down
      extraction.
    - Issue #14209: pkgutil.iter_zipimport_modules ignores the prefix for
      packages.
    - Issue #24136: Document generalized unpacking, PEP 448.
    - Issue #27286: Fixed compiling BUILD_MAP_UNPACK_WITH_CALL opcode. Calling
      function with generalized unpacking (PEP 448) and conflicting keyword
      names could cause undefined behavior.
    - Issue #25455: Fixed a crash in repr of ElementTree.Element with recursive
      tag.
  * Extend debian/copyright to the files shipped in the wheel files.

python3.5 (3.5.1-16) unstable; urgency=high

  * Restore the distutils-init patch, only applied on upstream trunk.

python3.5 (3.5.1-15) unstable; urgency=high

  * Fix bad update of the distutils-install-layout patch.

python3.5 (3.5.1-14) unstable; urgency=medium

  * Update to 20160609 from the 3.5 branch.
    - A new version of typing.py provides several new classes and
      f...

Changed in python3.5 (Ubuntu Xenial):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.