Bench update doesn't work but bench update --patch works fine. help

I really don’t understand what is going on. My invoices won’t print, email not working. I tried bench update, no luck but bench update --patch works fine. Why? Help please.

frappe@erpnext:~/frappe-bench$ bench update
INFO:bench.utils:updating bench

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'frappe@erpnext.(none)')
Traceback (most recent call last):
  File "/usr/local/bin/bench", line 9, in <module>
    load_entry_point('bench', 'console_scripts', 'bench')()
  File "/home/frappe/bench-repo/bench/cli.py", line 40, in cli
    bench_command()
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 716, in 
__call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 696, in 
main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 1060, in
 invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 889, in 
invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 534, in 
invoke
    return callback(*args, **kwargs)
  File "/home/frappe/bench-repo/bench/commands/update.py", line 34, in updat
e
    update_bench()
  File "/home/frappe/bench-repo/bench/utils.py", line 227, in update_bench
    exec_cmd("git pull", cwd=cwd)
  File "/home/frappe/bench-repo/bench/utils.py", line 127, in exec_cmd
    raise CommandFailedError(cmd)
bench.utils.CommandFailedError: git pull
frappe@erpnext:~/frappe-bench$ bench update --patch
remote: Counting objects: 33, done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 33 (delta 30), reused 19 (delta 16), pack-reused 0
Unpacking objects: 100% (33/33), done.
From https://github.com/frappe/frappe
   9fe9536..3ce7907  develop    -> upstream/develop
Migrating erpnext.vm
Updating frappe                     : [=====================================
===]
Updating erpnext                    : [=====================================
===]
Syncing help database...
frappe-bench-frappe-schedule: stopped
frappe-bench-frappe-default-worker-0: stopped
frappe-bench-frappe-long-worker-0: stopped
frappe-bench-frappe-short-worker-0: stopped
frappe-bench-frappe-web: stopped
frappe-bench-node-socketio: stopped
frappe-bench-frappe-schedule: started
frappe-bench-frappe-default-worker-0: started
frappe-bench-frappe-long-worker-0: started
frappe-bench-frappe-short-worker-0: started
frappe-bench-frappe-web: started
frappe-bench-node-socketio: started
____________________________________________________________________________
____
Bench: Open source installer + admin for Frappe and ERPNext (https://erpnext
.com)

@Johannes_Maepa
You have some changes in erpnext/frappe

please set git config.
git config --global user.email “you@example.com
git config --global user.name “Your Name”

Stash your changes and run bench update

I did that, still having the same problem

I even ran sudo pip install pdfkit to update pdfkit from 0.5.0 to 0.6.0
I try to run bench update I get the following:

frappe@erpnext:~$ cd frappe-bench
frappe@erpnext:~/frappe-bench$ bench update
INFO:bench.utils:updating bench
Already up-to-date.
remote: Counting objects: 26, done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 26 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (26/26), done.
From https://github.com/frappe/frappe
   d91d519..5a02705  hotfix     -> upstream/hotfix
Requirement already satisfied: Pillow in ./env/lib/python2.7/site-packages
INFO:bench.app:pulling frappe
From https://github.com/frappe/frappe
 * branch            develop    -> FETCH_HEAD
Already up-to-date.
INFO:bench.app:pulling erpnext
remote: Counting objects: 24, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 24 (delta 18), reused 16 (delta 16), pack-reused 2
Unpacking objects: 100% (24/24), done.
From https://github.com/frappe/erpnext
 * branch            develop    -> FETCH_HEAD
   6f48d4b..23b836d  develop    -> upstream/develop
Updating 6f48d4b..23b836d
Fast-forward
 erpnext/docs/user/manual/en/setting-up/setup-wizard/step-8-customer-names.md |  2 +-
 erpnext/projects/report/daily_timesheet_summary/daily_timesheet_summary.js   | 16 ++++++----------
 erpnext/projects/report/daily_timesheet_summary/daily_timesheet_summary.py   |  4 +++-
 3 files changed, 10 insertions(+), 12 deletions(-)
INFO:bench.app:pulling erpnext_demo
From https://github.com/frappe/erpnext_demo
 * branch            master     -> FETCH_HEAD
Already up-to-date.
/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:318: SNIMissingWarning: 
An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause th
e server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solv
e this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#snimissingwarning.
  SNIMissingWarning
/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWar
ning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connect
ions to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/lates
t/security.html#insecureplatformwarning.
  InsecurePlatformWarning
