Menu

Snapraid 11.4 CentOS8 puzzler

Help
dvgeek
2020-05-22
2020-05-28
  • dvgeek

    dvgeek - 2020-05-22

    I've been running snapraid-11.3 on my production machine for quite some time on CentOS8, without any issues.

    Noticed today that version 11.4 had come out. Downloaded and compiled on my development machine. OS had been updated and machine rebooted before running ./configure and make.

    make check also runs without any issues.

    So, copied snapraid to my production machine.

    Just typing snapraid without any commands or options runs fine, but snapraid status results in a core dump with the message - Illegal instruction (core dumped). Not confident to run any other snapraid command on my production machine after this.

    Immediately went back to the development machine and ran snapraid status - no core dump - but correctly complained that there is no /etc/snapraid.conf file. Went back to production and tried the command again with the option -c /etc/snapraid.conf. Same result - core dumped

    Both machines have been updated with the latest CentOS updates. The only difference is that production is a minimal CentOS8 build without the development libraries. But snapraid-11.3 runs fine on this machine.

    I can supply any files from my development machine. The zipped up development directory is 120MB, so did not want to upload the entire directory.

    Thanks.

     
  • dvgeek

    dvgeek - 2020-05-22

    Just want to add that dmesg has the following message - not sure if it helps

    traps: snapraid[2561] trap invalid opcode ip:407b3e sp:7ffde2036b40 error:0 in snapraid[400000+74000]

     
  • Andrea Mazzoleni

    Hi dvgeek,

    The default build option is now -march=native, meaning that if you copy the executable to a different machine it may not work if the CPU is an older one.

    You can force a generic CPU with:

    CFLAGS=-march=x86-64 ./configure

    Ciao,
    Andrea

     
    • dvgeek

      dvgeek - 2020-05-24

      Thanks!  Will try it out ASAP.
      It's a Network File Server with 12 x 8TB drives - running double parity - and as it's 24/7, I used a low power CPU...
      Will post update once I try this.
      Thanks again.

      On Sunday, May 24, 2020, 10:31:33 AM PDT, Andrea Mazzoleni <amadvance@users.sourceforge.net> wrote:
      

      Hi dvgeek,

      The default build option is now -march=native, meaning that if you copy the executable to a different machine it may not work if the CPU is an older one.

      You can force a generic CPU with:

      CFLAGS=-march=x86-64 ./configure

      Ciao,
      Andrea

      Snapraid 11.4 CentOS8 puzzler

      Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/snapraid/discussion/1677233/

      To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

       
  • dvgeek

    dvgeek - 2020-05-24

    May 24th:
    Hello Andrea,
    No go - same result
    It compiled ok, make check was ok
    Moved the file on to the file server and
    Same result as before
    Without any commands, snapraid - executes and outputs the version v11.4 and usage commands and instructions

    I tried the commands status & up

    snapraid status outputs
    Self test...
    Illegal instruction (core dumped)

    snapraid up outputs
    Illegal instruction (core dumped)

    Interestingly, the size of the new executable was considerably smaller...
    x86-64 build was 672,480 bytes
    default build previously was 1,939,432 bytes

    Also, I checked architectures of both machines - both belong to the haswell family.

    May25th:
    I added 4 x SATA drives I had lying around to my Dev machine (which previously had only 1 drive before.
    Copied some random files onto these 4 and created a snapraid.conf in /etc
    Compiled and made a new snapraid with defaults
    It works as expected. No errors, no core dumps.

    This got me thinking along these lines -
    The machines are both haswell - Dev is an i7 and Prod is a low power Celeron, both running CentOS8 with the same kernel version patched to the latest available.
    The difference could be in the additional developmental libraries that the DEV machine has.
    The Prod machine is a minimal build - with libraries that have been added as needed.

    So how do I identify what libraries I would need additionally on the Prod machine?
    Thanks.

     

    Last edit: dvgeek 2020-05-25
  • Sylvain Prat

    Sylvain Prat - 2020-05-25

    Hi,

    I have the same "Illegal instruction" error when trying to use a debian package built by a launchpad worker (https://launchpad.net/~syprat/+archive/ubuntu/test/+build/19350596) in a ubuntu container running on my machine.

    When a build the package on my own machine and install it in a container, no problem! And no problem with the previous 11.3, even when built by the launchpad worker.

    It's the same architecture (amd64), same ubuntu distribution, but not the same kernel and probably not the same libraries.

    I ran gdb and got this:

    Program received signal SIGILL, Illegal instruction.
    0x00005561a626867d in tommy_hash_u32 ()
    

    (sorry, no symbols in the launchpad build, so it does not help too much)

    There was no change in this file recently, so I'm puzzled. I suspect it's due to a change in the build process, but I've not tested the suggested flag yet.

    Hope this helps,
    Sylvain

     

    Last edit: Sylvain Prat 2020-05-25
  • Sylvain Prat

    Sylvain Prat - 2020-05-25

    Also, I tried to use CFLAGS=-march=x86-64 ./configure, but I don't think it works: I have both the -march=x86-64 and -march=native on the gcc command-line.

    gcc -DHAVE_CONFIG_H -I.  -DSYSCONFDIR="\"/etc\""   -march=x86-64 -fno-omit-frame-pointer -fno-inline-functions-called-once -fno-inline-small-functions -rdynamic -fno-common -march=native -pthread -Wall -Wextra -Wuninitialized -Wshadow -c -o cmdline/unix.o cmdline/unix.c
    
     
    • dvgeek

      dvgeek - 2020-05-25

      I don't think you can have both "-march=x86-64" and "-march=native" at the same time.

       
  • dvgeek

    dvgeek - 2020-05-25

    Update May 25th:
    I installed gcc, make, kernel-devel and kernel-headers on my prod machine and compiled snapraid.
    No errors!

    I have no clue on why - so changed my sop to download and compile on prod machine - no dev machine anymore.

     

    Last edit: dvgeek 2020-05-25
  • Andrea Mazzoleni

    Hi dvgeek and others,

    Please try with: http://beta.snapraid.it/snapraid-11.5.tar.gz

    I removed the -march=native option. if it works, I'll make it official.

    Ciao,
    Andrea

     

    Last edit: Andrea Mazzoleni 2020-05-26
    • dvgeek

      dvgeek - 2020-05-26

      Hi Andrea,

      Happy to report it works!

      Compiled on Dev machine and copied the executable to Prod.

      Worked with no errors.

      Thanks!

      Update
      Successfully tested recovery of a deleted file
      Successfully tested recovery of a disk

       

      Last edit: dvgeek 2020-05-26
  • Sylvain Prat

    Sylvain Prat - 2020-05-27

    I've not tested the new 11.5 release yet but removing the -march=native option solves my problem too.

     
  • Sylvain Prat

    Sylvain Prat - 2020-05-28

    Everything works fine with the new release, thanks!

     

Log in to post a comment.