aerospike / aerospike-client-c

Aerospike C Client
Other
98 stars 103 forks source link

apple silicon / arm support #124

Closed bsergean closed 2 years ago

bsergean commented 2 years ago

I just tried the latest 6.0.0 client release and I am still getting random crashes. We have a fork where all the submodules have been updated to the latest, and this has improved things a bit, but I don't know more.

This isn't very informative of a bug report, but it's just to make a note that apple silicon / arm support isn't fully functional yet. At least it builds, I can connect do a few things but I get crashes frequently.

* thread #6, name = 'shmtend', stop reason = EXC_BAD_ACCESS (code=2, address=0x4000000d0)
    frame #0: 0x0000000101ba0574 mediationserver`as_cluster_tend(cluster=0x000000010ac5a200, err=0x00000001700b6b88, enable_seed_warnings=false) at as_cluster.c:715:17
   712      
   713      for (uint32_t i = 0; i < nodes->size; i++) {
   714          as_node* node = nodes->array[i];
-> 715          node->friends = 0;
   716          node->partition_changed = false;
   717          node->rebalance_changed = false;
   718      }
Target 0: (mediationserver) stopped.
kportertx commented 2 years ago

We haven't officially begun coding efforts to port the C client to ARM at this time. Some community contributions were recently submitted to allow the project to compile but there is much more work ahead to support the more relaxed memory ordering guarantees provided by ARM. We have a few options for addressing these issues, each having its own set of pros and cons, which are being discussed internally. We anticipate the job of porting our C codebases to commence later this year - but priorities can shift.

bsergean commented 2 years ago

Sounds good. Thanks for the info and good luck with the port !

bsolomon-bw commented 2 years ago

Hi @kportertx -- we have an ARM port for a couple of sizeable components blocked by this. Do you have any fresh insight into the timeline for support, or ability to influence priority here?

BrianNichols commented 2 years ago

There is not an exact timeline, but the ARM port is scheduled to start after the release of server version 6.1.

rbotzer commented 2 years ago

Any current customer that wants a better time estimate, please open a support ticket, and we'll answer it there. Otherwise it's as Brian said - we're going to ship server version 6.1 soon, and ARM port begins after that.

bsergean commented 2 years ago

fyi, we've been using the m1 branch for a few week on our macs, and the behavior is pretty reliable so far.

BrianNichols commented 2 years ago

Good to hear. The m1 branch has been merged into stage which is the release candidate branch.

Let us know if you run into problems.

BrianNichols commented 2 years ago

C client 6.3.0 is released: https://download.aerospike.com/download/client/c/notes.html#6.3.0

bsolomon-bw commented 2 years ago

Bravo!!!