Netatalk 4.0 - Future-proofing Apple File Sharing

rdmark

Moderator
Staff member
Oct 3, 2021
185
257
63
If options aren't taking effect, a common cause is that netatalk is reading afp.conf from a different location. Run "netatalk -V" and compare the path to afp.conf with what you're editing.
 

bribri

New Tinkerer
Jun 28, 2024
22
9
3
@rdmark It's definitely using the right file. My current afp.conf:

Code:
[Global]
uam list = uams_guest.so
guest account = username
log level = default:debug
log file = /opt/local/var/log/netatalk4.log
extmap file = /opt/local/etc/extmap.conf

[Stuff2]
volume name = Stuff2
path = /Users/username/misc/afp
file perm = 0644
directory perm = 0755
ea = sys
legacy volume size = yes
I tried changing the volume name just to confirm that it was picking up those changes, and indeed it was.
 

scj312

Tinkerer
Oct 29, 2021
70
84
18
@rdmark Unfortunately, I seem to be stuck in a restart loop once again:

I'll increase log levels so that next time we have something more useful to work with.

With the debug logging, unfortunately I don't see much of note when the error occurs that initiates the first restart:
Code:
Apr 13 07:10:14.761241 afpd[74] {volume.c:316} (debug:AFPDaemon): getvolparams: Volume 'Files'
Apr 13 07:10:14.761280 afpd[74] {ad_conv.c:298} (debug:end_of_list_marker): ad_convert("/mnt/afpshare"): BEGIN
Apr 13 07:10:14.761296 afpd[74] {ad_conv.c:316} (debug:end_of_list_marker): ad_convert("/mnt/afpshare"): END: 0
Apr 13 07:10:14.761316 afpd[74] {ad_open.c:2043} (debug:end_of_list_marker): ad_open("/mnt/afpshare", HF|DIR|O_RDWR|O_CREAT): BEGIN {d: 0, m: 0, r: 0}[dfd: -1 (ref: 0), mfd: -1 (ref: 0), rfd: -1 (ref: 0)]
Apr 13 07:10:14.761334 afpd[74] {ad_open.c:1239} (debug:end_of_list_marker): ad_open_hf_ea("/mnt/afpshare", HF|DIR|O_RDWR|O_CREAT): BEGIN [dfd: -1 (ref: 0), mfd: -1 (ref: 0), rfd: -1 (ref: 0)]
Apr 13 07:10:14.761346 afpd[74] {ad_open.c:1269} (debug:end_of_list_marker): ad_open_hf_ea("/mnt/afpshare"): opening base file for meta adouble EA
Apr 13 07:10:14.761393 afpd[74] {ad_open.c:1331} (debug:end_of_list_marker): ad_open_hf_ea("/mnt/afpshare", HF|DIR|O_RDWR|O_CREAT): END: 0 [dfd: 9 (ref: 1), mfd: 9 (ref: 1), rfd: -1 (ref: 0)]
Apr 13 07:10:14.761423 afpd[74] {ad_open.c:2106} (debug:end_of_list_marker): ad_open("/mnt/afpshare"): END: 0 {d: 0, m: 1, r: 0}[dfd: 9 (ref: 1), mfd: 9 (ref: 1), rfd: -1 (ref: 0)]
Apr 13 07:10:14.761448 afpd[74] {ad_flush.c:464} (debug:end_of_list_marker): ad_close(HF): BEGIN: {d: 0, m: 1, r: 0} [dfd: 9 (ref: 1), mfd: 9 (ref: 1), rfd: -1 (ref: 0)]
Apr 13 07:10:14.761470 afpd[74] {ad_flush.c:527} (debug:end_of_list_marker): ad_close(HF): END: 0 {d: 0, m: 0, r: 0} [dfd: -1 (ref: 0), mfd: -1 (ref: 0), rfd: -1 (ref: 0)]
Apr 13 07:10:21.068315 afpd[37] {main.c:548} (error:AFPDaemon): main: asp_getsession: Resource busy
Apr 13 07:10:21.071394 netatalk[36] {netatalk.c:219} (info:Default): child[37]: exited 1
Apr 13 07:10:21.183585 netatalk[36] {netatalk.c:255} (note:AFPDaemon): Restarting 'afpd' (restarts: 1)

Each time the service restarts, I see similar log entries to before:
Code:
Apr 13 07:10:27.385284 afpd[195] {afp_config.c:217} (note:AFPDaemon): Pluto:AFPServer@* started on 420.113:149 (4.2.0)
Apr 13 07:10:27.385331 afpd[195] {afp_config.c:232} (debug:AFPDaemon): DSIConfigInit: hostname: Pluto, listen: -, interfaces: enp3s0, port: 548
Apr 13 07:10:27.386237 afpd[195] {dsi_tcp.c:363} (info:DSI): dsi_tcp_init: bind: Address in use

Apr 13 07:10:27.386258 afpd[195] {dsi_tcp.c:473} (error:DSI): No suitable network config for TCP socket
Apr 13 07:10:27.386337 afpd[195] {dsi_tcp.c:363} (info:DSI): dsi_tcp_init: bind: Address in use

Apr 13 07:10:27.386354 afpd[195] {dsi_tcp.c:473} (error:DSI): No suitable network config for TCP socket
Apr 13 07:10:27.386442 afpd[195] {dsi_tcp.c:363} (info:DSI): dsi_tcp_init: bind: Address in use

Apr 13 07:10:27.386460 afpd[195] {dsi_tcp.c:473} (error:DSI): No suitable network config for TCP socket
Apr 13 07:10:27.386549 afpd[195] {dsi_tcp.c:363} (info:DSI): dsi_tcp_init: bind: Address in use

Apr 13 07:10:27.386564 afpd[195] {dsi_tcp.c:473} (error:DSI): No suitable network config for TCP socket
Apr 13 07:10:27.386600 afpd[195] {afp_config.c:324} (error:Default): no suitable network address found, use "afp listen" or "afp interfaces"
Apr 13 07:10:27.386627 afpd[195] {main.c:359} (error:AFPDaemon): main: no servers configured
Apr 13 07:10:27.387413 netatalk[36] {netatalk.c:219} (info:Default): child[195]: exited 2
Apr 13 07:10:28.184288 netatalk[36] {netatalk.c:255} (note:AFPDaemon): Restarting 'afpd' (restarts: 2)

