Random Illegal instruction message on ARM32


#1

Hi,. I have recently started using rclone to copy from my OneDrive personal account to my ARM32 (BusyBox) based NAS (WD MBWE). I use the copy command. Sometimes it works fine other times it lists files to be copied but does nothing and terminates with “Illegal instruction” and no files are copied. I use the no-check-size option for the known OneDrive size issue.

I have just run it in DEBUG mode and the last thing it did we to write a new token to config file.

Any ideas? Googling has drawn a blank for me so far.

TIA
Peter.


#2

May not be the real cause but how much RAM do you have on that system? Previously I have encountered app crashed with messages due to out of memory on my asustor NAS that only has 2GB ram. Perhaps you could try with --transfers 1 and --checkers 1 which I believe uses much less RAM?


#3

Thanks for the suggestion, sadly it still comes up with Illegal instruction error. I did try limiting the file size (without limiting checks or transfers) and it works for files up to 2M but usually fails at 3M. So it may be memory related.

I think the physical memory (according to MemTotal) may be as low as 125M! on the MBWE (White light). I have managed to generate a crash dump but no idea how to analyse it.

All suggestions welcome as rclone is such a fantastic way of synchronising and backing up between the cloud and the home NAS where I can physically “see” my data.


#4

Strange, especially if it isn’t deterministic…

Can you paste the output of rclone when it crashes (eg the traceback, if any).

Also what does cat /proc/cpuinfo look like?


#5

Thanks for your interest. The failure is certainly fairly random - but once it gets into a failure mode it is reproducible unless I change something (such as manually copy a file over).

Had to re-authorize my OneDrive account as my MS password ran out last night (it is on a forced change cycle) and just ran the rclone script and it was OK (will certainly post again as soon as it fails again!). In the meantime here are the lines from my shell script (it is designed to run as a Cron script every night) and the cpuinfo you asked for.

Are there any other parameters I should add that will help debug? Not sure how to get a traceback. I still have a core dump from one of the failures but the NAS box has few built in diagnostics.

Here is the info (hope it helps and thanks again).
~ #
~ # cat rclone-download.sh
#!/bin/bash

RCLONE DOWNLOAD CRON TAB SCRIPT

LOGFILE="/shares/peter/logs/rclone-download.log"
FROM=“OnedriveRemote:/My Photos”
TO="/shares/Public/Shared Pictures"
start=$(date +’%s’)
echo “$(date “+%d.%m.%Y %T”) RCLONE DOWNLOAD STARTED” >> $LOGFILE

COPY FILES

rclone copy “$FROM” “$TO” -v --checkers 1 --transfers 1 --ignore-size --log-file=$LOGFILE
echo “$(date “+%d.%m.%Y %T”) RCLONE DOWNLOAD FINISHED IN $(($(date +’%s’) - $start)) SECONDS” >> $LOGFILE
exit

~ # cat /proc/cpuinfo
Processor : ARM926EJ-S rev 5 (v5l)
BogoMIPS : 183.09
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 5
Cache type : write-back
Cache clean : cp15 c7 ops
Cache lockdown : format C
Cache format : Harvard
I size : 32768
I assoc : 4
I line length : 32
I sets : 256
D size : 32768
D assoc : 4
D line length : 32
D sets : 256

Hardware : Oxsemi NAS
Revision : 0000
Serial : 00000b6514b6ee80
~ #


#6

That looks like it is an ARMv5 processor… The default ARM binary is compiled for ARMv5 I think, but just in case here are two binaries for you to try: https://pub.rclone.org/arm-compiles.zip one compiled for ARMv5 and the other for ARMv6

It should have put a traceback to stdout when it crashed - if it didn’t then that is a serious crash!

If you can send me a zip with the core dump and the rclone binary which generated it, then I can analyse it.


#7

Thanks for your help. (Un) fortunately it seems to be working ok now! Here is the log file from last night’s run:

2018/01/06 01:04:46 INFO :
Transferred: 30.783 MBytes (145.092 kBytes/s)
Errors: 0
Checks: 6081
Transferred: 75
Elapsed time: 3m37.2s

Trying to reproduce the problem is a bit of a challenge! ( Perhaps the re-authorize fixed it ??? - though as an ex-programmer myself I do recognise that illegal instruction does point to something not being handled correctly in the code).

I will play around a bit more with the parameters and files on OneDrive to see if I can reproduce the issue again, in the meantime I will have your binaries ready to use as soon as the problem occurs again.

Thanks again.


#8

Just read the rest of your reply! There was definitely never any traceback - it just terminated with the error. I will now go and create the zip file for your enjoyment :slight_smile:


#9

OK managed to zip up core dump (from a failure a couple of days ago) and the rclone binary (latest as far as I know) which I am using.

Unfortunately I find I am not allowed to post it here :-(. Alternatives?


#10

Actually I note someone has posted a very similar issue: https://github.com/ncw/rclone/issues/1963 - could you write a bit in that issue and attach your .zip there please?

I’ll put more things to try on that issue.

Thanks


#11

OK I did try to send the zip file to your email address yesterday. At the moment rclone seems to be working fine. The Cron job ran last night again without any problems. I will join the other thread now rather than create extra noise:slight_smile: