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

ExtractorError: Unsupported JS expression u'['; ( Linux Mint 19.1 - After apt upgrade ) #26178

Closed
unityconstruct opened this issue Jul 30, 2020 · 1 comment

Comments

@unityconstruct
Copy link

@unityconstruct unityconstruct commented Jul 30, 2020

Summary:
After update of Mint Linux, youtube-dl 'seems' to be choking on the brackets now : '['
Things working wonderfully since updating to 2020.06.16 back in June (after a presumed YT API change)

BTW: youtube-dl KICKS ASS, so THANKS to the community for putting time/energy into this wonderful util.

Version:
Original Version:

youtube-dl --version 2020.06.16.1

Updated version during triage

youtube-dl --version 2020.07.28

Error Message:
ExtractorError: Unsupported JS expression u'[';

Command-line args:
[u'-v', u'--console-title', u'--verbose', u'-f', u'bestaudio[ext=mp3]/bestaudio/best', u'-x', u'--audio-format', u'mp3', u'--audio-quality', u'0', u'--keep-video', u'--embed-thumbnail', u'--write-all-thumbnails', u'--write-description', u'--write-info-json', u'--ignore-errors', u'--no-overwrites', u'--restrict-filenames', u'--download-archive', u'/media/media2/ytu/archive-audio.txt', u'--no-playlist', u'--output', u'/media/media2/v/ytu/%(uploader)s/audio/%(title)s-%(id)s-audio.%(ext)s', u'https://youtu.be/PtdYnhnoGI0']

Initial Triage:
looks like the upgrade updated packages that now have JS choking on the brackets
bestaudio[ext=mp3]

SysInfo:

inxi -Fxz
System:    Host: m4800 Kernel: 4.15.0-20-generic x86_64 bits: 64 compiler: gcc v: 7.3.0 Desktop: Cinnamon 4.0.10 
           Distro: Linux Mint 19.1 Tessa base: Ubuntu 18.04 bionic 

echo $(lsb_release -a)
No LSB modules are available.
Distributor ID: LinuxMint Description: Linux Mint 19.1 Tessa Release: 19.1 Codename: tessa

Files:
Bash Wrapper Script ( no changes in last 2 weeks or so )
yd.sh.log

Trace:

[debug] System config: []                                                                                                                                                                                                                     
[debug] User config: []                                                                                                                                                                                                                       
[debug] Custom config: []                                                                                                                                                                                                                     
[debug] Command-line args: [u'-v', u'--console-title', u'--verbose', u'-f', u'bestaudio[ext=mp3]/bestaudio/best', u'-x', u'--audio-format', u'mp3', u'--audio-quality', u'0', u'--keep-video', u'--embed-thumbnail', u'--write-all-thumbnails', u'--write-description', u'--write-info-json', u'--ignore-errors', u'--no-overwrites', u'--restrict-filenames', u'--download-archive', u'/media/media2/ytu/archive-audio.txt', u'--no-playlist', u'--output', u'/media/media2/v/ytu/%(uploader)s/audio/%(title)s-%(id)s-audio.%(ext)s', u'https://youtu.be/PtdYnhnoGI0']                                                                                                                                                                   
[debug] Encodings: locale UTF-8, fs UTF-8, out None, pref UTF-8                                                                                                                                                                               
[debug] youtube-dl version 2020.06.16.1                                                                                                                                                                                                       
[debug] Python version 2.7.17 (CPython) - Linux-4.15.0-20-generic-x86_64-with-LinuxMint-19.1-tessa                                                                                                                                            
[debug] exe versions: ffmpeg 3.4.8, ffprobe 3.4.8                                                                                                                                                                                             
[debug] Proxy map: {}                                                                                                                                                                                                                         
[youtube] PtdYnhnoGI0: Downloading webpage                                                                                                                                                                                                    
[youtube] Downloading just video PtdYnhnoGI0 because of --no-playlist                                                                                                                                                                         
[youtube] {18} signature length 104, html5 player f82a8c37                                                                                                                                                                                    
[youtube] PtdYnhnoGI0: Downloading player https://www.youtube.com/s/player/f82a8c37/player_ias.vflset/en_US/base.js                                                                                                                           
ERROR: Signature extraction failed: Traceback (most recent call last):                                                                                                                                                                        
  File "/media/media2/ytu/youtube-dl/youtube_dl/extractor/youtube.py", line 1426, in _decrypt_signature                                                                                                                                       
    video_id, player_url, s                                                                                                                                                                                                                   
  File "/media/media2/ytu/youtube-dl/youtube_dl/extractor/youtube.py", line 1338, in _extract_signature_function                                                                                                                              
    cache_res = res(test_string)                                                                                                                                                                                                              
  File "/media/media2/ytu/youtube-dl/youtube_dl/extractor/youtube.py", line 1402, in <lambda>
    return lambda s: initial_function([s])
  File "/media/media2/ytu/youtube-dl/youtube_dl/jsinterp.py", line 258, in resf
    res, abort = self.interpret_statement(stmt, local_vars)
  File "/media/media2/ytu/youtube-dl/youtube_dl/jsinterp.py", line 56, in interpret_statement
    v = self.interpret_expression(expr, local_vars, allow_recursion)
  File "/media/media2/ytu/youtube-dl/youtube_dl/jsinterp.py", line 92, in interpret_expression
    m.group('expr'), local_vars, allow_recursion - 1)
  File "/media/media2/ytu/youtube-dl/youtube_dl/jsinterp.py", line 189, in interpret_expression
    m.group('x'), local_vars, allow_recursion - 1)
  File "/media/media2/ytu/youtube-dl/youtube_dl/jsinterp.py", line 56, in interpret_statement
    v = self.interpret_expression(expr, local_vars, allow_recursion)
  File "/media/media2/ytu/youtube-dl/youtube_dl/jsinterp.py", line 211, in interpret_expression
    raise ExtractorError('Unsupported JS expression %r' % expr)