I set log level = default:debug afpdaemon:debug uamsdaemon:debug. Are there other parameters I should be setting to help troubleshoot?
 

NJRoadfan

New Tinkerer
Feb 6, 2022
46
13
8
Disable AppleTalk and see if the problem still occurs. The "asp_getsession" error is from afpd not initializing AppleTalk sockets correctly. The best I can tell is something is clobbering the NIC in the container so that it appears "busy/unavailable" whenever a device tries to bind and open a socket on it.
 
Last edited:

NJRoadfan

New Tinkerer
Feb 6, 2022
46
13
8
I'm seeing references to a host called "saturn" in your past nbplkup queries sharing the same AppleTalk address as Pluto. Is there more then one docker container running netatalk or is the host itself running netatalk? That would case binding errors as the container can't open up listening ports on a network interface if another process is using them. This appears to be happening with AppleTalk and TCP/IP.
 

scj312

Tinkerer
Oct 29, 2021
70
84
18
Disable AppleTalk and see if the problem still occurs. The "asp_getsession" error is from afpd not initializing AppleTalk sockets correctly. The best I can tell is something is clobbering the NIC in the container so that it appears "busy/unavailable" whenever a device tries to bind and open a socket on it.
Unfortunately, without AppleTalk, netatalk isn't of much use to me :) I'd be willing to test this for a bit, but unfortunately this issue is a bit unpredictable--sometimes it occurs within a day or two, other times it takes weeks.

I'm seeing references to a host called "saturn" in your past nbplkup queries sharing the same AppleTalk address as Pluto. Is there more then one docker container running netatalk or is the host itself running netatalk? That would case binding errors as the container can't open up listening ports on a network interface if another process is using them. This appears to be happening with AppleTalk and TCP/IP.
Ah, that naming issue was due to a misconfiguration at the time. I only have one instance of netatalk running.
 

NJRoadfan

New Tinkerer
Feb 6, 2022
46
13
8
Is there anything else AppleTalk/DDP running on that machine/interface? I'm not too familiar with Docker, does it's NIC passthru use the host's MAC? This behavior is certainly odd.

The other possibility is that you are running out of listening sockets. How many connections are being made to this machine at once? The default is 200, which should be more then enough for a hobby server.
 

scj312

Tinkerer
Oct 29, 2021
70
84
18
Is there anything else AppleTalk/DDP running on that machine/interface? I'm not too familiar with Docker, does it's NIC passthru use the host's MAC? This behavior is certainly odd.

The other possibility is that you are running out of listening sockets. How many connections are being made to this machine at once? The default is 200, which should be more then enough for a hobby server.
Netatalk is the only thing running on that machine using DDP (unless something is hiding :) ). As for the MAC, AFAICT the host MAC is used. I have jrouter running on another machine and it reports the host's MAC for Netatalk's DDP address.

Is the sockets number you are referring to host-wide, or specific to Netatalk? I do have a ton of stuff running on this machine! However, what makes me think this may be an issue with Netatalk, or how it is managing restarting its services, is that a simple restart of the container fixes the problem (until the next occurrence)--no other changes to the host are required for things to work normally again.
 

NJRoadfan

New Tinkerer
Feb 6, 2022
46
13
8
The sockets thing would be how many sockets Netatalk, specifically afpd, has open (both listening and active clients). The "resource not available" message points to the DDP listening socket (128) somehow becoming unavailable, which is triggering afpd to restart. Somehow after the restart, it can't open up a listening socket on TCP port 541 anymore either! The only other thing I can think of is some sort of security policy to being triggered by the Netatalk container shutting down the ability for services to open listening sockets.
 

scj312

Tinkerer
Oct 29, 2021
70
84
18
The sockets thing would be how many sockets Netatalk, specifically afpd, has open (both listening and active clients). The "resource not available" message points to the DDP listening socket (128) somehow becoming unavailable, which is triggering afpd to restart. Somehow after the restart, it can't open up a listening socket on TCP port 541 anymore either! The only other thing I can think of is some sort of security policy to being triggered by the Netatalk container shutting down the ability for services to open listening sockets.
Ah! I wonder if something is not quite right with the afpd restart process--my Mac (modern, using TCP/IP) never disconnects from the mounted AFP share when this happens, and it can continue to read and write from the share during the restart loop (however, if I unmount, then I cannot reconnect). So maybe the port is actually still open, rather than a policy blocking it.
 

NJRoadfan

New Tinkerer
Feb 6, 2022
46
13
8
afpd forks child processes to service a client, that's why you are able to maintain a connection. The child process continues to work fine, but if you try to reconnect or connect new clients, the main process won't respond because it is unable to open up TCP port 541 to listen for new connections. I'm betting if you restart one of the other AppleTalk services after this happens, they too won't be able to open a port.

Also what distro are you running as the host's OS? Part of me suspects that the kernel level driver for Docker's "host" networking is the source of this problem.
 
Last edited:

NJRoadfan

New Tinkerer
Feb 6, 2022
46
13
8
When the container is in this weird state, can you attempt to startup python's built in web server in the container and see if it binds to a listening port? Also check that you can connect to it from a machine on your network.
 

rdmark

Moderator
Staff member
Oct 3, 2021
185
257
63
Easter update: over the last few days, I have containerized both the mysql CNID backend as well as the netatalk webmin module.

As a quick recap, netatalk uses a berkeleydb CNID backend by default presently. However the mysql backend allows for better control and scalability, while also being a living technology unlike bdb which has been abandoned for many years at this point.

However, mysql/mariadb is a bit more cumbersome since you have to install and configure database server software. It isn't particularly hard, but not plug'n'play either.

Anyways, by combining the docker compose yaml examples that I have compiled, you can now create a container constellation like below: netatalk running with a mariadb backend, webmin as the web UI for netatalk and adminer as the web UI for mariadb.

The main purpose for all this, personally, is testing. These are all running in continuous integration now. I don't want to inadvertently break the mysql backend again. But this can potentially be used in a "production" deployment as well. Not guarantees though! ;)

