Gorn

core dump failure in raspberry pi

29 posts in this topic

Hi,

the lastest builds are not running on ARMv6-compatible processor rev 7 (v6l) - raspberry pi anymore.
I am using arch linux  and installed btsync with AUR and manually as download from the homepage.
Both Versions the same error.

Quote

btsync.service - Bittorent Sync service

   Loaded: loaded (/usr/lib/systemd/system/btsync.service; enabled; vendor preset: disabled)

   Active: failed (Result: start-limit-hit) since Fri 2016-06-10 12:00:56 CEST; 3s ago

  Process: 20827 ExecStart=/usr/bin/btsync --config /etc/btsync.conf (code=dumped, signal=SEGV)

 

Jun 10 12:00:56 datenserver systemd[1]: btsync.service: Control process exited, code=dumped status=11

Jun 10 12:00:56 datenserver systemd[1]: Failed to start Bittorent Sync service.

Jun 10 12:00:56 datenserver systemd[1]: btsync.service: Unit entered failed state.

Jun 10 12:00:56 datenserver systemd[1]: btsync.service: Failed with result 'core-dump'.

Jun 10 12:00:56 datenserver systemd[1]: btsync.service: Service hold-off time over, scheduling restart.

Jun 10 12:00:56 datenserver systemd[1]: Stopped Bittorent Sync service.

Jun 10 12:00:56 datenserver systemd[1]: btsync.service: Start request repeated too quickly.

Jun 10 12:00:56 datenserver systemd[1]: Failed to start Bittorent Sync service.

Jun 10 12:00:56 datenserver systemd[1]: btsync.service: Unit entered failed state.

Jun 10 12:00:56 datenserver systemd[1]: btsync.service: Failed with result 'start-limit-hit'.

 

Share this post


Link to post
Share on other sites

Hi,

i tried both

https://download-cdn.getsync.com/stable/linux-arm/BitTorrent-Sync_arm.tar.gz
https://download-cdn.getsync.com/2.3.7/linux-armhf/BitTorrent-Sync_armhf.tar.gz

the same failure

Quote

Segmentation fault (core dumped)

 

Share this post


Link to post
Share on other sites

Well, that's strange. I just tried to run latest Sync version on RPI1 and it started just fine. Which exact RPI model do you use?

Share this post


Link to post
Share on other sites

@Gorn I confirm the issue on Arch Linux - neither ARM nor ARMHF builds are working. Both cause segfault. Although, latest raspbian is okay - arm build works just fine. We'll check what is the reason and get back to this thread (though, it will take a while).

Share this post


Link to post
Share on other sites

on my rasbian lite it even isn't working.  but i hope it will work on arch soon - so cool.

Share this post


Link to post
Share on other sites

@Gorn If it crashes - we can analyze core dump. Check if your Linux creates a core dump. See "/proc/sys/kernel/core_pattern" file content which indicates where core dump i saved and how its name is formed.

Share this post


Link to post
Share on other sites

Ok here it comes out of Archlinux

First btsync armhf manually downloaded:
 

Quote

PID: 987 (btsync)

           UID: 1000 (petschke)

           GID: 1000 (petschke)

        Signal: 11 (SEGV)

     Timestamp: Fri 2016-06-17 13:05:26 CEST (6min ago)

  Command Line: ./btsync

    Executable: /home/petschke/bt/btsync

 Control Group: /user.slice/user-1000.slice/session-c2.scope

          Unit: session-c2.scope

         Slice: user-1000.slice

       Session: c2

     Owner UID: 1000 (petschke)

       Boot ID: 3282fca7bad04b808a8d645c6bae3665

    Machine ID: 2970dfe1881f4006bcc9ac14f165e286

      Hostname: datenserver

      Coredump: /var/lib/systemd/coredump/core.btsync.1000.3282fca7bad04b808a8d645c6bae3665.987.146616

       Message: Process 987 (btsync) of user 1000 dumped core.

                

                Stack trace of thread 987:

                #0  0x000000000006c75a n/a (btsync)

and now the one installed over AUR
 

