IncorrectSitePath when updating

Hello there,

when I try to update ERPNext via bench update, I am receiving following error:

Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 79, in <module>
    main()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 16, in main
    click.Group(commands=commands)(prog_name='bench')
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/commands.py", line 29, in _func
    ret = f(frappe._dict(ctx.obj), *args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/commands.py", line 921, in backup
    frappe.init(site=site)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 121, in init
    local.conf = _dict(get_site_config())
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 175, in get_site_config
    raise IncorrectSitePath, "{0} does not exist".format(site_config)
frappe.exceptions.IncorrectSitePath: 404: Not Found
Traceback (most recent call last):
  File "/usr/local/bin/bench", line 9, in <module>
    load_entry_point('bench==0.92', 'console_scripts', 'bench')()
  File "/home/frappe/bench-repo/bench/cli.py", line 60, in cli
    bench()
  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/cli.py", line 241, in _update
    update(pull, patch, build, bench, auto, restart_supervisor, requirements, no_backup, upgrade, force=force)
  File "/home/frappe/bench-repo/bench/cli.py", line 269, in update
    backup_all_sites(bench=bench_path)
  File "/home/frappe/bench-repo/bench/utils.py", line 372, in backup_all_sites
    backup_site(site, bench=bench)
  File "/home/frappe/bench-repo/bench/utils.py", line 368, in backup_site
    run_frappe_cmd('--site', site, 'backup', bench=bench)
  File "/home/frappe/bench-repo/bench/utils.py", line 496, in run_frappe_cmd
    raise CommandFailedError(args)
bench.utils.CommandFailedError: ('--site', 'dist', 'backup')

After this happened, I can no longer log in via the web interface and the corresponding error in ~/frappe-bench/logs/web.error.log looks like this:

 site: site1.local
 form: {'cmd': u'login',
 'device': u'desktop',
 'pwd': u'MYAWESOMELYSECUREPASSWORD',
 'usr': u'MYUSER'}

Traceback (innermost last):
  File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 54, in application
    init_request(request)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 115, in init_request
    frappe.local.http_request = frappe.auth.HTTPRequest()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/auth.py", line 59, in __init__
    if frappe.form_dict.get('cmd')=='login':
  File "/home/frappe/frappe-bench/apps/frappe/frappe/auth.py", line 199, in run_trigger
    frappe.call(frappe.get_attr(method), login_manager=self)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 806, in call
    return fn(*args, **newargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/communication/feed.py", line 58, in login_feed
    "full_name": get_fullname(login_manager.user)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/communication/comment.py", line 146, in add_info_comment
    return frappe.get_doc(kwargs).insert(ignore_permissions=True)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 193, in insert
    self.run_before_save_methods()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 604, in run_before_save_methods
    self.run_method("validate")
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 566, in run_method
    return Document.hook(fn)(self, *args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 722, in composer
    return composed(self, method, *args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 705, in runner
    add_to_return_value(self, fn(self, *args, **kwargs))
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 560, in <lambda>
    fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/communication/communication.py", line 43, in validate
    self.set_timeline_doc()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/communication/communication.py", line 118, in set_timeline_doc
    if (self.timeline_doctype and self.timeline_name) or not parent_doc:
 AttributeError: 'Communication' object has no attribute 'timeline_doctype'

Any help will be greatly appreciated!

Both are unrelated.

Share your exact bench command.

Hi, the exact and only command I used was bench update. I executed it in the frappe-bench folder.

Also, when I created a new site and wanted to change the nginx port (commands: bench new-site site2.local (no error here) and bench set-nginx-port site2.local 9090), it seems that ./sites/dist/site_config.json is missing. Maybe this missing file’s got something to do with any of the other errors?

Have you installed ERPNext using Manual method?

Yes I did. First I installed all dependencies and afterwards frappe, the site and ERPNext