Code:
[+] Running 7/7

 ✔ Network netatalk_default                                            Created                                      0.1s
 ✔ Volume "netatalk_cnid_db_data"                                      Created                                      0.0s
 ✔ Container netatalk-adminer-1                                        Created                                      0.1s
 ✔ Container netatalk-mariadb-1                                        Created                                      0.1s
 ✔ Container netatalk-webmin-1                                         Created                                      0.0s
 ✔ Container netatalk-netatalk-1                                       Recreated                                   10.2s
 
  • Like
Reactions: scj312 and eric

V.Yakob

Tinkerer
Sep 6, 2023
98
34
18
Syktyvkar
I also faced a problem that I can't solve. Netatalk installed from brew, version 4.2.3.

Part of the log, when trying to mount the shared directory on Mac OS 9.2.2
Code:
May 15 18:15:33.369624 afpd[98548] {cnid_dbd.c:382} (maxdebug:CNID): transmit: connecting to cnid_dbd ...
May 15 18:15:33.370853 afpd[98548] {cnid_dbd.c:236} (debug:CNID): connecting to CNID server: localhost:4700
May 15 18:15:33.373125 afpd[98548] {cnid_dbd.c:242} (debug:CNID): connecting volume 'share', path: /Users/vyakob/Shares/AFPShare, user: vyakob
May 15 18:15:33.374105 cnid_metad[98499] {cnid_metad.c:642} (debug:CNID): user: vyakob, volume share, path /Users/vyakob/Shares/AFPShare
May 15 18:15:33.374199 cnid_metad[98499] {netatalk_conf.c:1684} (debug:AFPDaemon): load_volumes: BEGIN
May 15 18:15:33.374232 cnid_metad[98499] {netatalk_conf.c:1719} (debug:AFPDaemon): load_volumes: no volumes yet
May 15 18:15:33.373900 afpd[98548] {cnid_dbd.c:220} (maxdebug:CNID): write_vec: wrote 55 bytes
May 15 18:15:33.375441 cnid_metad[98499] {netatalk_conf.c:1746} (debug:AFPDaemon): load_volumes: loading: /opt/homebrew/Cellar/netatalk/4.2.3/etc/afp.conf
May 15 18:15:33.375786 cnid_metad[98499] {netatalk_conf.c:1334} (debug:AFPDaemon): readvolfile: BEGIN
May 15 18:15:33.375833 cnid_metad[98499] {netatalk_conf.c:1337} (debug:AFPDaemon): readvolfile: sections: 2
May 15 18:15:33.375227 afpd[98548] {cnid_dbd.c:274} (debug:CNID): init_tsock: ok
May 15 18:15:33.376191 cnid_metad[98499] {netatalk_conf.c:831} (debug:AFPDaemon): creatvol(volume: 'share', path: "/Users/vyakob/Shares/AFPShare", preset: '-'): BEGIN
May 15 18:15:33.376342 cnid_metad[98499] {netatalk_conf.c:1176} (maxdebug:AFPDaemon): creatvol: Volume 'share' -> UTF8-MAC Name: 'share'
May 15 18:15:33.376475 cnid_metad[98499] {netatalk_conf.c:1214} (maxdebug:AFPDaemon): creatvol: Volume 'share' ->  Longname: 'share'
May 15 18:15:33.376638 cnid_metad[98499] {vfs.c:880} (debug:AFPDaemon): initvol_vfs: enabling EA support with native EAs
May 15 18:15:33.376078 afpd[98548] {cnid_dbd.c:387} (debug7:CNID): transmit: reconnected to cnid_dbd
May 15 18:15:33.377059 cnid_metad[98499] {netatalk_conf.c:212} (debug:AFPDaemon): get_uuid('share'): UUID: 'E053D771-3B3B-6E9A-9E7C-18D664140B68'
May 15 18:15:33.377254 cnid_metad[98499] {netatalk_conf.c:1260} (debug:AFPDaemon): Volume 'share': UUID 'E053D771-3B3B-6E9A-9E7C-18D664140B68'
May 15 18:15:33.377291 cnid_metad[98499] {netatalk_conf.c:1269} (debug:AFPDaemon): creatvol: END: 0
May 15 18:15:33.376820 afpd[98548] {cnid_dbd.c:391} (debug:CNID): transmit: attached to 'share'
May 15 18:15:33.377802 cnid_metad[98499] {netatalk_conf.c:1792} (debug:AFPDaemon): load_volumes: END
May 15 18:15:33.377821 cnid_metad[98499] {netatalk_conf.c:1934} (debug:AFPDaemon): getvolbypath("/Users/vyakob/Shares/AFPShare")
May 15 18:15:33.377839 cnid_metad[98499] {netatalk_conf.c:1963} (debug:AFPDaemon): getvolbypath: path("/Users/vyakob/Shares/AFPShare") == volume("/Users/vyakob/Shares/AFPShare")
May 15 18:15:33.377852 cnid_metad[98499] {cnid_metad.c:654} (maxdebug:CNID): main: dbpath: /opt/homebrew/var/netatalk/CNID//share/
May 15 18:15:33.377868 cnid_metad[98499] {cnid_metad.c:308} (debug:CNID): set_dbdir: volume: /Users/vyakob/Shares/AFPShare, db path: /opt/homebrew/var/netatalk/CNID//share/
May 15 18:15:33.377925 cnid_metad[98499] {cnid_metad.c:170} (debug:CNID): maybe_start_dbd("/Users/vyakob/Shares/AFPShare"): BEGIN
May 15 18:15:33.377939 cnid_metad[98499] {cnid_metad.c:183} (debug:CNID): maybe_start_dbd: no cnid_dbd serving yet
May 15 18:15:33.377953 cnid_metad[98499] {cnid_metad.c:223} (maxdebug:CNID): maybe_start_dbd: respawn count: 3
May 15 18:15:33.377634 afpd[98548] {cnid_dbd.c:220} (maxdebug:CNID): write_vec: wrote 48 bytes
May 15 18:15:33.378043 afpd[98548] {cnid_dbd.c:304} (maxdebug:CNID): send_packet: {done}
May 15 18:15:33.378890 cnid_metad[98499] {netatalk_conf.c:1800} (debug:AFPDaemon): unload_volumes: BEGIN
May 15 18:15:33.379107 cnid_metad[98499] {netatalk_conf.c:1813} (debug:AFPDaemon): unload_volumes: END
May 15 18:15:33.379377 cnid_metad[98575] {cnid_metad.c:268} (warn:CNID): Multiple attempts to start CNID db daemon for "/Users/vyakob/Shares/AFPShare" failed, wiping the slate clean...
May 15 18:15:33.396415 cnid_dbd[98575] {logger.c:317} (debug:Logger): Setup file logging: type: Default, level: maxdebug, file: /opt/homebrew/var/netatalk/afpd.log, timestamp_us: 1
May 15 18:15:33.397394 cnid_dbd[98575] {logger.c:317} (debug:Logger): Setup file logging: type: AFPDaemon, level: maxdebug, file: /opt/homebrew/var/netatalk/afpd.log, timestamp_us: 1
May 15 18:15:33.397432 cnid_dbd[98575] {logger.c:317} (debug:Logger): Setup file logging: type: Logger, level: maxdebug, file: /opt/homebrew/var/netatalk/afpd.log, timestamp_us: 1
May 15 18:15:33.397485 cnid_dbd[98575] {netatalk_conf.c:2327} (debug:AFPDaemon): CNID Server: localhost:4700
May 15 18:15:33.397505 cnid_dbd[98575] {netatalk_conf.c:2385} (debug:AFPDaemon): Global unix charset is UTF8
May 15 18:15:33.397516 cnid_dbd[98575] {netatalk_conf.c:2401} (debug:AFPDaemon): Global vol charset is UTF8
May 15 18:15:33.397527 cnid_dbd[98575] {netatalk_conf.c:2416} (debug:AFPDaemon): Global mac charset is MAC_ROMAN
May 15 18:15:33.397539 cnid_dbd[98575] {netatalk_conf.c:1559} (debug:AFPDaemon): readextmap: loading "/opt/homebrew/Cellar/netatalk/4.2.3/etc/extmap.conf"
May 15 18:15:33.397623 cnid_dbd[98575] {netatalk_conf.c:1580} (debug:AFPDaemon): readextmap: done
May 15 18:15:33.399975 cnid_dbd[98575] {main.c:582} (debug:CNID): user: vyakob, path /Users/vyakob/Shares/AFPShare
May 15 18:15:33.400054 cnid_dbd[98575] {netatalk_conf.c:1684} (debug:AFPDaemon): load_volumes: BEGIN
May 15 18:15:33.400073 cnid_dbd[98575] {netatalk_conf.c:1719} (debug:AFPDaemon): load_volumes: no volumes yet
May 15 18:15:33.400159 cnid_dbd[98575] {netatalk_conf.c:1746} (debug:AFPDaemon): load_volumes: loading: /opt/homebrew/Cellar/netatalk/4.2.3/etc/afp.conf
May 15 18:15:33.400257 cnid_dbd[98575] {netatalk_conf.c:1334} (debug:AFPDaemon): readvolfile: BEGIN
May 15 18:15:33.400276 cnid_dbd[98575] {netatalk_conf.c:1337} (debug:AFPDaemon): readvolfile: sections: 2
May 15 18:15:33.400410 cnid_dbd[98575] {netatalk_conf.c:831} (debug:AFPDaemon): creatvol(volume: 'share', path: "/Users/vyakob/Shares/AFPShare", preset: '-'): BEGIN
May 15 18:15:33.400482 cnid_dbd[98575] {netatalk_conf.c:1176} (maxdebug:AFPDaemon): creatvol: Volume 'share' -> UTF8-MAC Name: 'share'
May 15 18:15:33.400496 cnid_dbd[98575] {netatalk_conf.c:1214} (maxdebug:AFPDaemon): creatvol: Volume 'share' ->  Longname: 'share'
May 15 18:15:33.400558 cnid_dbd[98575] {vfs.c:880} (debug:AFPDaemon): initvol_vfs: enabling EA support with native EAs
May 15 18:15:33.400624 cnid_dbd[98575] {netatalk_conf.c:212} (debug:AFPDaemon): get_uuid('share'): UUID: 'E053D771-3B3B-6E9A-9E7C-18D664140B68'
May 15 18:15:33.400646 cnid_dbd[98575] {netatalk_conf.c:1260} (debug:AFPDaemon): Volume 'share': UUID 'E053D771-3B3B-6E9A-9E7C-18D664140B68'
May 15 18:15:33.400656 cnid_dbd[98575] {netatalk_conf.c:1269} (debug:AFPDaemon): creatvol: END: 0
May 15 18:15:33.401121 cnid_dbd[98575] {netatalk_conf.c:1792} (debug:AFPDaemon): load_volumes: END
May 15 18:15:33.401143 cnid_dbd[98575] {netatalk_conf.c:1934} (debug:AFPDaemon): getvolbypath("/Users/vyakob/Shares/AFPShare")
May 15 18:15:33.401155 cnid_dbd[98575] {netatalk_conf.c:1963} (debug:AFPDaemon): getvolbypath: path("/Users/vyakob/Shares/AFPShare") == volume("/Users/vyakob/Shares/AFPShare")
May 15 18:15:33.401206 cnid_dbd[98575] {main.c:592} (debug:CNID): db dir: "/opt/homebrew/var/netatalk/CNID//share//.AppleDB"
May 15 18:15:33.401270 cnid_dbd[98575] {main.c:459} (error:CNID): error in setgroups: Operation not permitted
May 15 18:15:33.402141 cnid_metad[98499] {cnid_metad.c:566} (info:CNID): cnid_dbd[98575] exited with exit code 1
May 15 18:15:33.401970 afpd[98548] {socket.c:162} (error:AFPDaemon): read: Connection reset by peer
May 15 18:15:33.402490 afpd[98548] {cnid_dbd.c:352} (debug:CNID): dbd_rpc: Error reading header from fd (volume share): Connection reset by peer