Quote

 PID: 1050 (btsync)

           UID: 996 (btsync)

           GID: 996 (btsync)

        Signal: 11 (SEGV)

     Timestamp: Fri 2016-06-17 13:12:49 CEST (15s ago)

  Command Line: /usr/bin/btsync --config /etc/btsync.conf

    Executable: /usr/bin/btsync

 Control Group: /system.slice/btsync.service

          Unit: btsync.service

         Slice: system.slice

       Boot ID: 3282fca7bad04b808a8d645c6bae3665

    Machine ID: 2970dfe1881f4006bcc9ac14f165e286

      Hostname: datenserver

      Coredump: /var/lib/systemd/coredump/core.btsync.996.3282fca7bad04b808a8d645c6bae3665.1050.146616

       Message: Process 1050 (btsync) of user 996 dumped core.

                

                Stack trace of thread 1050:

                #0  0x0000000000000000 n/a (n/a)

 

Share this post


Link to post
Share on other sites

@Gorn We've reproduced it in lab and are on it. Hopefully, we'll find out what has changed in Arch that causes crash. Stay tuned for updates.

Share this post


Link to post
Share on other sites

It seems, that downgrading glibc to 2.23-1 is a temporary workaround. We continue working on finding the problem with glibc.

Share this post


Link to post
Share on other sites

@RomanZ Have you found a solution for running btsync on a ARMv6 armhf Raspberry Pi 1 so far?

Or is there any other solution available for Raspbian?
(I was not able to adapt the glibc downgrade instructions for Arch Linux to Raspbians apt system...)

Share this post


Link to post
Share on other sites

@12345lamacun We didn't get any reports on issues of Sync working on Raspbian for RPI1. The ARMHF build should run just fine. What's your issue? Is it reporting some error or crashing?

 

 

Share this post


Link to post
Share on other sites

@RomanZ:

As described by @Gorn in the first Post, Sync does not work anymore on the Raspberry Pi 1, ARMv6 Processor, armhf Raspbian/Arch Linux.
Gorn tried it under Arch Linux and installed BTSync via "AUR" (Package manager, I suppose?) and by manually downloading from home page.

I tried to run it under Raspbian, but neither installing it via apt-get, nor running the downloaded Version from your Homepage (2.3.8) did work.

Tried installation just now, Debian 8.0 (Raspbian), Kernel Version 4.4.13+, Default user "pi":

sudo apt-get install  btsync
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  btsync
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/4506 kB of archives.
After this operation, 6786 kB of additional disk space will be used.
Selecting previously unselected package btsync.
(Reading database ... 36585 files and directories currently installed.)
Preparing to unpack .../btsync_2.3.8-1_armhf.deb ...
Unpacking btsync (2.3.8-1) ...
Processing triggers for systemd (215-17+deb8u4) ...
Setting up btsync (2.3.8-1) ...
Job for btsync.service failed. See 'systemctl status btsync.service' and 'journalctl -xn' for details.
invoke-rc.d: initscript btsync, action "start" failed.
dpkg: error processing package btsync (--configure):
 subprocess installed post-installation script returned error exit status 1
Processing triggers for systemd (215-17+deb8u4) ...
Errors were encountered while processing:
 btsync
E: Sub-process /usr/bin/dpkg returned an error code (1)

Output of "systemctl status btsync.service":

:~ $ systemctl status btsync.service
● btsync.service - BitTorrent Sync service
   Loaded: loaded (/lib/systemd/system/btsync.service; disabled)
   Active: failed (Result: start-limit) since Mon 2016-09-05 19:49:33 CEST; 2min 15s ago
     Docs: http://help.getsync.com/
  Process: 4687 ExecStart=/usr/bin/btsync --config /etc/btsync/config.json (code=killed, signal=ILL)
  Process: 4684 ExecStartPre=/bin/chown -R btsync:btsync /var/run/btsync (code=exited, status=0/SUCCESS)
  Process: 4681 ExecStartPre=/bin/mkdir -p /var/run/btsync (code=exited, status=0/SUCCESS)

