unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#38034: 26.3; wrong-type-argument plistp "" (org-caldav, url-dav)
@ 2019-11-02 17:22 Nuno Pedrosa
  2019-11-02 17:55 ` Lars Ingebrigtsen
  2019-12-24 12:06 ` bug#38034: Saša Janiška
  0 siblings, 2 replies; 8+ messages in thread
From: Nuno Pedrosa @ 2019-11-02 17:22 UTC (permalink / raw)
  To: 38034

Getting the following error while syncing a list of calendars with a remote Nextcloud server.

This bug was also reported in the org-caldav repository, by several of its users: https://github.com/dengste/org-caldav/issues/189

Looks like an issue with url-dav.

Thanks in advance!


~~~~~ Emacs configuration (org-caldav) below ~~~~~

(setq org-caldav-url "https://remote-server/remote.php/dav/calendars/username"
      org-caldav-sync-todo 'all
      org-icalendar-timezone "Europe/Lisbon"
      org-caldav-todo-priority '((0 nil) (1 "A") (5 "B") (9 "C"))
      org-caldav-todo-percent-states '((0 "TODO") (1 "STARTED") (100 "DONE"))
      org-caldav-todo-deadline-schedule-warning-days t
      org-caldav-calendars
      '((:calendar-id "some-calendar-1" :files ("~/Documents/Calendars/some-calendar-1.org")
              :inbox "~/Documents/Calendars/some-calendar-1-inbox.org")
    (:calendar-id "some-calendar-2" :files ("~/Documents/Calendars/some-calendar-2.org")
              :inbox "~/Documents/Calendars/some-calendar-2-inbox.org")
    (:calendar-id "some-calendar-3" :files ("~/Documents/Calendars/some-calendar-3.org")
              :inbox "~/Documents/Calendars/some-calendar-3-inbox.org")
    (:calendar-id "some-calendar-4" :files ("~/Documents/Calendars/some-calendar-4.org")
              :inbox "~/Documents/Calendars/some-calendar-4-inbox.org")
    (:calendar-id "some-calendar-5" :files ("~/Documents/Calendars/some-calendar-5.org")
              :inbox "~/Documents/Calendars/some-calendar-5-inbox.org")))



~~~~~ org-caldav-debug below ~~~~~

========== Started sync.
Syncing first calendar entry:
(:calendar-id "candidaturas" :files ("~/Documents/Calendars/some-calendar-1.org") :inbox "~/Documents/Calendars/some-calendar-1-inbox.org")
Check connection for https://remoteserver.net/remote.php/dav/calendars/user/some-calendar-1/.
Generating ICS file /tmp/org-caldav-OgM5TC.
=== Updating EventDB from Org
Org UID 319ffda6-e449-463d-836d-aad3425e3366: Synced
Org UID 460e2a69-fecc-4819-b4ba-d4f14a985c5e: Synced
Org UID 2c4860ff-ea03-4cfb-9eb6-581f475dcc15: Synced
...
Org UID 85862499-0e79-4c63-9b43-ecf85f99f7dd: Synced
Org UID d910cb09-8327-4bc9-afa1-7112b5bb0940: Synced
=== Updating EventDB from Cal
Cal UID 319ffda6-e449-463d-836d-aad3425e3366: Deleted in Cal
Cal UID 460e2a69-fecc-4819-b4ba-d4f14a985c5e: Deleted in Cal
...
Cal UID 85862499-0e79-4c63-9b43-ecf85f99f7dd: Deleted in Cal
Cal UID d910cb09-8327-4bc9-afa1-7112b5bb0940: Deleted in Cal
=== Updating events in calendar
=== Updating events in Org
Syncing first calendar entry:
(:calendar-id "some-calendar-2" :files ("~/Documents/Calendars/some-calendar-2.org") :inbox "~/Documents/Calendars/some-calendar-2-inbox.org")
Check connection for https://remoteserver.net/remote.php/dav/calendars/user/some-calendar-2/.
This is an empty calendar. Setting flag.
Generating ICS file /tmp/org-caldav-n0ibO3.
=== Updating EventDB from Org
=== Updating EventDB from Cal
=== Updating events in calendar
=== Updating events in Org
Syncing first calendar entry:
(:calendar-id "some-calendar-3" :files ("~/Documents/Calendars/some-calendar-3.org") :inbox "~/Documents/Calendars/some-calendar-3-inbox.org")
Check connection for https://remoteserver.net/remote.php/dav/calendars/user/some-calendar-3/.
Got error while checking connection (will try again):
(wrong-type-argument plistp "")
Check connection for https://remoteserver.net/remote.php/dav/calendars/user/some-calendar-3/.
Got error while checking connection (will try again):
(wrong-type-argument plistp "")
Check connection for https://remoteserver.net/remote.php/dav/calendars/user/some-calendar-3/.
Got error while checking connection (will try again):
(wrong-type-argument plistp "")
Check connection for https://remoteserver.net/remote.php/dav/calendars/user/some-calendar-3/.
Got error while checking connection (will try again):
(wrong-type-argument plistp "")
Check connection for https://remoteserver.net/remote.php/dav/calendars/user/some-calendar-3/.
Check connection for https://remoteserver.net/remote.php/dav/calendars/user/some-calendar-3/.