Chooser on Mac OS 9 displays the "Share" directory, but it is "gray" and not available for mounting.

I don't see any problems with the rights to the CNID database directory.
Code:
 % ls -ld /opt/homebrew/var/netatalk/CNID/     
drwxr-xr-x+ 5 vyakob  admin  160 15 may 18:07 /opt/homebrew/var/netatalk/CNID/

% ls -ld /opt/homebrew/var/netatalk/CNID/share
drwxr-xr-x  3 vyakob  admin  96 15 may 18:07 /opt/homebrew/var/netatalk/CNID/share

The afpd.conf configuration file has been like this for a long time
[Global]
#Global server settings
log file = /opt/homebrew/var/netatalk/afpd.log

#loglevels: severe, error, warn, note, info, debug, debug6, debug7, debug8, debug9, maxdebug
log level = default:maxdebug,afpdaemon:maxdebug,logger:maxdebug,uamsdaemon:maxdebug
#save password = no
mac charset = MAC_ROMAN

#UAMs
#uams_dhx.so uams_dhx2.so uams_randnum.so uams_clrtxt.so uams_guest.so
uam list = uams_dhx.so uams_dhx2.so uams_clrtxt.so

[Share]
path = /Users/vyakob/Shares/AFPShare
file perm = 0666
directory perm = 0777
cnid scheme = dbd
#Uncomment the following line to restrict access to specific users
#valid users =