Directly executing binary:

:~ $ /usr/bin/btsync --help
Illegal instruction
:~ $

Starting Service via systemctl:

:~ $ sudo systemctl start btsync
Job for btsync.service failed. See 'systemctl status btsync.service' and 'journalctl -xn' for details.
:~ $ sudo journalctl -xn
//Contains no entry related to btsync-service AT ALL

Had to downloaded binaries again, because I already deleted them, negative results as well:

For armhf version:

:~/btsync/BitTorrent-Sync_armhf $ ll
total 6608
drwxr-xr-x 2 pi pi    4096 Sep  5 20:00 .
drwxr-xr-x 4 pi pi    4096 Sep  5 20:00 ..
-rw-r--r-- 1 pi pi     227 Jun 20 15:08 LICENSE.TXT
-rw-r--r-- 1 pi pi    1607 Jun 20 15:08 README
-rw-r--r-- 1 pi pi 6746820 Jun 20 15:10 btsync
:~/btsync/BitTorrent-Sync_armhf $ chmod +x btsync
:~/btsync/BitTorrent-Sync_armhf $ ./btsync
Illegal instruction
:~/btsync/BitTorrent-Sync_armhf $

Okay, this is some unexpected and strange result:

The arm Version seems to be running just fine?! Just checked, I am even able to add folders via Webinterface...

:~/btsync/BitTorrent-Sync_arm $ ./btsync --webui.listen 0.0.0.0:8888
By using this application, you agree to our Privacy Policy, Terms of Use and End User License Agreement.
https://www.getsync.com/legal/privacy
https://www.getsync.com/legal/terms-of-use
https://www.getsync.com/legal/eula

Webui is listening on 0.0.0.0:8888
BitTorrent Sync forked to background. pid = 5048
:~/btsync/BitTorrent-Sync_arm $

Checking via "readelf -A /proc/self/exe | grep Tag_ABI_VFP_args" as described on https://blogs.oracle.com/jtc/entry/is_it_armhf_or_armel im running a armhf-System and should have used the armhf-binary? as you can see in the apt-get output it automatically selects the armhf-Version. I did some googling on architecture and arm/armhf, but those results made no sense to me at all or were not related to my situation...
 

apt-get update selecting armhf packages:

sudo apt-get update
Hit http://linux-packages.getsync.com btsync InRelease
Get:1 http://mirrordirector.raspbian.org jessie InRelease [14.9 kB]
Get:2 http://archive.raspberrypi.org jessie InRelease [13.2 kB]
Hit http://linux-packages.getsync.com btsync/non-free armhf Packages
Get:3 http://mirrordirector.raspbian.org jessie/main armhf Packages [8981 kB]
Ign http://linux-packages.getsync.com btsync/non-free Translation-en
Get:4 http://archive.raspberrypi.org jessie/main armhf Packages [146 kB]
Hit http://archive.raspberrypi.org jessie/ui armhf Packages

 

Would be grateful for some clarification...

Thanks in advance!

Share this post


Link to post
Share on other sites

@12345lamacun Gorn reported that Sync is not running on new version of Arch Linux, that's different from your issue.

Your issue is that during installation Sync package brings your an ARMHF binary to your RPI1 while RPI1 actually does not support hard floating point operations and should get the ARM binary. I reproduced it in our lab. We'll prioritize and fix the issue eventually.

Meanwhile, you can replace the binary /usr/bin/btsync to ARM version and use it normally.

Share this post


Link to post
Share on other sites

@12345lamacun We are done with issue investigation. By some unknown reason, Raspbian for RPI1 uses ARMHF default architecture. As a result, apt-get downloads ARMHF build from our repo. This is not something we can fix as it is in Raspbian code.

Although, you can work it around by adding additional architecture to your OS and forcing manual installation of ARMEL build:

dpkg --add-architecture armel
apt-get update
apt-get install btsync:armel

 

Share this post


Link to post
Share on other sites
On 8.9.2016 at 4:32 PM, RomanZ said:

