-
-
Notifications
You must be signed in to change notification settings - Fork 874
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
Bug: Application crash when calculating path due to 15 character driveId API bug #3115
Comments
@H76TWE I cannot replicate your issue, thus I need you to test this PR to work around the API Bug. To test the PR, first install all the require platform dependencies to build the client on your respective platforms. Please read https://github.com/abraunegg/onedrive/blob/master/docs/install.md#building-from-source---high-level-requirements and then follow correctly for your platform. Important Currently there is an issue with installing the DMD or LDC compiler using the documentation instructions: This is not something I can solve and I have emailed the appropriate folk and raised dlang/dmd#20830 Please augment the installation of DMD or LDC with your distribution version if it is available Once this is done, to clone the PR to resolve your issue, you can use a script like the following:
This script will create a local folder called To run the PR, you need to run the client from the PR build directory:
To install the PR, you will need to perform When running the PR, your version should be: If you still encounter an issue, please generate a new verbose debug log following this process: https://github.com/abraunegg/onedrive/wiki/Generate-debug-log-for-support |
Please can you rebuild your PR client version to ensure you are running If you still encounter an issue, please generate a new verbose debug log following this process: https://github.com/abraunegg/onedrive/wiki/Generate-debug-log-for-support |
Please can you respond |
Is this the same issue I seem to be getting?
|
I tested the new pr -
Unfortunately I can not provide a debug log for privacy reasons. |
The only item that is sensitive in a debug log are:
As per: https://github.com/abraunegg/onedrive?tab=readme-ov-file#reporting-an-issue-or-bug Please read the highlighted sections: If you are worried about the privacy of your debug log, please send an NDA to be signed. I 100% understand data sensitivity and any potential privacy concerns that you might have. This particular issue cannot be replicated. This issue can only be fixed by users experiencing this issue providing debug logs so that the Microsoft Graph API bug can be worked around. |
@martinreus
Looking at your crash output, your driveId is 'XX' and it is 16 characters long, so 100% potentially not this issue. Please build your client manually from the PR and see where that leads. |
@vikingtiger
|
@abraunegg , thanks. Will try the build once I have some time. If the drive is sensitive information, can you please erase it from your comment? Thanks 😊 |
Done |
My apologies. On closer inspection, my circumstances are not identical to the original issue. My drive ID is 16 hex characters long. Perhaps it would be more proper for me to create a new issue in this case. |
Before you take that action, please manually build your client from 'master' and use that to raise your bug report if you are still experiencing an issue. |
@H76TWE , @murraybo , @martinreus , @vikingtiger Based on the latest debug logs, please can you rebuild your client to I sincerely appreciate your patience while we worked through this issue, which was particularly challenging as it could not be directly replicated. The problem arises when a Shared Folder has a drive ID of 16 characters starting with a zero, causing the OneDrive API to respond inconsistently by dropping the leading zero in some cases, turning the drive ID into a 15-character invalid item. Please can you advise if this now resolves your issue or if there is still a further problem in your environment. |
Did not sync, complained about Curl version. Upgrade Curl tp version 8.11.0. Then got the same "Assertion Error". Output was exactly like the output shown above, with:
Did not save my output. Installed onedrive v2.5.4-28-gc803fb9 with PR#3116. The issue above was solved, but it still does not function good. Now get error:
Attached the logfile for: onedrive --sync --verbose --verbose --resync --resync-auth > debug_output.log 2>&1 |
@elburgl69 However it highlights another issue with how Microsoft is changing Personal Accounts to include 'sea8cc6beffdb43d7976fbc7da445c639' for the Drive Id value, as what they are doing (and this is evidenced in your response) is that the data coming back from the API is now in UPPERCASE .. where as before all the data was in lowercase. So this is why your Shared Folder is breaking - because the database entries and the database queries are now having a mis-match of data to search, which is why it is failing for you. I need to think through how and where I solve this API inconsistency within the application ... sorry. |
@vikingtiger Currently trying to work around this response issue as well. |
To those watching | impacted by this bug(s) I was working on this issue heavily yesterday (1st March 2025) and the solution was working rather well with all testing. This morning, when I was re validating the code, overnight there has been an account change to all of my OneDrive Personal accounts where the accounts now have the 'sea8cc6beffdb43d7976fbc7da445c639' Microsoft change. As such, when I now query the API for all the folders online, the /delta query that this client heavily uses no longer is providing the Shared Folder JSON data that the /delta query was providing yesterday before the 'sea8cc6beffdb43d7976fbc7da445c639' account change. I have raised a bug with Microsoft for this issue - but until this data quality issue from the Microsoft OneDrive API is fixed, a full resolution for this insideous series of bugs caused by this 'sea8cc6beffdb43d7976fbc7da445c639' change cannot be resolved. The new API bug is listed here: OneDrive/onedrive-api-docs#1891 |
To those watching | impacted by this bug(s) Caution This maybe is a 100% coding fix - however at the moment this needs a workaround to also be implemented by impacted users Please can you test this updated PR and provide valuable feedback. To test the PR, first install all the require platform dependencies to build the client on your respective platforms. Please read https://github.com/abraunegg/onedrive/blob/master/docs/install.md#building-from-source---high-level-requirements and then follow correctly for your platform. Important Currently there is an issue with installing the DMD or LDC compiler using the documentation instructions: This is not something I can solve and I have emailed the appropriate folk and raised dlang/dmd#20830 Please augment the installation of DMD or LDC with your distribution version if it is available Once this is done, to clone the PR to resolve your issue, you can use a script like the following:
This script will create a local folder called Important Before running this PR please add to your configuration file This will bypass the new OneDrive API /delta bug OneDrive/onedrive-api-docs#1891 where OneDrive Personal Folder details are no longer sent in the /delta response when your account has been migrated to the new Microsoft OneDrive platform. You can tell when you are impacted as when you run the application in verbose mode, it will look like this:
To run the PR, you need to run the client from the PR build directory:
To install the PR, you will need to perform When running the PR, your version should be: If you still encounter an issue, please generate a new verbose debug log following this process: https://github.com/abraunegg/onedrive/wiki/Generate-debug-log-for-support |
Can confirm this PR fixes the issue. Thanks for your hard work! |
@aaaaalexis |
To those watching | impacted by this bug(s) Please rebuild your PR client version to A further UPPERCASE / lowercase API inconsistency has been uncovered, that required remediation as part of this PR. Please can you ensure you are running this version + apply the Whilst your client will run slower due to manually building a /delta response, Microsoft need to fix their API to provide again the Shared Folder data in the /delta API query, that is now removed when your account is moved to their new backend platform. Please read OneDrive/onedrive-api-docs#1891 for details. |
I tested the PR version |
To those watching | impacted by this bug(s) Please rebuild your PR client version to It potentially appears that Microsoft has resolved the /delta API query bug that failed to send OneDrive Personal Shared Folder details, thus potentially you may be able to stop the use of the If you get this sort of error or similar without
You need to re-enable When using this client version, please use Please can you test this client version and advise. |
I build the PR client Forced a resync. Everything seems to work. Observed syncing of a shared folder. Checking total items around 55k (no changes) took around 7 minutes. |
I'm a little confused. Should I add the |
FYI .. please dont post something then delete it in the middle of a response back to you!
First you must ask yourself am I actually impacted by the 2 x Microsoft OneDrive bugs. Are you using a 'personal' account as that is what this application reports based on what the client is advising. Secondly, ask yourself, am I using any Shared Folder .. as in has another user shared a folder with me, and I have added this to my Microsoft OneDrive online. If yes to both of these items, then you are impacted by the 2 x Microsoft OneDrive bugs. Regardless of client use, the /delta bug is the biggest API regression item where data that used to be sent, is now no longer being sent (however, it also appears that Microsoft is potentially pushing out a fix for that) To work around the /delta bug, this is where enabling 'force_children_scan' has been found to be effective. Personally, I needed to use this option to sync OneDrive Personal Shared Folders up to 10am 7th March 2025 AEST, however after that, I have not needed to use 'force_children_scan' as the /delta API response is again sending Shared Folder data. Other folk globally have tried to disable the option, and ran into the HTTP error above, re-enable 'force_children_scan' and they have resumed normal service - so your mileage will vary.
When using the PR please stop any systemd service from running, and run and install the PR version if you are impacted by the 2 bugs - there is zero need to run this PR if you are not impacted by those bugs. Once the PR version is installed, run once manually to bring your client state into good health and keep a close eye on things. Enable any systemd service again post that. |
Yes, I'm experiencing the personal account issue. However, I don’t believe I’m affected by the Shared Folders issue since I’ve only shared my folders to others but haven’t added any from others to my OneDrive account. Right now, I’m synchronizing with --resync and force_children_scan disabled. I'll keep a close eye on things and let you know if I run into any issues. Thanks so much for your help! Sorry for deleting the message and creating a new one. ❤️ |
It does not work for me. With force_children_scan = true, slow, but no errors. Without force_children_scan = true:
Log file attached. |
@elburgl69 |
Describe the bug
Handle application crash when an unhandled driveId reference is < 16 characters and attempting to calculate the Shared Folder path extension.
This bug is related to: #3072
This bug report is raised on behalf of @H76TWE
Operating System Details
N/A - Self raised for tracking
Client Installation Method
From Source
OneDrive Account Type
Personal
What is your OneDrive Application Version
N/A - Self raised for tracking
What is your OneDrive Application Configuration
N/A - Self raised for tracking
What is your 'curl' version
N/A - Self raised for tracking
Where is your 'sync_dir' located
Local
What are all your system 'mount points'
N/A - Self raised for tracking
What are all your local file system partition types
N/A - Self raised for tracking
How do you use 'onedrive'
N/A - Self raised for tracking
Steps to reproduce the behaviour
N/A - Self raised for tracking
Complete Verbose Log Output
N/A - Self raised for tracking
Screenshots
N/A - Self raised for tracking
Other Log Information or Details
N/A - Self raised for tracking
Additional context
N/A - Self raised for tracking
The text was updated successfully, but these errors were encountered: