After applying fix from bug 298843, the "jack" does some initialization and crashes on showing the rip/encoding progress screen Reproducible: Always Steps to Reproduce: 1. start "jack" with "--debug" but without "--silent-mode" option 2. "jack" reads config file, reads audio cd contents, creates directory structure 3. starts display of progress screen, crashes after first line on screen Actual Results: "jack" crashes during display of progress screen. To see debug output its necessary to redirect output to a file: jack --debug >outfile 2>&1 then I see a foreground error: *** glibc detected *** /usr/bin/python2.6: double free or corruption (out): 0x00007f9f13569120 *** and the file contains: This is jack 3.1.1 (C)2004 Arne Zellentin <zarne@users.sf.net> *debug* global_cf: {} *debug* user_cf: {'encoder': {'val': 'lame'}, 'ripper': {'val': 'cdparanoia'}, 'base_dir': {'val': '~/jack'}} *debug* argv_cf: {'debug': {'val': True}} *debug* username is martin *debug* hostname is bln8890n *debug* mail is martin@bln8890n, was default / @ *debug* multi_mode:0 *info* matching dir found: /home/martin/jack/jack-c611250e *debug* Track 13 LEN29462 != 18062 (trusting cdparanoia; to the right) *info* Track 14 not found by cdparanoia. Treated as non-audio. Traceback (most recent call last): File "/usr/bin/jack", line 224, in <module> jack_term.enable() File "/usr/lib64/python2.6/site-packages/jack_term.py", line 186, in enable tmod.enable() File "/usr/lib64/python2.6/site-packages/jack_t_curses.py", line 93, in enable noecho() ; cbreak() curses.error: cbreak() returned ERR *warning* abnormal exit Expected Results: start ripping audio cd, show progress result A workaround is to start "jack" without the progress screen using the "--silent-mode" option: jack --debug --silent-mode
Created attachment 237359 [details, diff] remove the usage of the included module jack_curses
Created attachment 237361 [details, diff] patch for new ebuild (proposed version 3.1.1-r2)
checking the sources, I found out that the upstream author has included a package named "cursesmodule" from Oliver Andrich. This was necessary for Python 1.x, but starting with Python 2.x there is a curses module included based on this work. see http://docs.python.org/whatsnew/2.0.html So I wrote a patch to switch back to the python-included curses module and see - it works. The upstream author will be informed.
(In reply to comment #3) > checking the sources, I found out that the upstream author has included a > package named "cursesmodule" from Oliver Andrich. This was necessary for Python > 1.x, but starting with Python 2.x there is a curses module included based on > this work. see http://docs.python.org/whatsnew/2.0.html > So I wrote a patch to switch back to the python-included curses module and see > - it works. > The upstream author will be informed. > I can confirm the same problem and that the patch fixes it.
And it won't ever get into Portage because of the bug author closed this bug as already fixed, while it's not was that intended?
(In reply to comment #5) > And it won't ever get into Portage because of the bug author closed this bug as > already fixed, while it's not > > was that intended? > I doubt that's what he intended. He sent me a personal email about this. That why I tested it. Even though he miss marked this bug report, could you please add his fixes in anyway? They still work and I'd hate to have to open a new bug report for it.
(In reply to comment #5) > And it won't ever get into Portage because of the bug author closed this bug as > already fixed, while it's not > > was that intended? > Seems closing the bug was a mistake - sorry for this. now reopened the bug for further processing.
Dear sound team, the attached patch makes `jack` work again. Could we please get them integrated to the tree?
(In reply to comment #8) > Dear sound team, the attached patch makes `jack` work again. Could we please > get them integrated to the tree? Dear Jan, To the best of my knowledge this was committed by Sebastian Pipping in June, although attribution could have been better: *jack-3.1.1-r1 (17 Jun 2010) *jack-3.0.0-r1 (17 Jun 2010) 17 Jun 2010; Sebastian Pipping <sping@gentoo.org> +jack-3.0.0-r1.ebuild, +files/jack-3.0.0-python26.patch, +jack-3.1.1-r1.ebuild: Fix Python 2.6 issue on keyword "with". Thanks for the patch to Martin Dummer
(In reply to comment #9) > To the best of my knowledge this was committed by Sebastian Pipping in June, > although attribution could have been better: Hi Tony, the patch which you refer to fixes only an issue with the "with" being a keyword in Python 2.6, which is bug 298843. This bug is about changing Jack to use the curses module from Python's standard library instead of a bundled implementation in C. The shipped C module won't work in recent Pythons (also 2.6, IIRC) correctly, hence the need for a patch.
Hello, the bug by jack-3.1.1 is in then file jack_function.py org version: def starts_with(str, with): "checks whether str starts with with" return str[0:len(_with)] == with new version: def starts_with(str, _with): "checks whether str starts with _with" return str[0:len(_with)] == _with with the new version emerge correctly.
are you willing to proxy maintain this? https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers
this also needs porting to new python eclasses
(In reply to Pacho Ramos from comment #12) > are you willing to proxy maintain this? Yes, I can do this. Porting this ebuild to new python eclasses will be a challenge for me, maybe you can give me a hint for an ebuild of a python 2.7 only application where I can take some inspiration from?
This could help you: https://wiki.gentoo.org/wiki/Project:Python/Eclasses If this is python2 only, you could rely on python-single-r1.eclass instead of python-r1.eclass... that is simpler most of the times :/
+# Michał Górny <mgorny@gentoo.org> (17 Feb 2017) +# Last release in 2004, broken at least since 2010. Seems to require +# complex patches, no effective maintainer, still uses old distutils +# eclass. Removal in 30 days. Bug #298850. +media-sound/jack If someone really cares to revive this ancient piece of software, you have 30 days to fix it.
I do really care about this nice cd ripper - believe it or not - I still use it. See attached the fixed ebuild. repoman likes it (with a little exception).
Created attachment 464158 [details] fixed ebuild for jack
Created attachment 464160 [details, diff] additional ebuild file #1
Created attachment 464162 [details, diff] additional ebuild file #2
Created attachment 464164 [details, diff] additional ebuild file #3
Created attachment 464166 [details, diff] additional ebuild file #4
@python, would someone be able to find time to help Martin with Python stuff? @Martin, if that's not a problem, GitHub pull request will be much easier to work with. Also, please put file names in descriptions, we can't really guess them.
(In reply to Michał Górny from comment #23) > @Martin, if that's not a problem, GitHub pull request will be much easier to > work with. Ok, will do that.
https://github.com/gentoo/gentoo/pull/4011
commit 646f4349916b798eae254248d85ece070f66ef25 Author: Martin Dummer <martin.dummer@gmx.net> Date: Sat Feb 18 15:42:40 2017 +0100 media-sound/jack: fix #298850, new EAPI and eclass - EAPI 6 - replace eclass distutils with distutils-r1 - fix ebuild python module dependencies - add proxy maintaintership - add functional enhancement: add cddb server freedb.musicbrainz.org Bug: https://bugs.gentoo.org/show_bug.cgi?id=298850