@12345lamacun We are done with issue investigation. By some unknown reason, Raspbian for RPI1 uses ARMHF default architecture. As a result, apt-get downloads ARMHF build from our repo. This is not something we can fix as it is in Raspbian code.

Although, you can work it around by adding additional architecture to your OS and forcing manual installation of ARMEL build:


dpkg --add-architecture armel
apt-get update
apt-get install btsync:armel

 

This doesn't work because libc6:armel (>= 2.4) ist needed.

FYI: The bittorrent-sync-pi-server_2.3.7_armhf.deb was also armhf and works flawlessly.

 

Share this post


Link to post
Share on other sites

@patho That's the package demand. We'll fix it and you'll be able to install armel pacakge on your RPI1. Stay tuned for updates.

The bittorrent-sync-pi-server_2.3.7_armhf.deb package actually contained ARMEL binary - I just checked. That's why it ran on your RPI1. ARMHF can't run on RPI1 - it contains instructions that CPU can't interpret.

Share this post


Link to post
Share on other sites

@RomanZ & @AlexanderD: where do we stand on the OP issue (segmentation fault on arch linux and Raspberry Pi 1 (with glibc > 2.23-1))?

are you making progress with the glibc team? staying on glibc 2.23 proved challenging are many other packages have now dependencies with more recent glibc versions...

I don't mean to sound rude, but 4 months (reported in this thread in june, but reports started in may on arch & aur forums) that arch linux RPi1 users cannot use their backup server/solution (see the irony?).

tried resiliio 2.4.0 & 2.4.1 (with arm (no hf) build): both still fail with segmentation fault on a simple rslsync --help

just for the record, the RPi 1 is a armhf board...

Share this post


Link to post
Share on other sites

@zifnab Unfortunately, no big progress with Arch Linux for RPI1.

Quote

 

I don't mean to sound rude, but 4 months (reported in this thread in june, but reports started in may on arch & aur forums) that arch linux RPi1 users cannot use their backup server/solution (see the irony?).

 

I understand your frustration about issue not addressed for 4+months. Though, it's not about time, it's more about priorities. The issue only happens on Arch Linux for RPI, and Sync works just fine on other distros (just tested with 2.24). We are small team, and we have to choose wisely where to invest our time. The Arch for RPI doesn't look to be very popular combo at the moment.

Quote

just for the record, the RPi 1 is a armhf board...

RPI1 has ARMv6 architecture. Wiki says that "In Debian Linux, and derivatives such as Ubuntu, armhf (ARM hard float) refers to the ARMv7 architecture including the additional VFP3-D16 floating-point hardware extension (and Thumb-2) above." So for the sake of simplicity it is ARMEL, not ARMHF.
I understand that likely RPI1 supports VFP-v2 but not v3 and technically it is possible to make a special build of pretty much any software that will utilize RPI1's floating point hardware. Although - see my note above about the time management for small teams.

 

Share this post


Link to post
Share on other sites

Good afternoon everybody,

I did not get it work through the repositories either, but however I managed it the following way:

First some background info - I am running:

  • Raspberry Pi (1) B+
  • Raspbian Jessie

The steps I followed, gathered from different sites, in case it helps someone:

I downloaded the latest version from the Resilio download page:

wget https://download-cdn.resilio.com/stable/linux-arm/resilio-sync_arm.tar.gz

 

Untar it into a directory of your choice

mkdir btsync
mv resilio-sync_arm.tar.gz btsync/
cd btsync

tar -xvf resilio-sync_arm.tar.gz

 

Execute the extracted file, enabling at the same time the web interface:

sudo ./rslsync --webui.listen 0.0.0.0:8888

 

With this, I was able to access the Sync on the RPi via browser and its IP address (192.168.100.122:8888 or any other IP you assigned to your RPi).

Now, I would appreciate, if anyone could provide me with some manuals or FAQ for this package.  The main FAQ is based on package installation for Debian, but for the time being, this is not helping me. I would like to configure a storage path, restrict the IP access (if possible), etc.

Any help is appreciated.

Regards,
Sebastian

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now