I've already tried to reinstall it, there are no changes in behavior.

Help me fix it. :)
 

NJRoadfan

New Tinkerer
Feb 6, 2022
46
13
8
If possible, can you create a new folder and try sharing it? Netatalk versions prior to 4.1 didn't use native macOS resource forks and FinderInfo. Just trying to rule that out as a conflict. Also to advise you that your old shares are going to lose that information if mounted with the newer version of Netatalk.
 

V.Yakob

Tinkerer
Sep 6, 2023
98
34
18
Syktyvkar
@NJRoadfan, It didn't help.
But today I managed to solve this problem.

Apparently, all my difficulties were related to the fact that I used to assemble Netatalk according to the instructions, and finally decided to switch to using ready-made packages in brew. And apparently he didn't completely clean up the old tracks and my first installation via brew was also unsuccessful. I don't know, I can only guess.

Today I tried to delete it, but it was unsuccessful, here is a small log of my actions:
Code:
% brew uninstall netatalk  
Error: No such keg: /opt/homebrew/Cellar/netatalk

% brew list | grep netatalk
netatalk

% brew uninstall --force netatalk
% brew list | grep netatalk    
netatalk
% brew cleanup
...

% brew list | grep netatalk    
netatalk

% ls -la /opt/homebrew/Cellar/netatalk
total 0

% rm -rf /opt/homebrew/Cellar/netatalk
% brew cleanup -s

% sudo rm /tmp/netatalk.*
% sudo rm /opt/homebrew/var/run/netatalk.pid

% brew list | grep netatalk
% brew install netatalk

% sudo brew services restart netatalk

It didn't seem to miss anything, but after all these actions it started to work fine. Now I'm ready for new updates via brew! 🥳
 
Last edited:

Slimes

Tinkerer
Jul 26, 2023
34
26
18
Is netatalk unstable on macOS 26? I'm getting constant crashes.

!! UPDATE !!
It seems setting a log folder directory is MANDATORY on macOS 26.
!! UPDATE !!

CRASH REPORT:

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------
Process: afpd [22514]
Path: /opt/homebrew/*/afpd
Identifier: afpd
Version: ???
Code Type: ARM-64 (Native)
Role: Unspecified
Parent Process: afpd [5439]
Coalition: com.apple.Terminal [1298]
Responsible PID: 1172
User ID: 4294967294

Date/Time: 2025-09-28 15:46:01.4725 -0400
Launch Time: 2025-09-28 15:44:40.6708 -0400
Hardware Model: Mac14,3
OS Version: macOS 26.0 (25A354)
Release Type: User

Crash Reporter Key: 87C306C7-1649-5C44-853F-A395FF5158BE
Incident Identifier: B6C1AA43-A075-48BF-9E15-46912613D727

Time Awake Since Boot: 13000 seconds

System Integrity Protection: enabled

Triggered by Thread: 0

Exception Type: EXC_BAD_ACCESS (SIGABRT)
Exception Subtype: KERN_INVALID_ADDRESS at 0x1f0cc7c927c8255e -> 0x000047c927c8255e (possible pointer authentication failure)
Exception Codes: 0x0000000000000001, 0x1f0cc7c927c8255e

Termination Reason: Namespace SIGNAL, Code 6, Abort trap: 6
Terminating Process: afpd [22514]


VM Region Info: 0x47c927c8255e is not in any region.
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
UNUSED SPACE AT START
--->
UNUSED SPACE AT END

Application Specific Information:
crashed on child side of fork pre-exec


Thread 0 Crashed:
0 libsystem_kernel.dylib 0x19688a5b0 __pthread_kill + 8
1 libsystem_pthread.dylib 0x1968c4888 pthread_kill + 296
2 libsystem_c.dylib 0x1967ca808 abort + 124
3 libatalk.19.dylib 0x10023744c sig_fault + 288
4 libsystem_platform.dylib 0x1968ce744 _sigtramp + 56
5 afpd 0x100181d84 afp_flush + 28
6 afpd 0x100181d84 afp_flush + 28
7 afpd 0x10016b3b8 afp_over_dsi + 1632
8 afpd 0x1001890cc main + 2316
9 dyld 0x196505d54 start + 7184


Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x0000000000000000 x1: 0x0000000000000000 x2: 0x0000000000000000 x3: 0x0000000000000000
x4: 0x0000000100f9df00 x5: 0x000000000000000f x6: 0x004c000004210163 x7: 0x0000000000000000
x8: 0xa3afb0cf17a17677 x9: 0xa3afb0cd14867e77 x10: 0x0000000100f9deb0 x11: 0x0000000000000008
x12: 0x0000000000000000 x13: 0x00000000000000b0 x14: 0x0000000000000000 x15: 0x00000000ffffffa5
x16: 0x0000000000000148 x17: 0x00000002048a6008 x18: 0x0000000000000000 x19: 0x0000000000000006
x20: 0x0000000000000203 x21: 0x00000002032708e0 x22: 0x0000000100199b40 x23: 0x00000001001a2000
x24: 0x00000001001a2000 x25: 0x0000000000000000 x26: 0x0000000100268620 x27: 0x000000000000000a
x28: 0x0000000100268620 fp: 0x000000016fc96910 lr: 0x00000001968c4888
sp: 0x000000016fc968f0 pc: 0x000000019688a5b0 cpsr: 0x40001000
far: 0x0000000000000000 esr: 0x56000080 (Syscall)

Binary Images:
0x100168000 - 0x100193fff afpd (*) <ca96f9df-d80e-381b-b80c-6ea68281809d> /opt/homebrew/*/afpd
0x10021c000 - 0x100263fff libatalk.19.dylib (*) <34521129-7861-3e04-81b8-baa9e96fe41e> /opt/homebrew/*/libatalk.19.dylib
0x1001d0000 - 0x1001d7fff libbstring.1.dylib (*) <a3395d61-c0a7-3279-9a18-5e9251425d5e> /opt/homebrew/*/libbstring.1.dylib
0x1001e8000 - 0x1001ebfff libiniparser.4.2.6.dylib (*) <4b46f109-5546-3f99-99a4-b4e6ae71777c> /opt/homebrew/*/libiniparser.4.2.6.dylib
0x1002cc000 - 0x1002f7fff libmariadb.3.dylib (*) <2c48c462-62b3-3856-a23d-1a8d15e3edf2> /opt/homebrew/*/libmariadb.3.dylib
0x100370000 - 0x1003abfff libldap.2.dylib (*) <e964b9fe-9892-327a-b130-03ab2340a45c> /opt/homebrew/*/libldap.2.dylib
0x1004a4000 - 0x100533fff libssl.3.dylib (*) <ddaa8fcc-00a2-37d7-817c-8608293f0f89> /opt/homebrew/*/libssl.3.dylib
0x100af4000 - 0x100e13fff libcrypto.3.dylib (*) <cefd1f5d-708a-3388-9e60-b99bbe6ecd57> /opt/homebrew/*/libcrypto.3.dylib
0x100284000 - 0x10028ffff liblber.2.dylib (*) <26902da7-3ad4-3d7c-8333-6acde43204f1> /opt/homebrew/*/liblber.2.dylib
0x1002a4000 - 0x1002a7fff uams_pam.so (*) <dbecd852-4911-35ac-9942-370feefcc677> /opt/homebrew/*/uams_pam.so
0x1002b8000 - 0x1002bbfff uams_guest.so (*) <64adb500-811c-3218-8bb9-91add4fef60e> /opt/homebrew/*/uams_guest.so
0x196881000 - 0x1968bd45f libsystem_kernel.dylib (*) <2eb73bf1-8c71-3e1f-a160-6da83dc82606> /usr/lib/system/libsystem_kernel.dylib
0x1968be000 - 0x1968caabb libsystem_pthread.dylib (*) <5d31d65c-2ecf-36da-84f5-ba4caab06adb> /usr/lib/system/libsystem_pthread.dylib
0x196751000 - 0x1967d2ff7 libsystem_c.dylib (*) <1e2fc910-e211-3a48-90c1-402c82129ea8> /usr/lib/system/libsystem_c.dylib
0x1968cb000 - 0x1968d33bf libsystem_platform.dylib (*) <36396b66-54eb-30fa-8e3b-e71ae63da30c> /usr/lib/system/libsystem_platform.dylib
0x1964fd000 - 0x19659bf73 dyld (*) <abfd3247-50ac-3c8e-b72a-83710166e982> /usr/lib/dyld
0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???

