linuxdcpp-team team mailing list archive
-
linuxdcpp-team team
-
Mailing list archive
-
Message #00114
[Bug 473173] Re: Crash when hashing files
It isn't mmap that throws the signal. It's the memory access to mmapped
region. There's really no other way to "return" error from something
like char a = mmappedFile[342];
As for sigsetjmp case, SA_RESETHAND flag to sigaction resets the handler
to SIG_DFL in case the signal occurs. Granted this is not necessarily
the same as restoring the oldact, but as long as we won't be setting any
other handler for SIGBUS the end result is the same. But yeah, final
patch should restore oldact just in case. Also SIGBUS probably should be
masked in other threads to ensure it is handled by the hashing thread.
(What I've understood SIGBUS should be delivered to the thread that
caused it, but multithreaded programs+signals are bit of a mess...)
--RZ
--
Crash when hashing files
https://bugs.launchpad.net/bugs/473173
You received this bug notification because you are a member of LinuxDC++
Team, which is subscribed to LinuxDC++.
Status in Linux DC++: Confirmed
Bug description:
My linuxdcpp 1.0.3 crashes when hashing files from an external usb drive in a reiserfs partition.
I attach the bugreport. The error is this:
linuxdcpp: xcb_io.c:176: process_responses: La declaración `!(req && current_request && !(((long) (req->sequence) - (long) (current_request)) <= 0))' no se cumple.
Multiple segmentation faults occurred; can't display error dialog
I don't know why but sometimes restarting the program solves the error, but with some concrete files it always crashes!
So I think it depens on the file.
Thanks
References