~~~~~~~~~~~~

In GNU Emacs 26.3 (build 1, x86_64-solus-linux-gnu, GTK+ Version 3.24.11)
 of 2019-10-05
Windowing system distributor `The X.Org Foundation', version 11.0.12005000
System Description: Solus






^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#38034: 26.3; wrong-type-argument plistp "" (org-caldav, url-dav)
  2019-11-02 17:22 bug#38034: 26.3; wrong-type-argument plistp "" (org-caldav, url-dav) Nuno Pedrosa
@ 2019-11-02 17:55 ` Lars Ingebrigtsen
  2019-11-02 23:32   ` Nuno Pedrosa
  2019-12-24 12:06 ` bug#38034: Saša Janiška
  1 sibling, 1 reply; 8+ messages in thread
From: Lars Ingebrigtsen @ 2019-11-02 17:55 UTC (permalink / raw)
  To: Nuno Pedrosa; +Cc: 38034

Nuno Pedrosa <info@nunopedrosa.net> writes:

> Getting the following error while syncing a list of calendars with a
> remote Nextcloud server.
>
> This bug was also reported in the org-caldav repository, by several of
> its users: https://github.com/dengste/org-caldav/issues/189
>
> Looks like an issue with url-dav.

Could you (setq debug-on-error t), repeat the bug and post the resulting
backtrace?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#38034: 26.3; wrong-type-argument plistp "" (org-caldav, url-dav)
  2019-11-02 17:55 ` Lars Ingebrigtsen
@ 2019-11-02 23:32   ` Nuno Pedrosa
  2019-11-03 14:57     ` Lars Ingebrigtsen
  0 siblings, 1 reply; 8+ messages in thread
From: Nuno Pedrosa @ 2019-11-02 23:32 UTC (permalink / raw)
  To: larsi; +Cc: 38034

[-- Attachment #1: Type: text/plain, Size: 16406 bytes --]

Hope this helps:

Debugger entered--Lisp error: (wrong-type-argument plistp "")
plist-put("" DAV:status 404)
url-dav-process-response(#<killed buffer> "https://remoteserver.net/remote.php/dav/calendars/user/some-calendar-3/")
(let ((resultbuf (org-caldav-url-retrieve-synchronously url "PROPFIND" request-data extra)) (retr 1)) (while (and (= 0 (buffer-size resultbuf)) (< retr org-caldav-retry-attempts)) (org-caldav-debug-print 1 (format "org-caldav-url-dav-get-properties: could not get data from url: %s\n trying again..." url)) (setq resultbuf (org-caldav-url-retrieve-synchronously url "PROPFIND" request-data extra)) (setq retr (1+ retr))) (org-caldav-namespace-bug-workaround resultbuf) (url-dav-process-response resultbuf url))
(let ((request-data (concat "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" "<DAV:propfind xmlns:DAV='DAV:'>\n<DAV:prop>" "<DAV:" property "/></DAV:prop></DAV:propfind>\n")) (extra (quote (("Depth" . "1") ("Content-type" . "text/xml"))))) (let ((resultbuf (org-caldav-url-retrieve-synchronously url "PROPFIND" request-data extra)) (retr 1)) (while (and (= 0 (buffer-size resultbuf)) (< retr org-caldav-retry-attempts)) (org-caldav-debug-print 1 (format "org-caldav-url-dav-get-properties: could not get data from url: %s\n trying again..." url)) (setq resultbuf (org-caldav-url-retrieve-synchronously url "PROPFIND" request-data extra)) (setq retr (1+ retr))) (org-caldav-namespace-bug-workaround resultbuf) (url-dav-process-response resultbuf url)))
org-caldav-url-dav-get-properties("https://remoteserver.net/remote.php/dav/calendars/user/some-calendar-3/" "resourcetype")
(let* ((output (org-caldav-url-dav-get-properties (org-caldav-events-url) "resourcetype")) (status (plist-get (cdr (car output)) (quote DAV:status)))) (if (or (= (/ status 100) 2) (= status 404)) nil (org-caldav-debug-print 1 "Got error status from PROPFIND: " output) (error "Could not query CalDAV URL %s." (org-caldav-events-url))) (if (= status 404) (progn (org-caldav-debug-print 1 "Got 404 status - assuming calendar is new and empty.") (setq org-caldav-empty-calendar t)) (if (= (length output) 1) (progn (org-caldav-debug-print 1 "This is an empty calendar. Setting flag.") (setq org-caldav-empty-calendar t)))) t)
org-caldav-check-connection()
(if (= numretry (1- org-caldav-retry-attempts)) (org-caldav-check-connection) (org-caldav-debug-print 1 "Got error while checking connection (will try again):" err) (setq numretry (1+ numretry)))
(condition-case err (progn (org-caldav-check-connection) (setq success t)) (error (if (= numretry (1- org-caldav-retry-attempts)) (org-caldav-check-connection) (org-caldav-debug-print 1 "Got error while checking connection (will try again):" err) (setq numretry (1+ numretry)))))
(while (null success) (condition-case err (progn (org-caldav-check-connection) (setq success t)) (error (if (= numretry (1- org-caldav-retry-attempts)) (org-caldav-check-connection) (org-caldav-debug-print 1 "Got error while checking connection (will try again):" err) (setq numretry (1+ numretry))))))
(let ((numretry 0) success) (while (null success) (condition-case err (progn (org-caldav-check-connection) (setq success t)) (error (if (= numretry (1- org-caldav-retry-attempts)) (org-caldav-check-connection) (org-caldav-debug-print 1 "Got error while checking connection (will try again):" err) (setq numretry (1+ numretry)))))))
(lambda nil (let ((--dolist-tail-- (append org-caldav-files (list (org-caldav-inbox-file org-caldav-inbox)))) filename) (while --dolist-tail-- (setq filename (car --dolist-tail--)) (if (not (file-exists-p filename)) (progn (user-error "File %s does not exist" filename))) (setq --dolist-tail-- (cdr --dolist-tail--)))) (if (org-caldav-use-oauth2) (progn (org-caldav-check-oauth2 org-caldav-url) (org-caldav-retrieve-oauth2-token org-caldav-url org-caldav-calendar-id))) (let ((numretry 0) success) (while (null success) (condition-case err (progn (org-caldav-check-connection) (setq success t)) (error (if (= numretry (1- org-caldav-retry-attempts)) (org-caldav-check-connection) (org-caldav-debug-print 1 "Got error while checking connection (will try again):" err) (setq numretry (1+ numretry))))))) (if resume nil (setq org-caldav-ics-buffer (org-caldav-generate-ics)) (setq org-caldav-event-list nil org-caldav-previous-files nil) (org-caldav-load-sync-state) (if org-caldav-previous-files (progn (let ((missing (cl-set-difference org-caldav-previous-files org-caldav-files :test ...))) (if (and missing (not ...)) (progn (user-error "Sync aborted")))))) (let ((--dolist-tail-- org-caldav-event-list) cur) (while --dolist-tail-- (setq cur (car --dolist-tail--)) (org-caldav-event-set-status cur nil) (setq --dolist-tail-- (cdr --dolist-tail--)))) (org-caldav-update-eventdb-from-org org-caldav-ics-buffer) (org-caldav-update-eventdb-from-cal)) (org-caldav-update-events-in-cal org-caldav-ics-buffer) (org-caldav-update-events-in-org) (org-caldav-save-sync-state) (setq org-caldav-event-list nil) (save-current-buffer (set-buffer org-caldav-ics-buffer) (set-buffer-modified-p nil) (kill-buffer)) (delete-file (buffer-file-name org-caldav-ics-buffer)))()
funcall((lambda nil (let ((--dolist-tail-- (append org-caldav-files (list (org-caldav-inbox-file org-caldav-inbox)))) filename) (while --dolist-tail-- (setq filename (car --dolist-tail--)) (if (not (file-exists-p filename)) (progn (user-error "File %s does not exist" filename))) (setq --dolist-tail-- (cdr --dolist-tail--)))) (if (org-caldav-use-oauth2) (progn (org-caldav-check-oauth2 org-caldav-url) (org-caldav-retrieve-oauth2-token org-caldav-url org-caldav-calendar-id))) (let ((numretry 0) success) (while (null success) (condition-case err (progn (org-caldav-check-connection) (setq success t)) (error (if (= numretry ...) (org-caldav-check-connection) (org-caldav-debug-print 1 "Got error while checking connection (will try again):" err) (setq numretry ...)))))) (if resume nil (setq org-caldav-ics-buffer (org-caldav-generate-ics)) (setq org-caldav-event-list nil org-caldav-previous-files nil) (org-caldav-load-sync-state) (if org-caldav-previous-files (progn (let ((missing ...)) (if (and missing ...) (progn ...))))) (let ((--dolist-tail-- org-caldav-event-list) cur) (while --dolist-tail-- (setq cur (car --dolist-tail--)) (org-caldav-event-set-status cur nil) (setq --dolist-tail-- (cdr --dolist-tail--)))) (org-caldav-update-eventdb-from-org org-caldav-ics-buffer) (org-caldav-update-eventdb-from-cal)) (org-caldav-update-events-in-cal org-caldav-ics-buffer) (org-caldav-update-events-in-org) (org-caldav-save-sync-state) (setq org-caldav-event-list nil) (save-current-buffer (set-buffer org-caldav-ics-buffer) (set-buffer-modified-p nil) (kill-buffer)) (delete-file (buffer-file-name org-caldav-ics-buffer))))
(let ((org-caldav-inbox (quote "~/Documents/Calendars/some-calendar-3-inbox.org")) (org-caldav-files (quote ("~/Documents/Calendars/some-calendar-3.org"))) (org-caldav-calendar-id (quote "some-calendar-3"))) (funcall (quote (lambda nil (let ((--dolist-tail-- (append org-caldav-files ...)) filename) (while --dolist-tail-- (setq filename (car --dolist-tail--)) (if (not ...) (progn ...)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (if (org-caldav-use-oauth2) (progn (org-caldav-check-oauth2 org-caldav-url) (org-caldav-retrieve-oauth2-token org-caldav-url org-caldav-calendar-id))) (let ((numretry 0) success) (while (null success) (condition-case err (progn ... ...) (error ...)))) (if resume nil (setq org-caldav-ics-buffer (org-caldav-generate-ics)) (setq org-caldav-event-list nil org-caldav-previous-files nil) (org-caldav-load-sync-state) (if org-caldav-previous-files (progn (let ... ...))) (let ((--dolist-tail-- org-caldav-event-list) cur) (while --dolist-tail-- (setq cur ...) (org-caldav-event-set-status cur nil) (setq --dolist-tail-- ...))) (org-caldav-update-eventdb-from-org org-caldav-ics-buffer) (org-caldav-update-eventdb-from-cal)) (org-caldav-update-events-in-cal org-caldav-ics-buffer) (org-caldav-update-events-in-org) (org-caldav-save-sync-state) (setq org-caldav-event-list nil) (save-current-buffer (set-buffer org-caldav-ics-buffer) (set-buffer-modified-p nil) (kill-buffer)) (delete-file (buffer-file-name org-caldav-ics-buffer))))))
eval((let ((org-caldav-inbox (quote "~/Documents/Calendars/some-calendar-3-inbox.org")) (org-caldav-files (quote ("~/Documents/Calendars/some-calendar-3.org"))) (org-caldav-calendar-id (quote "some-calendar-3"))) (funcall (quote (lambda nil (let ((--dolist-tail-- ...) filename) (while --dolist-tail-- (setq filename ...) (if ... ...) (setq --dolist-tail-- ...))) (if (org-caldav-use-oauth2) (progn (org-caldav-check-oauth2 org-caldav-url) (org-caldav-retrieve-oauth2-token org-caldav-url org-caldav-calendar-id))) (let ((numretry 0) success) (while (null success) (condition-case err ... ...))) (if resume nil (setq org-caldav-ics-buffer (org-caldav-generate-ics)) (setq org-caldav-event-list nil org-caldav-previous-files nil) (org-caldav-load-sync-state) (if org-caldav-previous-files (progn ...)) (let (... cur) (while --dolist-tail-- ... ... ...)) (org-caldav-update-eventdb-from-org org-caldav-ics-buffer) (org-caldav-update-eventdb-from-cal)) (org-caldav-update-events-in-cal org-caldav-ics-buffer) (org-caldav-update-events-in-org) (org-caldav-save-sync-state) (setq org-caldav-event-list nil) (save-current-buffer (set-buffer org-caldav-ics-buffer) (set-buffer-modified-p nil) (kill-buffer)) (delete-file (buffer-file-name org-caldav-ics-buffer)))))))
(let* ((syms (mapcar (quote org-caldav-var-for-key) calkeys)) (vals calvalues) (body (function (lambda nil (let ((--dolist-tail-- ...) filename) (while --dolist-tail-- (setq filename ...) (if ... ...) (setq --dolist-tail-- ...))) (if (org-caldav-use-oauth2) (progn (org-caldav-check-oauth2 org-caldav-url) (org-caldav-retrieve-oauth2-token org-caldav-url org-caldav-calendar-id))) (let ((numretry 0) success) (while (null success) (condition-case err ... ...))) (if resume nil (setq org-caldav-ics-buffer (org-caldav-generate-ics)) (setq org-caldav-event-list nil org-caldav-previous-files nil) (org-caldav-load-sync-state) (if org-caldav-previous-files (progn ...)) (let (... cur) (while --dolist-tail-- ... ... ...)) (org-caldav-update-eventdb-from-org org-caldav-ics-buffer) (org-caldav-update-eventdb-from-cal)) (org-caldav-update-events-in-cal org-caldav-ics-buffer) (org-caldav-update-events-in-org) (org-caldav-save-sync-state) (setq org-caldav-event-list nil) (save-current-buffer (set-buffer org-caldav-ics-buffer) (set-buffer-modified-p nil) (kill-buffer)) (delete-file (buffer-file-name org-caldav-ics-buffer))))) (binds nil)) (while syms (setq binds (cons (list (car-safe (prog1 syms (setq syms ...))) (list (quote quote) (car-safe (prog1 vals ...)))) binds))) (eval (list (quote let) binds (list (quote funcall) (list (quote quote) body)))))
(progn (let* ((syms (mapcar (quote org-caldav-var-for-key) calkeys)) (vals calvalues) (body (function (lambda nil (let (... filename) (while --dolist-tail-- ... ... ...)) (if (org-caldav-use-oauth2) (progn ... ...)) (let (... success) (while ... ...)) (if resume nil (setq org-caldav-ics-buffer ...) (setq org-caldav-event-list nil org-caldav-previous-files nil) (org-caldav-load-sync-state) (if org-caldav-previous-files ...) (let ... ...) (org-caldav-update-eventdb-from-org org-caldav-ics-buffer) (org-caldav-update-eventdb-from-cal)) (org-caldav-update-events-in-cal org-caldav-ics-buffer) (org-caldav-update-events-in-org) (org-caldav-save-sync-state) (setq org-caldav-event-list nil) (save-current-buffer (set-buffer org-caldav-ics-buffer) (set-buffer-modified-p nil) (kill-buffer)) (delete-file (buffer-file-name org-caldav-ics-buffer))))) (binds nil)) (while syms (setq binds (cons (list (car-safe (prog1 syms ...)) (list (quote quote) (car-safe ...))) binds))) (eval (list (quote let) binds (list (quote funcall) (list (quote quote) body))))))
(let (calkeys calvalues oauth-enable) (let ((--dolist-tail-- (number-sequence 0 (1- (length calendar)) 2)) i) (while --dolist-tail-- (setq i (car --dolist-tail--)) (setq calkeys (append calkeys (list (nth i calendar))) calvalues (append calvalues (list (nth (1+ i) calendar)))) (setq --dolist-tail-- (cdr --dolist-tail--)))) (progn (let* ((syms (mapcar (quote org-caldav-var-for-key) calkeys)) (vals calvalues) (body (function (lambda nil (let ... ...) (if ... ...) (let ... ...) (if resume nil ... ... ... ... ... ... ...) (org-caldav-update-events-in-cal org-caldav-ics-buffer) (org-caldav-update-events-in-org) (org-caldav-save-sync-state) (setq org-caldav-event-list nil) (save-current-buffer ... ... ...) (delete-file ...)))) (binds nil)) (while syms (setq binds (cons (list (car-safe ...) (list ... ...)) binds))) (eval (list (quote let) binds (list (quote funcall) (list (quote quote) body)))))))
org-caldav-sync-calendar((:calendar-id "some-calendar-3" :files ("~/Documents/Calendars/some-calendar-3.org") :inbox "~/Documents/Calendars/some-calendar-3-inbox.org"))
(while --dolist-tail-- (setq calendar (car --dolist-tail--)) (org-caldav-debug-print 1 "Syncing first calendar entry:" calendar) (org-caldav-sync-calendar calendar) (setq --dolist-tail-- (cdr --dolist-tail--)))
(let ((--dolist-tail-- org-caldav-calendars) calendar) (while --dolist-tail-- (setq calendar (car --dolist-tail--)) (org-caldav-debug-print 1 "Syncing first calendar entry:" calendar) (org-caldav-sync-calendar calendar) (setq --dolist-tail-- (cdr --dolist-tail--))))
(if (null org-caldav-calendars) (org-caldav-sync-calendar) (let ((--dolist-tail-- org-caldav-calendars) calendar) (while --dolist-tail-- (setq calendar (car --dolist-tail--)) (org-caldav-debug-print 1 "Syncing first calendar entry:" calendar) (org-caldav-sync-calendar calendar) (setq --dolist-tail-- (cdr --dolist-tail--)))))
(if (and org-caldav-event-list (not (eq org-caldav-resume-aborted (quote never))) (or (eq org-caldav-resume-aborted (quote always)) (and (eq org-caldav-resume-aborted (quote ask))) (y-or-n-p "Last sync seems to have been aborted. Should I try to resume? "))) (org-caldav-sync-calendar org-caldav-previous-calendar t) (setq org-caldav-sync-result nil) (if (null org-caldav-calendars) (org-caldav-sync-calendar) (let ((--dolist-tail-- org-caldav-calendars) calendar) (while --dolist-tail-- (setq calendar (car --dolist-tail--)) (org-caldav-debug-print 1 "Syncing first calendar entry:" calendar) (org-caldav-sync-calendar calendar) (setq --dolist-tail-- (cdr --dolist-tail--))))))
org-caldav-sync()
funcall-interactively(org-caldav-sync)
call-interactively(org-caldav-sync record nil)
command-execute(org-caldav-sync record)
execute-extended-command(nil "org-caldav-sync")
smex-read-and-run(("org-caldav-sync" "eval-buffer" "customize" "help" "customize-group" "customize-set-variable" "report-emacs-bug" "org2web-publish" "org-beamer-export-to-pdf" "org-latex-export-to-pdf" "org-beamer-select-environment" "helm-bibtex" "rectangle-mark-mode" "org-web-tools-insert-link-for-url" "org-board-open" "org-open-at-point" "cfw:open-org-calendar" "org-schedule" "org-publish-project" "paradox-list-packages" "count-words" "org-board-new" "org-insert-link" "org-store-link" "org-deadline" "org-web-tools-insert-web-page-as-entry" "org-table-kill-row" "magit-diff" "annotate-mode" "org-publish-current-project" "org-web-tools-archive-attach" "calendar" "org-table-insert-column" "ispell-word" "org-table-delete-column" "paradox-upgrade-packages" "org-table-hline-and-move" "org-toggle-inline-images" "org-ref" "org-agenda" "org-date-from-calendar" "org-clone-subtree-with-time-shift" "swiper" "org-web-tools-archive-view" "rename-file" "notmuch" "magit-commit" "list-packages" "org-table-insert-row" "org-web-tools-read-url-as-org" ...))
smex()
funcall-interactively(smex)
call-interactively(smex nil nil)
command-execute(smex)

-------- Mensagem Original --------
Ligado 2/11/2019, 17:55, Lars Ingebrigtsen escreveu:

> Nuno Pedrosa <info@nunopedrosa.net> writes:
>
>> Getting the following error while syncing a list of calendars with a
>> remote Nextcloud server.
>>
>> This bug was also reported in the org-caldav repository, by several of
>> its users: https://github.com/dengste/org-caldav/issues/189
>>
>> Looks like an issue with url-dav.
>
> Could you (setq debug-on-error t), repeat the bug and post the resulting
> backtrace?
>
> --
> (domestic pets only, the antidote for overdose, milk.)
> bloggy blog: http://lars.ingebrigtsen.no

[-- Attachment #2: Type: text/html, Size: 17098 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#38034: 26.3; wrong-type-argument plistp "" (org-caldav, url-dav)
  2019-11-02 23:32   ` Nuno Pedrosa