External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 0
thread_create: 0
thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=883.2M resident=0K(0%) swapped_out_or_unallocated=883.2M(100%)
Writable regions: Total=117.3M written=160K(0%) resident=160K(0%) swapped_out=0K(0%) unallocated=117.1M(100%)

VIRTUAL REGION
REGION TYPE SIZE COUNT (non-coalesced)
=========== ======= =======
Activity Tracing 256K 1
ColorSync 48K 2
Kernel Alloc Once 32K 1
MALLOC 108.8M 16
MALLOC guard page 32K 2
STACK GUARD 56.0M 1
Stack 8176K 1
__AUTH 1305K 146
__AUTH_CONST 17.6M 345
__CTF 824 1
__DATA 4235K 315
__DATA_CONST 15.8M 356
__DATA_DIRTY 1314K 290
__FONT_DATA 2352 1
__LINKEDIT 594.7M 12
__OBJC_RO 78.1M 1
__OBJC_RW 2561K 1
__TEXT 288.5M 365
__TPRO_CONST 128K 2
mapped file 80K 1
page table in kernel 160K 1
shared memory 48K 2
=========== ======= =======
TOTAL 1.1G 1863


-----------
Full Report
-----------

{"app_name":"afpd","timestamp":"2025-09-28 15:46:02.00 -0400","app_version":"","slice_uuid":"ca96f9df-d80e-381b-b80c-6ea68281809d","build_version":"","platform":1,"share_with_app_devs":0,"is_first_party":1,"bug_type":"309","os_version":"macOS 26.0 (25A354)","roots_installed":0,"incident_id":"B6C1AA43-A075-48BF-9E15-46912613D727","name":"afpd"}
{
"uptime" : 13000,
"procRole" : "Unspecified",
"version" : 2,
"userID" : 4294967294,
"deployVersion" : 210,
"modelCode" : "Mac14,3",
"coalitionID" : 1298,
"osVersion" : {
"train" : "macOS 26.0",
"build" : "25A354",
"releaseType" : "User"
},
"captureTime" : "2025-09-28 15:46:01.4725 -0400",
"codeSigningMonitor" : 2,
"incident" : "B6C1AA43-A075-48BF-9E15-46912613D727",
"pid" : 22514,
"translated" : false,
"cpuType" : "ARM-64",
"roots_installed" : 0,
"bug_type" : "309",
"procLaunch" : "2025-09-28 15:44:40.6708 -0400",
"procStartAbsTime" : 326105934744,
"procExitAbsTime" : 328045150373,
"procName" : "afpd",
"procPath" : "\/opt\/homebrew\/*\/afpd",
"parentProc" : "afpd",
"parentPid" : 5439,
"coalitionName" : "com.apple.Terminal",
"crashReporterKey" : "87C306C7-1649-5C44-853F-A395FF5158BE",
"developerMode" : 1,
"bootProgressRegister" : "0x2f000000",
"responsiblePid" : 1172,
"codeSigningID" : "afpd-55554944ca96f9dfd80e381bb80c6ea68281809d",
"codeSigningTeamID" : "",
"codeSigningFlags" : 570425857,
"codeSigningValidationCategory" : 10,
"codeSigningTrustLevel" : 4294967295,
"codeSigningAuxiliaryInfo" : 0,
"instructionByteStream" : {"beforePC":"fyMD1f17v6n9AwCRFOD\/l78DAJH9e8Go\/w9f1sADX9YQKYDSARAA1A==","atPC":"AwEAVH8jA9X9e7+p\/QMAkQng\/5e\/AwCR\/XvBqP8PX9bAA1\/WcAqA0g=="},
"bootSessionUUID" : "75079580-AB9F-4A8C-9E4E-6F008D2E0017",
"sip" : "enabled",
"vmRegionInfo" : "0x47c927c8255e is not in any region. \n REGION TYPE START - END [ VSIZE] PRT\/MAX SHRMOD REGION DETAIL\n UNUSED SPACE AT START\n---> \n UNUSED SPACE AT END",
"exception" : {"codes":"0x0000000000000001, 0x1f0cc7c927c8255e","rawCodes":[1,2237382781666075998],"type":"EXC_BAD_ACCESS","signal":"SIGABRT","subtype":"KERN_INVALID_ADDRESS at 0x1f0cc7c927c8255e -> 0x000047c927c8255e (possible pointer authentication failure)"},
"termination" : {"flags":0,"code":6,"namespace":"SIGNAL","indicator":"Abort trap: 6","byProc":"afpd","byPid":22514},
"vmregioninfo" : "0x47c927c8255e is not in any region. \n REGION TYPE START - END [ VSIZE] PRT\/MAX SHRMOD REGION DETAIL\n UNUSED SPACE AT START\n---> \n UNUSED SPACE AT END",
"asi" : {"libsystem_c.dylib":["crashed on child side of fork pre-exec"]},
"extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
"faultingThread" : 0,
"threads" : [{"triggered":true,"id":224579,"threadState":{"x":[{"value":0},{"value":0},{"value":0},{"value":0},{"value":4311342848},{"value":15},{"value":21392098299281763},{"value":0},{"value":11794840352607794807},{"value":11794840343965761143},{"value":4311342768},{"value":8},{"value":0},{"value":176},{"value":0},{"value":4294967205},{"value":328},{"value":8666112008},{"value":0},{"value":6},{"value":515},{"value":8642824416,"symbolLocation":224,"symbol":"_main_thread"},{"value":4296645440,"symbolLocation":184,"symbol":"replaycache"},{"value":4296679424,"symbolLocation":620,"symbol":"demangle_checks.buffer"},{"value":4296679424,"symbolLocation":620,"symbol":"demangle_checks.buffer"},{"value":0},{"value":4297492000,"symbolLocation":0,"symbol":"type_configs"},{"value":10},{"value":4297492000,"symbolLocation":0,"symbol":"type_configs"}],"flavor":"ARM_THREAD_STATE64","lr":{"value":6820743304},"cpsr":{"value":1073745920},"fp":{"value":6170437904},"sp":{"value":6170437872},"esr":{"value":1442840704,"description":"(Syscall)"},"pc":{"value":6820505008,"matchesCrashFrame":1},"far":{"value":0}},"frames":[{"imageOffset":38320,"symbol":"__pthread_kill","symbolLocation":8,"imageIndex":11},{"imageOffset":26760,"symbol":"pthread_kill","symbolLocation":296,"imageIndex":12},{"imageOffset":497672,"symbol":"abort","symbolLocation":124,"imageIndex":13},{"imageOffset":111692,"symbol":"sig_fault","symbolLocation":288,"imageIndex":1},{"imageOffset":14148,"symbol":"_sigtramp","symbolLocation":56,"imageIndex":14},{"imageOffset":105860,"symbol":"afp_flush","symbolLocation":28,"imageIndex":0},{"imageOffset":105860,"symbol":"afp_flush","symbolLocation":28,"imageIndex":0},{"imageOffset":13240,"symbol":"afp_over_dsi","symbolLocation":1632,"imageIndex":0},{"imageOffset":135372,"symbol":"main","symbolLocation":2316,"imageIndex":0},{"imageOffset":36180,"symbol":"start","symbolLocation":7184,"imageIndex":15}]}],
"usedImages" : [
{
"source" : "P",
"arch" : "arm64",
"base" : 4296441856,
"size" : 180224,
"uuid" : "ca96f9df-d80e-381b-b80c-6ea68281809d",
"path" : "\/opt\/homebrew\/*\/afpd",
"name" : "afpd"
},
{
"source" : "P",
"arch" : "arm64",
"base" : 4297179136,
"size" : 294912,
"uuid" : "34521129-7861-3e04-81b8-baa9e96fe41e",
"path" : "\/opt\/homebrew\/*\/libatalk.19.dylib",
"name" : "libatalk.19.dylib"
},
{
"source" : "P",
"arch" : "arm64",
"base" : 4296867840,
"size" : 32768,
"uuid" : "a3395d61-c0a7-3279-9a18-5e9251425d5e",
"path" : "\/opt\/homebrew\/*\/libbstring.1.dylib",
"name" : "libbstring.1.dylib"
},
{
"source" : "P",
"arch" : "arm64",
"base" : 4296966144,
"size" : 16384,
"uuid" : "4b46f109-5546-3f99-99a4-b4e6ae71777c",
"path" : "\/opt\/homebrew\/*\/libiniparser.4.2.6.dylib",
"name" : "libiniparser.4.2.6.dylib"
},
{
"source" : "P",
"arch" : "arm64",
"base" : 4297900032,
"size" : 180224,
"uuid" : "2c48c462-62b3-3856-a23d-1a8d15e3edf2",
"path" : "\/opt\/homebrew\/*\/libmariadb.3.dylib",
"name" : "libmariadb.3.dylib"
},
{
"source" : "P",
"arch" : "arm64",
"base" : 4298571776,
"size" : 245760,
"uuid" : "e964b9fe-9892-327a-b130-03ab2340a45c",
"path" : "\/opt\/homebrew\/*\/libldap.2.dylib",
"name" : "libldap.2.dylib"
},
{
"source" : "P",
"arch" : "arm64",
"base" : 4299833344,
"size" : 589824,
"uuid" : "ddaa8fcc-00a2-37d7-817c-8608293f0f89",
"path" : "\/opt\/homebrew\/*\/libssl.3.dylib",
"name" : "libssl.3.dylib"
},
{
"source" : "P",
"arch" : "arm64",
"base" : 4306452480,
"size" : 3276800,
"uuid" : "cefd1f5d-708a-3388-9e60-b99bbe6ecd57",
"path" : "\/opt\/homebrew\/*\/libcrypto.3.dylib",
"name" : "libcrypto.3.dylib"
},
{
"source" : "P",
"arch" : "arm64",
"base" : 4297605120,
"size" : 49152,
"uuid" : "26902da7-3ad4-3d7c-8333-6acde43204f1",
"path" : "\/opt\/homebrew\/*\/liblber.2.dylib",
"name" : "liblber.2.dylib"
},
{
"source" : "P",
"arch" : "arm64",
"base" : 4297736192,
"size" : 16384,
"uuid" : "dbecd852-4911-35ac-9942-370feefcc677",
"path" : "\/opt\/homebrew\/*\/uams_pam.so",
"name" : "uams_pam.so"
},
{
"source" : "P",
"arch" : "arm64",
"base" : 4297818112,
"size" : 16384,
"uuid" : "64adb500-811c-3218-8bb9-91add4fef60e",
"path" : "\/opt\/homebrew\/*\/uams_guest.so",
"name" : "uams_guest.so"
},
{
"source" : "P",
"arch" : "arm64e",
"base" : 6820466688,
"size" : 246880,
"uuid" : "2eb73bf1-8c71-3e1f-a160-6da83dc82606",
"path" : "\/usr\/lib\/system\/libsystem_kernel.dylib",
"name" : "libsystem_kernel.dylib"
},
{
"source" : "P",
"arch" : "arm64e",
"base" : 6820716544,
"size" : 51900,
"uuid" : "5d31d65c-2ecf-36da-84f5-ba4caab06adb",
"path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
"name" : "libsystem_pthread.dylib"
},
{
"source" : "P",
"arch" : "arm64e",
"base" : 6819221504,
"size" : 532472,
"uuid" : "1e2fc910-e211-3a48-90c1-402c82129ea8",
"path" : "\/usr\/lib\/system\/libsystem_c.dylib",
"name" : "libsystem_c.dylib"
},
{
"source" : "P",
"arch" : "arm64e",
"base" : 6820769792,
"size" : 33728,
"uuid" : "36396b66-54eb-30fa-8e3b-e71ae63da30c",
"path" : "\/usr\/lib\/system\/libsystem_platform.dylib",
"name" : "libsystem_platform.dylib"
},
{
"source" : "P",
"arch" : "arm64e",
"base" : 6816780288,
"size" : 651124,
"uuid" : "abfd3247-50ac-3c8e-b72a-83710166e982",
"path" : "\/usr\/lib\/dyld",
"name" : "dyld"
},
{
"size" : 0,
"source" : "A",
"base" : 0,
"uuid" : "00000000-0000-0000-0000-000000000000"
}
],
"sharedCache" : {
"base" : 6815711232,
"size" : 5557583872,
"uuid" : "52e4eec0-379e-31c7-ac62-bfed14d90f52"
},
"vmSummary" : "ReadOnly portion of Libraries: Total=883.2M resident=0K(0%) swapped_out_or_unallocated=883.2M(100%)\nWritable regions: Total=117.3M written=160K(0%) resident=160K(0%) swapped_out=0K(0%) unallocated=117.1M(100%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nActivity Tracing 256K 1 \nColorSync 48K 2 \nKernel Alloc Once 32K 1 \nMALLOC 108.8M 16 \nMALLOC guard page 32K 2 \nSTACK GUARD 56.0M 1 \nStack 8176K 1 \n__AUTH 1305K 146 \n__AUTH_CONST 17.6M 345 \n__CTF 824 1 \n__DATA 4235K 315 \n__DATA_CONST 15.8M 356 \n__DATA_DIRTY 1314K 290 \n__FONT_DATA 2352 1 \n__LINKEDIT 594.7M 12 \n__OBJC_RO 78.1M 1 \n__OBJC_RW 2561K 1 \n__TEXT 288.5M 365 \n__TPRO_CONST 128K 2 \nmapped file 80K 1 \npage table in kernel 160K 1 \nshared memory 48K 2 \n=========== ======= ======= \nTOTAL 1.1G 1863 \n",
"legacyInfo" : {
"threadTriggered" : {

}
},
"logWritingSignature" : "7152cc40508cffdb31730f6184519c4f4127783b",
"trialInfo" : {
"rollouts" : [
{
"rolloutId" : "65a8173205d942272410674b",
"factorPackIds" : [
"65d39fa4cb0e2417d11ce5f6"
],
"deploymentId" : 240000001
},
{
"rolloutId" : "639124e81d92412bfb4880b3",
"factorPackIds" : [

],
"deploymentId" : 240000012
}
],
"experiments" : [

]
}
}
 
