Bug 1121496
Summary: | Inadyn-mt 2.24.40-1.fc20 segfaults on start | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Markus Dobel <markus.dobel> |
Component: | inadyn-mt | Assignee: | Jochen Schmitt <jochen> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | urgent | Docs Contact: | |
Priority: | unspecified | ||
Version: | 20 | CC: | bhoover, braden, jochen, mike |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | inadyn-mt-2.24.43-1.fc21 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-01-30 04:30:47 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Attachments: |
Description
Markus Dobel
2014-07-21 06:09:47 UTC
After a short mail from the developer of inadyn-mt I think I found the cause and also a solution. Main reason for the crash: The cache file format (inadyn_ip.cache) changed between *.36 and *.40 and the service crashes when reading old format files. Before: 11.11.11.11 hostname.domain:ipv4 After: 11.11.11.11 hostname.domain:ipv4 freedns.afraid.org Seems like the reading function does not handle the missing dyndns server name at the end of the line, which simply was not there in *.36. Additional hiccups (fedora package specific): 1. The location of the cache file changed from /tmp to /var/cache/inadyn-mt between *.36 and *.40 and there seems no migration script to move exisiting files on update. So I am not sure how they got there in the first place, I might have copied them there myself. 2. The service runs as UID "nobody" now. The cache folder seems to be created 0755 with owner "root", which makes it impossible for inadyn to create its cache files there. This might be the reason, why I have copied them there. Without write permissions, and the files missing, the service does not crash, but I am not sure what it does without the files. Workaround: What fixed the crash for me, and also let inadyn create its cache files again: rm /var/cache/inadyn-mt/* chown nobody /var/cache/inadyn-mt And let the service recreate the cache files on start. Permanent fixes: What needs to be fixed in the fedora RPM: The creation mode or owner for /var/cache/inadyn-mt, so the user "nobody" can write to it. Or maybe also a new user for inadyn instead of using "nobody"?. I think the reason for this change was to make these files more permanent than on a tmpfs. Without write permissions they are actually much less permanent now :-) What should be fixed upstream: Fix handling of "corrupt" cache files -- especially if the "corruption" is because of a format change between versions, the service should not crash (but ignore/delete the files instead). Regards, Markus Created attachment 924363 [details]
fix inadyn_ip.cache file log output segfault on startup
Thanks Markus! It's good to see impact here should be minimal since cache files were moved to /var/cache/inadyn-mt. Nevertheless this is much appreciated, especially for users outside present context. I'm attaching a patch that pivots on cache read, and address/alias pairs output, depending on whether the server name is there as per post v.02.24.38. Bryan And for our edification - of which one can never have enough, for MY money - I'm attaching another patch - it includes the first. It addresses Markus' question of what inadyn-mt does if it can't write - it would continue to update ddns at the configured or default update interval. So I've decoupled ip cache writes/reads from ip cache data structure updates - the structure is now updated at same time cache file write attempts are done. I tested both these patches, and found no problems. Your posting here if any problems, questions, comments, etcetera much appreciated Regards, Bryan Created attachment 925011 [details]
decouple cache file writes/reads from cache data structure update
Includes previous patch posted here, inadyn-mt-cache-00-02.24.40.patch.
Created attachment 925085 [details]
decouple cache file writes/reads from cache data structure update
Fixes missing curly brace spanning conditional in function update_update_state, which broke updates for dual ip stack alias type 'coupled', in previous patch, inadyn-mt-cache-01-02.24.40.patch.
Jochen, the latest upstream version includes Bryan's fix. Can you push a 2.24.43 update? inadyn-mt-2.24.43-1.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/inadyn-mt-2.24.43-1.fc21 inadyn-mt-2.24.43-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/inadyn-mt-2.24.43-1.fc20 Package inadyn-mt-2.24.43-1.fc20: * should fix your issue, * was pushed to the Fedora 20 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing inadyn-mt-2.24.43-1.fc20' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2015-0917/inadyn-mt-2.24.43-1.fc20 then log in and leave karma (feedback). inadyn-mt-2.24.43-1.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report. inadyn-mt-2.24.43-1.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report. The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days |