I encountered the same “connection closed” error on Ubuntu 24.04. In my
case, it was caused by a parsing bug in libmsgraph 0.2.1. The
`json_object_get_string_member: assertion 'node != NULL' failed` message
in comment #3 is consistent with what I observed.

Debugging `gvfsd-onedrive` with GDB traced the failure to
`msg_drive_item_new_from_json()` in `src/drive/msg-drive-item.c`.

The Microsoft Graph response contained an item associated with
OneDrive’s Personal Vault whose `remoteItem` object lacked a `name`
field. The parser attempted to read that field without checking whether
it existed, triggering an assertion failure and crashing the OneDrive
backend. Nautilus then reported that the connection was closed. The
crash I investigated was a JSON parsing problem.

My local patch uses `remoteItem.name` when available, otherwise falls
back to the outer item’s `name`. If neither exists, it returns an error
instead of attempting to read the missing field.

The source patch is available here: [onedrive-name-
fallback.patch](https://github.com/Duan2baka/libmsgraph-onedrive-name-
fallback).

To obtain the source and install the build dependencies:

```bash
sudo apt install meson ninja-build
sudo apt build-dep libmsgraph-0-1
apt source libmsgraph-0-1
```

The `apt source` and `apt build-dep` commands require source
repositories (`deb-src`) to be enabled.

From the unmodified `msgraph-0.2.1` source directory, apply the
downloaded patch and build the library locally:

```bash
cd msgraph-0.2.1
patch -p1 < /path/to/onedrive-name-fallback.patch

meson setup build-local
ninja -C build-local
```

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2116141

Title:
  Gnome OneDrive fails to load files

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gvfs/+bug/2116141/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to