@ 2019-11-03 14:57     ` Lars Ingebrigtsen
  2019-11-04 10:19       ` Nuno Pedrosa
  0 siblings, 1 reply; 8+ messages in thread
From: Lars Ingebrigtsen @ 2019-11-03 14:57 UTC (permalink / raw)
  To: Nuno Pedrosa; +Cc: 38034

Nuno Pedrosa <info@nunopedrosa.net> writes:

> Debugger entered--Lisp error: (wrong-type-argument plistp "")
> plist-put("" DAV:status 404)
> url-dav-process-response(#<killed buffer>

The backtrace is hard to read as it's posted as HTML, but I think this
must mean that the error is here:

      (let ((properties (url-dav-dispatch-node (car tree))))
	;; We need to make sure we have a DAV:status node in there for
	;; higher-level code;
	(setq properties (plist-put properties 'DAV:status overall-status))
	;; Make this look like a DAV:multistatus parse tree so that
	;; nobody but us needs to know the difference.
	(list (cons url properties))))))

What's the value of `tree' when you get this backtrace?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#38034: 26.3; wrong-type-argument plistp "" (org-caldav, url-dav)
  2019-11-03 14:57     ` Lars Ingebrigtsen
@ 2019-11-04 10:19       ` Nuno Pedrosa
  2019-11-08 20:48         ` Lars Ingebrigtsen
  0 siblings, 1 reply; 8+ messages in thread
From: Nuno Pedrosa @ 2019-11-04 10:19 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 38034

How or where do I check the value of `tree? (noob here, sorry!)

