Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IDLE does not run with Py30b3 #47878

Closed
mark-summerfield mannequin opened this issue Aug 21, 2008 · 4 comments
Closed

IDLE does not run with Py30b3 #47878

mark-summerfield mannequin opened this issue Aug 21, 2008 · 4 comments
Labels
release-blocker topic-IDLE type-crash A hard crash of the interpreter, possibly with a core dump

Comments

@mark-summerfield
Copy link
Mannequin

mark-summerfield mannequin commented Aug 21, 2008

BPO 3628
Nosy @mdickinson, @mark-summerfield, @benjaminp

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields:

assignee = None
closed_at = <Date 2008-09-19.21:49:50.120>
created_at = <Date 2008-08-21.08:06:30.432>
labels = ['expert-IDLE', 'type-crash', 'release-blocker']
title = 'IDLE does not run with Py30b3'
updated_at = <Date 2008-09-19.21:49:50.088>
user = 'https://github.com/mark-summerfield'

bugs.python.org fields:

activity = <Date 2008-09-19.21:49:50.088>
actor = 'benjamin.peterson'
assignee = 'none'
closed = True
closed_date = <Date 2008-09-19.21:49:50.120>
closer = 'benjamin.peterson'
components = ['IDLE']
creation = <Date 2008-08-21.08:06:30.432>
creator = 'mark'
dependencies = []
files = []
hgrepos = []
issue_num = 3628
keywords = []
message_count = 4.0
messages = ['71611', '71616', '71679', '73443']
nosy_count = 3.0
nosy_names = ['mark.dickinson', 'mark', 'benjamin.peterson']
pr_nums = []
priority = 'release blocker'
resolution = 'fixed'
stage = None
status = 'closed'
superseder = None
type = 'crash'
url = 'https://bugs.python.org/issue3628'
versions = ['Python 3.0']

@mark-summerfield
Copy link
Mannequin Author

mark-summerfield mannequin commented Aug 21, 2008

When I try to run IDLE in Py30b3 I get a traceback, then the main window
appears with an error message box and an OK button; once I click OK,
IDLE goes away.

$ ~/opt/python30b3/bin/idle
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/mark/opt/python30b3/lib/python3.0/idlelib/run.py", line
76, in main
    sockthread.set_daemon(True)
AttributeError: 'Thread' object has no attribute 'set_daemon'

It looks like there's been some mixup with threading... in an earlier
beta there was setDaemon(), then it became set_daemon(), and now it is
back to setDaemon() again. And unfortunately, the obvious fix (change
the name to setDaemon()), although it gets past this problem, just leads
to another:

$ ~/opt/python30b3/bin/idle # using setDaemon
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/mark/opt/python30b3/lib/python3.0/idlelib/run.py", line
76, in main
    sockthread.setDaemon(True)
  File "/home/mark/opt/python30b3/lib/python3.0/threading.py", line 674,
in setDaemon
    "Thread.daemon property", DeprecationWarning)
  File "/home/mark/opt/python30b3/lib/python3.0/warnings.py", line 18,
in showwarning
    file.write(formatwarning(message, category, filename, lineno, line))
TypeError: idle_formatwarning_subproc() takes exactly 4 positional
arguments (5 given)

I did run make test and got 300 tests OK with 22 skipped all expected on
linux2.

@mark-summerfield mark-summerfield mannequin added topic-IDLE type-crash A hard crash of the interpreter, possibly with a core dump labels Aug 21, 2008
@mark-summerfield
Copy link
Mannequin Author

mark-summerfield mannequin commented Aug 21, 2008

Just realised how to fix this. Change line 76 in idlelib/run.py:

# change this:
    sockthread.set_daemon(True)
# to this:
    sockthread.daemon = True

and IDLE runs fine.

@mdickinson
Copy link
Member

This should be changed in 2.6 as well (from sockthread.setDaemon(True) to
sockthread.daemon = True).

By the way, I notice that there are also used of setDaemon, isDaemon,
getName and setName in Lib/multiprocessing/dummy/init.py; these
should probably also be replaced.

@benjaminp
Copy link
Contributor

Fixed in r66518.

@ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-blocker topic-IDLE type-crash A hard crash of the interpreter, possibly with a core dump
Projects
None yet
Development

No branches or pull requests

3 participants