Opened 7 years ago

Closed 7 years ago

#53360 closed defect (fixed)

Removed Python 3.6 subport of py-readline

Reported by: radarhere (Andrew Murray) Owned by: jyrkiwahlstedt
Priority: Normal Milestone:
Component: ports Version:
Keywords: haspatch Cc: ryandesign (Ryan Carsten Schmidt), jsalort (Julien Salort), akkornel (A. Karl Kornel), dylib
Port: py-readline python36

Description

#53243 added Python 3.6 to py-readline. However, as noted in that issue, it currently crashes in that environment. So this change removes the subport.

Attachments (1)

Portfile-py-readline.diff (288 bytes) - added by radarhere (Andrew Murray) 7 years ago.

Download all attachments as: .zip

Change History (14)

Changed 7 years ago by radarhere (Andrew Murray)

Attachment: Portfile-py-readline.diff added

comment:1 Changed 7 years ago by mf2k (Frank Schima)

Cc: ryandesign added

comment:2 Changed 7 years ago by mf2k (Frank Schima)

Cc: jsalort added

Cc reporter of duplicate #53409.

Last edited 7 years ago by mf2k (Frank Schima) (previous) (diff)

comment:3 Changed 7 years ago by akkornel (A. Karl Kornel)

Cc: akkornel added

comment:4 Changed 7 years ago by akkornel (A. Karl Kornel)

I hit this issue, and found that installing python36 +readline (after removing py36-readline) got things working again. That made me wonder:

  • python36 is still telling people to install py36-readline if using Python from the Terminal. Should that be changed to reference the readline variant?
  • Should the readline variant be marked as default? Or is there a way to get python36+readline to be cached at Macports even though it's not the default?

I ask the latter question because it may be annoying to users who install Python 3.6, only to be told that they have to re-install (with the extra build delay) what they just installed, if they wanted to use the Terminal.

comment:5 Changed 7 years ago by JDLH (Jim DeLaHunt)

This problem occurred for me also.

Uninstalling py36-readline, then doing sudo port install python36 +readline fixed the crash for me.

For the benefit of others searching for a solution to this problem, I'm pasting the crash symptoms here:

% python3.6
Python 3.6.0 (default, Dec 23 2016, 12:50:55) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> a=2
Python(26362,0x7fffab1043c0) malloc: *** error for object 0x108253640: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort trap: 6

I strongly agree that we should improve the notes for python36. Here's what they just told me. As best I understand, this is bad advice. It should instead say, "If you are using python36 from the terminal, install python36 +readline . Uninstall py36-readline, it is not necessary for python36 and later."

  python36 has the following notes:
    To make this the default Python or Python 3 (i.e., the version run by the 'python' or 'python3' commands), run one or both of:
    
        sudo port select --set python python36
        sudo port select --set python3 python36
    
    ##############################################################
    # IF YOU ARE USING PYTHON FROM THE TERMINAL, PLEASE INSTALL:
    #   py36-readline
    # TO AVOID A LIBEDIT / PYTHON INTERACTION ISSUE.
    # REF: https://trac.macports.org/ticket/48807
    ##############################################################

comment:6 Changed 7 years ago by mf2k (Frank Schima)

Cc: dylib added

Has duplicate #54185.

comment:7 Changed 7 years ago by petrrr

Owner: set to jyrkiwahlstedt
Status: newassigned

comment:8 Changed 7 years ago by petrrr

Port: python36 added

comment:9 Changed 7 years ago by petrrr

Assigning this to the maintainer of python36, because of the discussion on notes and variant.

comment:10 Changed 7 years ago by raimue (Rainer Müller)

Why not fix the crash by backporting the upstream fix instead of removing support? According to the upstream report, the latest master works.

comment:11 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

py-readline needs to be replaced with py-gnureadline; see #44206. But py-gnureadline needs to be fixed for this problem. It's unclear to me just based on looking at the commits which commit would fix this problem.

comment:12 Changed 7 years ago by jmroot (Joshua Root)

See also #53176.

comment:13 Changed 7 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: assignedclosed

In 2185280a3817ff020fc64fd09cea871618a8b8ba/macports-ports:

py-readline, py-gnureadline: remove broken py36 subport

Closes: #53360

Note: See TracTickets for help on using tickets.