On Sun, Nov 03, 2019 at 03:57:13PM +0100 or thereabouts, Lars Ingebrigtsen wrote:
> 
> Nuno Pedrosa <info@nunopedrosa.net> writes:
> 
> > Debugger entered--Lisp error: (wrong-type-argument plistp "")
> > plist-put("" DAV:status 404)
> > url-dav-process-response(#<killed buffer>
> 
> The backtrace is hard to read as it's posted as HTML, but I think this
> must mean that the error is here:
> 
>       (let ((properties (url-dav-dispatch-node (car tree))))
> 	;; We need to make sure we have a DAV:status node in there for
> 	;; higher-level code;
> 	(setq properties (plist-put properties 'DAV:status overall-status))
> 	;; Make this look like a DAV:multistatus parse tree so that
> 	;; nobody but us needs to know the difference.
> 	(list (cons url properties))))))
> 
> What's the value of `tree' when you get this backtrace?
> 
> --
> (domestic pets only, the antidote for overdose, milk.)
>    bloggy blog: http://lars.ingebrigtsen.no






^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#38034: 26.3; wrong-type-argument plistp "" (org-caldav, url-dav)
  2019-11-04 10:19       ` Nuno Pedrosa
@ 2019-11-08 20:48         ` Lars Ingebrigtsen
  0 siblings, 0 replies; 8+ messages in thread
