-
Notifications
You must be signed in to change notification settings - Fork 95
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Segfault of dbd -c #850
Comments
For starters, can you please fill out the Environment section, so that we know the version and OS you’re running this with. I can see two ways forward:
The FAQ has instructions for the latter: https://github.com/Netatalk/netatalk/wiki/Developer-FAQ |
Hi, sorry for the late reply but I haven't had time to deal with the issue lately. gdb backtrace
|
... Sorry, I have closed the issue by mistake |
As additional information: the file that triggers the segfault is in "/shares/Office/Users/<username_hidden>/Library/Recent Servers"
|
@UUVE Would you be able to retry this with the recently released v3.2.0? This release contains two specific patches that address EA metadata handling in libatalk, namely: #513 and #575 It should lead to a more graceful outcome when encountering "invalid" types of metadata, and I'm curious how it will look in your case. |
@rdmark |
@UUVE In case it helps, we now distribute a build-from-source guide as an appendix to the Netatalk manual. See the Debian section here: https://netatalk.io/3.2/htmldocs/compile#build-debian |
@UUVE Do you have any update on your testing? |
I finally found the time to recompile a package for Debian Bookworm of the latest Netatalk 3.2.7. Unfortunately the segmentation fault of "dbd -c " is unchanged. Here is the verbose output of "dbd -vc " and gdb's analysis of the coredump with backtrace. It seems that the segmentation fault occurs when trying to convert the .AppleDouble file of an alias in a network user's home directory: "/shares/Office/Users/elpaol/Library/Recent Servers/server.office-Applications". last lines of dbd -vc ... output gdb's analysis of the coredump with backtrace
GNU gdb (Debian 13.1-3) 13.1 For help, type "help". |
Another side note. Netatalk compiled with configure and then make does not use the wolfssl library included in the distribution nor the wolfssl library installed in Debian thus precluding the use of Mac OS 9 as a client. Is the GNU build system with configure aligned with the meson build system? |
That's a bummer, so we are back to the drawing board then. The stack trace may provide some hints, however. Regarding your two other questions: To build with quota on Debian, you need the Wolfssl is only supported in the Meson build system. In fact, one of the main reasons we introduced the Meson build system was to make wolfssl integration feasible. Meson is very easy to get started with, so I encourage you to give it a go! We have guides to help you along. |
@rdmark .Thanks a lot for the support and suggestions. Now I have to find a way to create a debian package using meson instead of autotools. In order to keep track of everything that is installed on the Debian server I prefer to install only debian packages, creating them myself when they are not available in the distribution used. If it can be helpful I can attach in this thread the file guilty of the segmentation fault in dbd. As soon as I can access the server with mac OS 9 (virtual machine) I will try, if it were ever possible, to open the file with Resedit., even if I fear this will trigger an error in afpd |
You can see how I did the Debian packaging of netatalk with Meson here. https://salsa.debian.org/netatalk-team/netatalk/-/blob/debian/latest/debian/rules?ref_type=heads It's as simple as passing the https://github.com/Netatalk/netatalk/releases/tag/netatalk-3-2-7 |
I also noticed shortly before you mentioned that a debian package is also being released along with the sources. The best news, however, was that you seem to be the current maintainer for debian unstable. This will greatly improve and simplify the release of netatalk in the next debian release, especially considering the attention that is given to this distribution. I really think it is great thing that the maintainer of netatalk is also the maintainer of the Debian package. I noticed that the version on debian unstable is stuck at 3.1.18 while on https://salsa.debian.org/netatalk-team/netatalk it is updated to the latest release 3.2.7. Is there a particular reason for this (Debian policy or something else)? |
I’m still a Debian maintainer-in-training. My sponsor hasn’t signed off on the newer packages yet, but I think 3.2.7 should be good to ship now. Will hopefully get approval shortly! |
Regarding the issue at hand, it sounds like the behavior has changed in 3.2.7, correct? You still get a segfault, but it comes a little later than before? What happens if you rerun dbd on the same volume afterwards? |
Yes the behavior has changed. |
I attach an AppleDouble file (in the .AppleDouble folder on the server) that causes the dbd -c segmentation fault. |
Is the stack trace identical or has it changed too? |
Description
As stated in the title i'm continuing experiencing this behaviour of dbd -c on a afp share. The share was created a long time ago in netatalk v2.x on Debin and successively migrated to netatalk 3.x. On shares created with netatalk 3.x I do not experience this problem.
To Reproduce
At this moment I don't know a clear situation that trigger the bug
Expected behavior
As the man of dbd states I would expect that the command convert from AppleDouble = v2 to AppleDouble =ea .
Environment
Logs
2024-04-16T17:42:23.323892+02:00 server1 kernel: [419603.410420] dbd[1987870]: segfault at 6e8 ip 00007f2c2405674f sp 00007ffc681b3190 error 4 in libatalk.so.0.0.0[7f2c24051000+39000] likely on CPU 3 (core 3, socket 0) 2024-04-16T17:42:23.323923+02:00 server1 kernel: [419603.410519] Code: 00 4c 8d 0d 63 45 03 00 50 4c 8d 05 b8 44 03 00 eb ad 48 8b 44 24 08 4c 89 ea 4c 89 f6 bf 02 00 00 00 48 8b 40 08 48 8b 40 18 <48> 8b 88 e8 06 00 00 44 8b 80 e0 06 00 00 e8 4e a9 ff ff 85 c0 74
The text was updated successfully, but these errors were encountered: