The Vertica Forum recently got a makeover! Let us know what you think by filling out this short, anonymous survey.
Please take this survey to help us learn more about how you use third party tools. Your input is greatly appreciated!

Support Apple Silicon M1 for docker vertica-ce

nicopadunicopadu Community Edition User
edited March 25 in General Discussion

Just switched from an Intel-based laptop to a new Apple M1 Pro, but unfortunately found that docker image for Vertica-CE is not supported in this arm architecture.
Tried a couple of emulators without any luck.

Do you have any plan to support other architecture than amd64 for vertica-ce image?

Usage scenario is only local development with very reduced requirements/functionalities, community edition is more than enough.



  • Bryan_HBryan_H Vertica Employee Administrator

    Try the following in the container - the VERTICA_MEMDEBUG setting worked for another Mac user:
    [[email protected] log]$ export VERTICA_MEMDEBUG=2
    [[email protected] log]$ rm -rf /home/dbadmin/docker/
    [[email protected] log]$ /opt/vertica/bin/admintools -t create_db --database=docker --password='' --hosts=localhost
    [[email protected] log]$ vsql
    Welcome to vsql, the Vertica Analytic Database interactive terminal.

  • nicopadunicopadu Community Edition User
    edited March 2022


    I was originally using vertica-ce 10 version. Need to upgrade to 11
    Also including env VERTICA_MEMDEBUG=2 did the trick.

    This command now runs...
    docker run -p 5433:5433 -p 5444:5444 --name vertica_ce --platform linux/amd64 --env VERTICA_MEMDEBUG=2 vertica/vertica-ce:11.1.0-0

    It takes longer than expected to complete VMart example loading, but it's something we can tweak/skip if needed.

    Couln't find any perf degradation by using VERTICA_MEMDEBUG=2. And quite vague documentation about that. Do you have any idea what's behind this flag that's worth considering?

  • nicopadunicopadu Community Edition User

    Well, update on this thread :(
    Originally it looks like all is OK, Vertica single node shows as UP and clients are able to connect to it.
    But after a certain point there's an internal error and container just crashes.

    Below is an extract of ErrorReport.txt obtained from docker volume

    Backtrace Generated by Error
    Signal: [0x000000000000000b] PID: [0x00000000000001e3] PC: [0x00000040023cf220] FP: [0x00000042f8511cc0] SIGSEGV: SEGV_MAPERR SI_ADDR : [0x00000045b7833f6c]
    (_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc+0x46fc75d) [0x611dbfd]
    (_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc+0x4817850) [0x6238cf0]
    (_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc+0x481b647) [0x623cae7]
    (_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc+0x481b76e) [0x623cc0e]
    (_L_unlock_13+0x34) [0x4001c4b630]
    (__memcmp_sse4_1+0x40) [0x40023cf220]
    (_ZNSt6vectorISsSaISsEEaSERKS1_+0x2f8690) [0x188b8b0]
    (_ZNSt6vectorISsSaISsEEaSERKS1_+0x2ff735) [0x1892955]
    (_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc+0x4c757b) [0x1ee8a1b]
    (_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc+0x4cc784) [0x1eedc24]
    (_ZNSt6vectorISsSaISsEEaSERKS1_+0xaefb5) [0x16421d5]
    (_ZNSt6vectorISsSaISsEEaSERKS1_+0xafc6b) [0x1642e8b]
    (_ZNSt6vectorISsSaISsEEaSERKS1_+0xaffb7) [0x16431d7]
    (_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc+0x45b2149) [0x5fd35e9]
    (_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc+0x45b2e73) [0x5fd4313]
    (start_thread+0xc5) [0x4001c43ea5]
    (clone+0x6d) [0x4002363b0d]
    Thread type: EE Internal Command Queue Thread
    Request: COPY myschema.TEST_TABLE FROM '/docker-entrypoint-initdb.d/TEST_TABLE.csv' PARSER fcsvparser();
               0: Root
               7: GroupByNothing
    FAULT =>   6: DataTarget
               1: NewEENode
               2) ExprEval         depth=(0) parent=0, peer#0; outTup nCol=18,nkey=0,inlSz=2044,fixSz=144
               3) LoadUnion        (1) 2, #0; out 17,0,2036,136
               4) ExprEval         (2) 3, #0; out 17,0,2036,136
               5) Load             (3) 4, #0; CRPstate=4; out 17,0,2036,136
    Transaction: [0x00a00000000004f8]

    Has anyone been able to use any vertica-ce docker image using Docker Desktop for Mac (M1 arm64 version)?

  • SruthiASruthiA Vertica Employee Employee

    @nicopadu: Is /docker-entrypoint-initdb.d/TEST_TABLE.csv a NFS mount point? Since it is a crash, we may need to open a bug and collect log files. Could you please open a support case?

  • nicopadunicopadu Community Edition User

    This TEST_TABLE.csv is a local folder mount using docker-compose.
    Will try to find someone to open a support case from our side

This discussion has been closed.