According to Cordell

Netatalk fix for Ubuntu 12.04

Ubuntu 12.04 breaks netatalk and when you try to login in to the apple share you will get errors such as this in /var/log/syslog:

Jun 14 13:03:13 GlaDoS afpd[4395]:
===============================================================
Jun 14 13:03:13 GlaDoS afpd[4395]: INTERNAL ERROR: Signal 11 in pid 4395 (2.2.1)
Jun 14 13:03:13 GlaDoS afpd[4395]:
===============================================================
Jun 14 13:03:13 GlaDoS afpd[4395]: BACKTRACE: 3 stack frames:
Jun 14 13:03:13 GlaDoS afpd[4395]:  #0 /usr/sbin/afpd(netatalk_panic+0x1c)
[0x7f68fcf6baec]
Jun 14 13:03:13 GlaDoS afpd[4395]:  #1 /usr/sbin/afpd(+0x50bec) [0x7f68fcf6bbec]
Jun 14 13:03:13 GlaDoS afpd[4395]:  #2 /lib/x86_64-linux-gnu/libc.so.6(+0x364a0)
[0x7f68fbf264a0]

After some hunting and googling you can find that it is broken. The workaround can be found on the bug page.

The best answer is at #28.

More explicitly, here is the solution:

sudo cp /etc/pam.d/common-auth /etc/pam.d/common-auth-nosmb
sudo cp /etc/pam.d/common-password /etc/pam.d/common-password-nosmb

Now edit the file /etc/pam.d/netatalk. Changes:

- @include common-auth
+ @include common-auth-nosmb
- @include common-password
+ @include common-password-nosmb

Now just restart netatalk and it will work:

sudo service netatalk restart