Requirement already up-to-date: pip in ./env/lib/python2.7/site-packages
Exception:
Traceback (most recent call last):
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pip/req/req_set.py", line 778, in install
    requirement.uninstall(auto_confirm=True)
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pip/req/req_install.py", line 703, in uninstall
    '(at %s)' % (link_pointer, self.name, dist.location)
AssertionError: Egg-link  does not match installed location of pdfkit (at /home/frappe/frappe-bench/env/src/pdfkit)
Traceback (most recent call last):
  File "/usr/local/bin/bench", line 9, in <module>
    load_entry_point('bench', 'console_scripts', 'bench')()
  File "/home/frappe/bench-repo/bench/cli.py", line 40, in cli
    bench_command()
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/home/frappe/bench-repo/bench/commands/update.py", line 62, in update
    _update(pull, patch, build, bench, auto, restart_supervisor, requirements, no_backup, upgrade, force=force, reset=reset)
  File "/home/frappe/bench-repo/bench/commands/update.py", line 81, in _update
    update_requirements(bench_path=bench_path)
  File "/home/frappe/bench-repo/bench/utils.py", line 375, in update_requirements
    install_requirements(pip, req_file)
  File "/home/frappe/bench-repo/bench/utils.py", line 379, in install_requirements
    exec_cmd("{pip} install -q -r {req_file}".format(pip=pip, req_file=req_file))
  File "/home/frappe/bench-repo/bench/utils.py", line 127, in exec_cmd
    raise CommandFailedError(cmd)
bench.utils.CommandFailedError: ./env/bin/pip install -q -r ./apps/frappe/requirements.txt

And when I try to get the pdf version of a document i get this error

Traceback (most recent call last):
  File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 60, in application
    response = frappe.api.handle()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/api.py", line 54, in handle
    return frappe.handler.handle()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 19, in handle
    execute_cmd(cmd)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 40, in execute_cmd
    ret = frappe.call(method, **frappe.form_dict)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 896, in call
    return fn(*args, **newargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/print_format.py", line 48, in download_pdf
    frappe.local.response.filecontent = get_pdf(html)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/pdf.py", line 17, in get_pdf
    pdfkit.from_string(html, fname, options=options or {})
  File "/home/frappe/frappe-bench/env/src/pdfkit/pdfkit/api.py", line 68, in from_string
    return r.to_pdf(output_path)
  File "/home/frappe/frappe-bench/env/src/pdfkit/pdfkit/pdfkit.py", line 143, in to_pdf
    raise IOError("wkhtmltopdf exited with non-zero code {0}. error:\n{1}".format(exit_code, stderr.decode("utf-8")))
IOError: wkhtmltopdf exited with non-zero code 1. error:
The switch --header-html, is not support using unpatched qt, and will be ignored.The switch --footer-html, is not support using unpatched qt, and will be ignored.Unknown long argument --background

Name:
  wkhtmltopdf 0.9.9

Also when I try to email the document, I get this error:

Traceback (most recent call last):
  File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 55, in application
    response = frappe.handler.handle()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 19, in handle
    execute_cmd(cmd)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 40, in execute_cmd
    ret = frappe.call(method, **frappe.form_dict)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 896, in call
    return fn(*args, **newargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/communication/email.py", line 80, in make
    comm.send(print_html, print_format, attachments, send_me_a_copy=send_me_a_copy)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/communication/communication.py", line 160, in send
    self.notify(print_html, print_format, attachments, recipients)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/communication/communication.py", line 174, in notify
    notify(self, print_html, print_format, attachments, recipients, cc, fetched_from_email_account)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/communication/email.py", line 124, in notify
    check_email_limit(list(set(doc.sent_email_addresses)))
  File "/home/frappe/frappe-bench/apps/frappe/frappe/email/queue.py", line 136, in check_email_limit
    smtp_server = SMTPServer()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/email/smtp.py", line 134, in __init__
    self.setup_email_account(append_to)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/email/smtp.py", line 137, in setup_email_account
    self.email_account = get_outgoing_email_account(raise_exception_not_set=False, append_to=append_to)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/email/smtp.py", line 54, in get_outgoing_email_account
    email_account = get_default_outgoing_email_account(raise_exception_not_set=raise_exception_not_set)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/email/smtp.py", line 84, in get_default_outgoing_email_account
    email_account.password = email_account.get_password()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/base_document.py", line 657, in get_password
    return get_decrypted_password(self.doctype, self.name, fieldname, raise_exception=raise_exception)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/password.py", line 16, in get_decrypted_password
    return decrypt(auth[0][0])
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/password.py", line 101, in decrypt
    plain_text = cstr(cipher_suite.decrypt(encode(pwd)))
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/cryptography/fernet.py", line 103, in decrypt
    raise InvalidToken
InvalidToken