From: Lars Ingebrigtsen @ 2019-11-08 20:48 UTC (permalink / raw)
  To: Nuno Pedrosa; +Cc: 38034

Nuno Pedrosa <info@nunopedrosa.net> writes:

> How or where do I check the value of `tree? (noob here, sorry!)

(Sorry for the late response, I had a cold.)

You can, for instance (since the file in question doesn't use lexical
binding) go to the *scratch* buffer and say

M-: (pp tree (current-buffer)) RET


-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#38034:
  2019-11-02 17:22 bug#38034: 26.3; wrong-type-argument plistp "" (org-caldav, url-dav) Nuno Pedrosa
  2019-11-02 17:55 ` Lars Ingebrigtsen
@ 2019-12-24 12:06 ` Saša Janiška
  2020-07-19 20:18   ` bug#38034: Lars Ingebrigtsen
  1 sibling, 1 reply; 8+ messages in thread
From: Saša Janiška @ 2019-12-24 12:06 UTC (permalink / raw)
  To: 38034

Hello!

> What's the value of `tree' when you get this backtrace?

I'm exepriencing the same problem and did comment in
https://github.com/dengste/org-caldav/issues/189

Here is the output when using NextCloud-17.x:

tree’s value is
((DAV:error
      (((#1="http://www.w3.org/2000/xmlns/" . "d")
        . "DAV:")
       ((#1# . "s")
        . "http://sabredav.org/ns"))
      (http://sabredav\.org/nsexception nil "Sabre\\DAV\\Exception\\NotFound")
      (http://sabredav\.org/nsmessage nil "Calendar object not found")))

I have also tried with Baikal-0.6.1 and it is the same:

tree’s value is
((DAV:error
      (((#1="http://www.w3.org/2000/xmlns/" . "d")
        . "DAV:")
       ((#1# . "s")
        . "http://sabredav.org/ns"))
      (http://sabredav\.org/nssabredav-version nil "4.0.2")
      (http://sabredav\.org/nsexception nil "Sabre\\DAV\\Exception\\NotFound")
      (http://sabredav\.org/nsmessage nil "Calendar object not found")))


Anything else we can try to help fixing this bug so we can sync our
calendars (& contacts) from Emeacs?


Sincerely,
Gour

-- 





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#38034:
  2019-12-24 12:06 ` bug#38034: Saša Janiška
@ 2020-07-19 20:18   ` Lars Ingebrigtsen
  0 siblings, 0 replies; 8+ messages in thread
From: Lars Ingebrigtsen @ 2020-07-19 20:18 UTC (permalink / raw)
  To: Saša Janiška; +Cc: 38034

Saša Janiška <gour@atmarama.com> writes:

> I'm exepriencing the same problem and did comment in
> https://github.com/dengste/org-caldav/issues/189
>
> Here is the output when using NextCloud-17.x:
>
> tree’s value is
> ((DAV:error
>       (((#1="http://www.w3.org/2000/xmlns/" . "d")
>         . "DAV:")
>        ((#1# . "s")
>         . "http://sabredav.org/ns"))
>       (http://sabredav\.org/nsexception nil "Sabre\\DAV\\Exception\\NotFound")
>       (http://sabredav\.org/nsmessage nil "Calendar object not found")))

Right, so you're getting back an error message, which means that we hit
the "else" bit here.

    (if (eq (xml-node-name (car tree)) 'DAV:multistatus)
	(url-dav-dispatch-node (car tree))
      (url-debug 'dav "Got back singleton response for URL(%S)" url)
      (let ((properties (url-dav-dispatch-node (car tree))))
	;; We need to make sure we have a DAV:status node in there for
	;; higher-level code;
	(setq properties (plist-put properties 'DAV:status overall-status))
	;; Make this look like a DAV:multistatus parse tree so that
	;; nobody but us needs to know the difference.
	(list (cons url properties))))))

And

(url-dav-dispatch-node (car tree))
=> " "

which means that the plist-put fails, of course.

But I'm totally unfamiliar with url-dav (and DAV), so I have no idea
what it really should be doing here.  It says that it tries to return a
DAV:multistatus parse tree...  but what do those look like (when you
don't have an error)?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-07-19 20:18 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-02 17:22 bug#38034: 26.3; wrong-type-argument plistp "" (org-caldav, url-dav) Nuno Pedrosa
2019-11-02 17:55 ` Lars Ingebrigtsen
2019-11-02 23:32   ` Nuno Pedrosa
2019-11-03 14:57     ` Lars Ingebrigtsen
2019-11-04 10:19       ` Nuno Pedrosa
2019-11-08 20:48         ` Lars Ingebrigtsen
2019-12-24 12:06 ` bug#38034: Saša Janiška
2020-07-19 20:18   ` bug#38034: Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).