This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: IDLE: catch user cfg file error and improve error message
Type: behavior Stage: resolved
Components: IDLE Versions: Python 3.7, Python 3.6, Python 3.5
process
Status: closed Resolution: duplicate
Dependencies: Superseder: IDLE: catch user cfg file error, better error message, continue
View: 21973
Assigned To: terry.reedy Nosy List: Andrew Kontokanis, ned.deily, terry.reedy
Priority: normal Keywords:

Created on 2016-11-10 14:35 by Andrew Kontokanis, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
error.log.pdf Andrew Kontokanis, 2016-11-10 14:35
Messages (4)
msg280509 - (view) Author: Andrew Kontokanis (Andrew Kontokanis) Date: 2016-11-10 14:35
When I try and launch IDLE, the icon appears on the dock for a second and then disappears and the application doesn't run.
I was trying to install new themes but when I managed to do find .idlerc folder I had messed up with some idle folder. I tried to uninstall and install but it didn't work.
Trying to find solution I read some hints to check through terminal and I took these messages in attachment. I didn't find the same solution with the previous problems so I opened an question
msg280603 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2016-11-11 18:56
The exception message says that your problem is a bad byte in one of the config files.  The most likely culprit is the one you edited, which I presume is ~/.idlerc/config-highlight.cfg.  "Invalid start byte' suggests that it tried to decode as utf-8, but you used a non-ascii char and saved with some other encoding.  I suggest you stick with ascii only for theme names.  The set of theme item names should match the all-ascii set used in idlelib/config-highlight.def.

For future reference: a crash is a segfault or Mac equivalent, without a python traceback.  Uploaded text files should be plain ascii or utf-8 text, uncompressed and not wrapped.  "I have a problem.  Help me" requests should normally go to python-list or other forums.  The tracker is for bug reports and enhancement requests.

In this case, I decided to make this a bug and enhancement issue and changed the title accordingly.  The bug is that IDLE stopped instead of continuing without the user configuration, the same as it would if there were no file.  I propose to catch the exception and replace the traceback with the file name and error (the enhancement).  At least for user config files, IDLE should then continue (the bugfix).  The revised message will be something like the following.

"Unable to read .../.idlerc/config-highlight.cfg.
UnicodeDecodeError: ...
IDLE will continue without this user config file."
msg280611 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2016-11-11 20:56
This is effectively a duplicate of #21973.  In both issues, an error in the file causes an exception that is not caught, but should be.
msg280619 - (view) Author: Andrew Kontokanis (Andrew Kontokanis) Date: 2016-11-11 22:27
Thank you very much. The actual problem was that on copy paste it made an alias and not a real copy of the file that you mentioned. So It really helped me to solve the problem.
History
Date User Action Args
2022-04-11 14:58:39adminsetgithub: 72844
2016-11-11 22:27:20Andrew Kontokanissetmessages: + msg280619
2016-11-11 20:56:12terry.reedysetstatus: open -> closed
superseder: IDLE: catch user cfg file error, better error message, continue
messages: + msg280611

resolution: duplicate
stage: test needed -> resolved
2016-11-11 18:56:31terry.reedysetversions: + Python 3.6, Python 3.7
title: MacOsX idle don't run -> IDLE: catch user cfg file error and improve error message
messages: + msg280603

type: crash -> behavior
stage: test needed
2016-11-11 16:33:53ned.deilysetassignee: terry.reedy

components: + IDLE
nosy: + terry.reedy
2016-11-11 01:30:55Andrew Kontokanissetnosy: + ned.deily
2016-11-10 14:35:00Andrew Kontokaniscreate