From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041111 Firefox/1.0 Description of problem: After upgrading the kernel from the kernel-2.6.9-1.667 that FC3 installed with to kernel-2.6.9-1.681_FC3, the monitor program for my UPS started to not function. The following are the messages that are returned: Note: The below was edited only to delete logon/system name information. [bulldog]$ ./monitor *** glibc detected *** double free or corruption: 0x08215c40 *** Aborted [bulldog]$ MALLOC_CHECK=1 ./monitor *** glibc detected *** double free or corruption: 0x08215b60 *** Aborted [bulldog]$ MALLOC_CHECK_=1 ./monitor malloc: using debugging hooks *** glibc detected *** free(): invalid pointer: 0x08224c08 *** When I use the MALLOC_CHECK_=1 command, the program will run. Since this error did not exist with the .667 kernel, I suspect something changed with the .681 kernel that broke the way the program executes. The program is Bulldog Sentry for the Belkin line of UPS devices. This problem only affects the monitor program, not the UPSD service. Version-Release number of selected component (if applicable): kernel-2.6.9-1.681_FC3 How reproducible: Always Steps to Reproduce: 1. Attempt to launch the monitor program 2. 3. Actual Results: Program ends abruptly. Expected Results: program should have launched normally Additional info: The program will launch and run when the MALLOC_CHECK_=1 ./monitor command is used in a terminal window, although it will still show the error when I exit from the program. I wrote tech support at Belkin, and received a reply back that they have no history of this type of problem with the program. I am running on an Elitegroup KT600-A motherboard with an AMD Athlon XP 2600+ processor, 512Mb RAM
That is most likely a bug in the monitor program. Try running valgrind --tool=memcheck ./monitor or ef ./monitor (assuming you have valgrind and ElectricFence packages installed) to see if there are memory management bugs in the application. As a workaround, you can try MALLOC_CHECK_=0 ./monitor, but it would be really better to find out the memory corruption and report it to the vendor.
Created attachment 107718 [details] Output of Electric Fence
Created attachment 107719 [details] Ouptut of valgrind --tool=memcheck
With ElectricFence, if you see segfault, you usually want to see in the debugger where it segfaulted and why (usually that is access to a freed memory, buffer overflow etc.). Anyway, from looking at the valgrind output, you are just very lucky the program ever worked at least somehow. Just file a bugreport with the provider of that app and include all the details you gathered.
What I don't understand is that the program worked fine before I upgraded to kernel 681. What changed there that now makes this program show this error? Usually, when everything is working, and one thing changes and things break, the thing that changed is the cause, unless there was a longstanding bug finally fixed there that now manifests a bug in the program. I have submitted the same output to the Belkin technician. With his permission, I will give you his contact information since I have no idea (not being a programmer) what the output of the files means.