ExtractorError: Unsupported JS expression u'['; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
 (caused by ExtractorError(u"Unsupported JS expression u'['; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/media/media2/ytu/youtube-dl/youtube_dl/extractor/youtube.py", line 1426, in _decrypt_signature
    video_id, player_url, s
  File "/media/media2/ytu/youtube-dl/youtube_dl/extractor/youtube.py", line 1338, in _extract_signature_function
    cache_res = res(test_string)
  File "/media/media2/ytu/youtube-dl/youtube_dl/extractor/youtube.py", line 1402, in <lambda>
    return lambda s: initial_function([s])
  File "/media/media2/ytu/youtube-dl/youtube_dl/jsinterp.py", line 258, in resf
    res, abort = self.interpret_statement(stmt, local_vars)
  File "/media/media2/ytu/youtube-dl/youtube_dl/jsinterp.py", line 56, in interpret_statement
    v = self.interpret_expression(expr, local_vars, allow_recursion)
  File "/media/media2/ytu/youtube-dl/youtube_dl/jsinterp.py", line 92, in interpret_expression
    m.group('expr'), local_vars, allow_recursion - 1)
  File "/media/media2/ytu/youtube-dl/youtube_dl/jsinterp.py", line 189, in interpret_expression
    m.group('x'), local_vars, allow_recursion - 1)
  File "/media/media2/ytu/youtube-dl/youtube_dl/jsinterp.py", line 56, in interpret_statement
    v = self.interpret_expression(expr, local_vars, allow_recursion)
  File "/media/media2/ytu/youtube-dl/youtube_dl/jsinterp.py", line 211, in interpret_expression
    raise ExtractorError('Unsupported JS expression %r' % expr)
ExtractorError: Unsupported JS expression u'['; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/media/media2/ytu/youtube-dl/youtube_dl/YoutubeDL.py", line 797, in extract_info
    ie_result = ie.extract(url)
  File "/media/media2/ytu/youtube-dl/youtube_dl/extractor/common.py", line 530, in extract
    ie_result = self._real_extract(url)
  File "/media/media2/ytu/youtube-dl/youtube_dl/extractor/youtube.py", line 2107, in _real_extract
    encrypted_sig, video_id, player_url, age_gate)
  File "/media/media2/ytu/youtube-dl/youtube_dl/extractor/youtube.py", line 1436, in _decrypt_signature
    'Signature extraction failed: ' + tb, cause=e)
ExtractorError: Signature extraction failed: Traceback (most recent call last):
  File "/media/media2/ytu/youtube-dl/youtube_dl/extractor/youtube.py", line 1426, in _decrypt_signature
    video_id, player_url, s
  File "/media/media2/ytu/youtube-dl/youtube_dl/extractor/youtube.py", line 1338, in _extract_signature_function
    cache_res = res(test_string)
  File "/media/media2/ytu/youtube-dl/youtube_dl/extractor/youtube.py", line 1402, in <lambda>
    return lambda s: initial_function([s])
  File "/media/media2/ytu/youtube-dl/youtube_dl/jsinterp.py", line 258, in resf
    res, abort = self.interpret_statement(stmt, local_vars)
  File "/media/media2/ytu/youtube-dl/youtube_dl/jsinterp.py", line 56, in interpret_statement
    v = self.interpret_expression(expr, local_vars, allow_recursion)
  File "/media/media2/ytu/youtube-dl/youtube_dl/jsinterp.py", line 92, in interpret_expression
    m.group('expr'), local_vars, allow_recursion - 1)
  File "/media/media2/ytu/youtube-dl/youtube_dl/jsinterp.py", line 189, in interpret_expression
    m.group('x'), local_vars, allow_recursion - 1)
  File "/media/media2/ytu/youtube-dl/youtube_dl/jsinterp.py", line 56, in interpret_statement
    v = self.interpret_expression(expr, local_vars, allow_recursion)
  File "/media/media2/ytu/youtube-dl/youtube_dl/jsinterp.py", line 211, in interpret_expression
    raise ExtractorError('Unsupported JS expression %r' % expr)
ExtractorError: Unsupported JS expression u'['; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
 (caused by ExtractorError(u"Unsupported JS expression u'['; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
@unityconstruct
Copy link
Author

@unityconstruct unityconstruct commented Jul 30, 2020

Thx! Confirmed ..
youtube-dl -f "bestaudio[ext=mp3]/bestaudio/best" https://www.youtube.com/watch?v=EgMaBreDuF4
[youtube] EgMaBreDuF4: Downloading webpage
[download] Destination: Leonard Cohen - Who by fire-EgMaBreDuF4.webm
[download] 100% of 5.46MiB in 00:00

@ytdl-org ytdl-org locked and limited conversation to collaborators Jul 30, 2020
@ytdl-org ytdl-org deleted a comment from budowski Jul 30, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.