Comments (9)
I'll fix this in a bit, but if you are desperate for a workaround use --streaming-upload-cutoff 10M
where 10M is bigger than the biggest google doc you have.
from rclone.
Thank you for testing.
I've merged this to master now which means it will be in the latest beta in 15-30 minutes and released in v1.67
#7848 is certainly related but we can fix stuff there.
PS Can you let me close the issue - the open issue reminds me that I need to merge the code! Thanks
from rclone.
Heads up @rclone/support - the "Support Contract" label was applied to this issue.
from rclone.
Rclone crashed here
Line 112 in 6a0a54a
Which means most likely that fInfo
is nil
, which is weird. This was created a few lines earlier here
Line 107 in 6a0a54a
So it looks like the directory entry returned nil
here.
I'm having trouble working out how this could happen!
It looks like it is triggered by the --metadata-mapper code when writing info about the source. Was the source google drive or onedrive - I am not sure?
I suspect it is caused by google drive and probably one of the special files like a google doc, but I'm not sure. Are there any non-files in the google drive source?
Thanks
from rclone.
This is a Google Drive (shared drive) to SharePoint (document library) scenario. Is there a way to correlate the failing thread with the activity on that thread leading up to the crash? I don't know if a line like goroutine 32662
means a thread with ID 32662
, but even if it does, I don't see that ID mentioned elsewhere in the log, so I'm not sure which file is being processed.
I see these file types in the Metadata mapper sent
log records:
video/quicktime
application/pdf
application/vnd.google-apps.document
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
application/vnd.openxmlformats-officedocument.wordprocessingml.document
For the Google docs, SrcFs
is memory:
, and SrcFsType
is object.memoryFs
. For example:
{
"SrcFs": "Source{xrgXa}:",
"SrcFsType": "drive",
"DstFs": "Target{qpiyZ}:",
"DstFsType": "onedrive",
"Remote": "REDACTED.pdf",
"Size": 194032414,
"MimeType": "application/pdf",
"ModTime": "2023-07-26T11:11:00Z",
"IsDir": false,
"ID": "REDACTED",
"Metadata": {
"btime": "2023-08-04T15:10:10.334Z",
"content-type": "application/pdf",
"copy-requires-writer-permission": "false",
"mtime": "2023-07-26T11:11:00.000Z",
"starred": "false",
"viewed-by-me": "true",
"writers-can-share": "false"
}
}
{
"SrcFs": "memory:",
"SrcFsType": "object.memoryFs",
"DstFs": "Target{qpiyZ}:",
"DstFsType": "onedrive",
"Remote": "REDACTED.docx",
"Size": 10606,
"MimeType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"ModTime": "2023-12-01T13:25:54.84Z",
"IsDir": false,
"Metadata": {
"btime": "2023-12-01T13:15:46.499Z",
"content-type": "application/vnd.google-apps.document",
"copy-requires-writer-permission": "false",
"mtime": "2023-12-01T13:25:54.840Z",
"starred": "false",
"viewed-by-me": "false",
"writers-can-share": "false"
}
}
from rclone.
For the Google docs,
SrcFs
ismemory:
, andSrcFsType
is `object.memoryF
That's odd and probably a clue. Will investigate some more and see if I can reproduce it.
If you set --transfers and --checkers to 1 and that will serialise things and hopefully you'll get to see which file or directory is the problem in the debug. If nothing jumps out, I'll make you a build with more debug in it.
from rclone.
I managed to replicate this with
rclone copy -vvM --streaming-upload-cutoff 0 --metadata-mapper "tee -a /tmp/map.json" drive:GDocs /tmp/drive2 --checkers 1 --transfers 1 --check-first
So it is something to do with Google docs which are larger than the default 100k which is the threshold that we switch from reading into memory to streaming directly.
from rclone.
This should fix it - please give it a go!
v1.67.0-beta.7961.3db983c4d.fix-7845-metadata-panic on branch fix-7845-metadata-panic
from rclone.
I'm not sure if this comment in #7848 means anything for this issue, but the panic no longer occurs, so I'll close on the assumption this specific problem is fixed.
from rclone.
Related Issues (20)
- OAuth tokens fail to refresh when they are provided as a JSON blob (for native-app clients) HOT 2
- HDFS remote fails to copy file with " Received error: unexpected EOF" HOT 19
- Implement WebHDFS to acces remote HDFS storage HOT 4
- Poor copy/sync speed from a NFS-mounted directory to Ceph S3 bucket HOT 3
- WebAssembly - WASI Support HOT 1
- Access "Photos" folder in Proton Drive
- ListJSON failed to load config for crypt remote HOT 3
- Canβt move and rename inside linkbox mount HOT 3
- Wrong encoding type in response when using "serve s3" - should not be url-encoded HOT 4
- MacOS and Linux doesn't support space character on folder name HOT 1
- Problems with pikpak storing hash after uploads HOT 4
- Fatal error: unknown flag: --vfs-cache-mode HOT 4
- Fail on missing files when using `--files-from=`
- Support for BitBucket (git repo over ssh) HOT 1
- BYO Storage Provider
- SrcFsType can't be used to reliably detect backend in metadata mapper HOT 8
- The issue encountered when uploading large size file to Pikpak. HOT 2
- android: SAF support HOT 1
- Google Drive API does not always return permissionIds in files.list request HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rclone.