Last edited:

rdmark

Moderator
Staff member
Oct 3, 2021
185
257
63
@Slimes It's working well on macOS Tahoe for me! It's my main netatalk dev/test host OS right now.

I would be curious to see the afp.conf that triggered the issue. It should definitely be possible to run netatalk on macOS without setting "log file", although we cannot currently log to the macOS system console so it's the only option if you actually want logs.
 

Slimes

Tinkerer
Jul 26, 2023
34
26
18
@Slimes It's working well on macOS Tahoe for me! It's my main netatalk dev/test host OS right now.

I would be curious to see the afp.conf that triggered the issue. It should definitely be possible to run netatalk on macOS without setting "log file", although we cannot currently log to the macOS system console so it's the only option if you actually want logs.
;
; Netatalk 4.x configuration file
;

[Global]
; Global server settings
log level = default:debug
log file = /opt/homebrew/var/netatalk/netatalk4.log
uam list = uams_clrtxt.so uams_guest.so

[Homes]
;basedir regex = /Users << this line seems to make no difference.

[AFP Work]
path = /Volumes/Work
volume name = AFP Work

; [my backup]
; path = /path/to/backup
; time machine = yes
; volume name = My Backup Volume


Since setting the log directory I've had no more issues whatsoever.
 

rdmark

Moderator
Staff member
Oct 3, 2021
185
257
63
@Slimes Did you recall what your afp.conf looked like before? You only added "log file" and nothing else? If you comment out "log file" and try again, does the crash make a return?

When it was crashing, how frequently did you see the crash? Was is intermittent, or fully deterministic and triggered by specific actions?