Hide Forgot
Description of problem: getxattr() sometimes fail with a kernel page allocation failure. A kernel trace is dumped to syslog and ENOMEM is returned to caller. Version-Release number of selected component (if applicable): kernel : 2.6.38.8-35.fc15.x86_64 attr/libattr : 2.4.44-7.fc15.x86_64 How reproducible: Randomly. This happened while recursively copying files along with their attributes, and the error is mostly associated with big files (several MB). Retrying generally leads to success. Steps to Reproduce: 1. Copy a file (open both, loop for read/write, close both) 2. Get the extended attributes of source file (getxattr(2)) 3. Actual results: The getxattr(2) sometimes fails with ENOMEM Expected results: The getxattr() should succeed. Additional info: This is copying from NTFS (to NTFS). The process which fails to get memory is not the fuse process which runs the user space driver (a different pid is shown for each try, probably the process which makes the copy). The system was not short of memory, the swap was not used. All the extended attributes were short (less than 256 bytes). (syslog information attached)
Created attachment 514759 [details] syslog information for "page allocation failure" syslog information
The implementation of getxattr(2) in libattr is just a trivial wrapper around the getxattr syscall. I am quite sure the that ENOMEM is not raised at the libattr level. Are you able to reproduce the issue on any other file system? If not, it will be most likely a bug in your NTFS driver. What driver are you actually using?
> I am quite sure the that ENOMEM is not raised at the > libattr level. The allocation failure happens in the process which executes the getxattr(2), maybe while executing kernel code. If not in libattr, which is the appropriate bugzilla section ? > Are you able to reproduce the issue on any other file system? No, but I have no other file system relying on a fuse architecture. > If not, it will be most likely a bug in your NTFS driver. > What driver are you actually using? This is with ntfs-3g-2011.4.15 shipped with F15. I could not trigger the bug with a development version with debugging facilities. Also valgrind did not find any memory allocation error in the program doing the copy. Of course, the error may be triggered by a file system bug or a bug in the application doing the copy, but a "page allocation failure" is an indication that some sanity check is wrong or missing in the kernel or some library. This looks like a corrupt memory allocation table, as would be caused by a buffer overflow. As reproducing this is difficult, I am not expecting a quick fix. I hope however that this report is recorded in a way such that some connection can be established with other users having a similar issue.
I am switching the component to ntfs-3g then...
(In reply to comment #4) > I am switching the component to ntfs-3g then... 0) I have no idea how to parse "page allocation failure[s]" (see attachment #514759 [details]) but it seems component kernel is more appropriate. 1) However, the kernel people will certainly note Pid: 13193, comm: ntfscp Tainted: P 2.6.38.8-35.fc15.x86_64 #1 since the definition of P is * 'P' - Proprietary module has been loaded. (source: 3.1-rc7:kernel/panic.c:185:). So their first question will probably be to reproduce with an actual Fedora kernel (say, current F15' package, kernel-2.6.40.4-5.fc15). But maybe they'll just close it as CANTFIX or whatever. 2) Am I missing something here?
> it seems component kernel is more appropriate I agree. > But maybe they'll just close it as CANTFIX or whatever. As the bug is difficult to reproduce, such status is reasonable if there is there is no other similar reports.
This message is a notice that Fedora 15 is now at end of life. Fedora has stopped maintaining and issuing updates for Fedora 15. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At this time, all open bugs with a Fedora 'version' of '15' have been closed as WONTFIX. (Please note: Our normal process is to give advanced warning of this occurring, but we forgot to do that. A thousand apologies.) Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, feel free to reopen this bug and simply change the 'version' to a later Fedora version. Bug Reporter: Thank you for reporting this issue and we are sorry that we were unable to fix it before Fedora 15 reached end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged to click on "Clone This Bug" (top right of this page) and open it against that version of Fedora. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping