Segmentation fault in FreeBSD 9.0 flockfile ()
unga888 at yahoo.com
Wed May 2 19:00:04 UTC 2012
> From: Robert Bonomi <bonomi at mail.r-bonomi.com>
> To: freebsd-questions at freebsd.org
> Sent: Wednesday, May 2, 2012 6:38 AM
> Subject: Re: Segmentation fault in FreeBSD 9.0 flockfile ()
> Unga <unga888 at yahoo.com> wrote;
>> From: Darren Baginski <kickbsd at yandex.com>
>> > Unga <unga888 at yahoo.com> wrote:
>> >01.05.2012, 22:08, "Unga" <unga888 at yahoo.com>:
>> >> Hi all
>> >> I'm getting a Segmentation fault in FreeBSD 9.0 as follows
> for myprog.c:
>> >> Reading symbols from /libexec/ld-elf.so.1...done.
>> >> Loaded symbols for /libexec/ld-elf.so.1
>> >> #0 0x28ebb062 in flockfile () from /lib/libc.so.7
>> >> [New Thread 29c04900 (LWP 100575/SDLTimer)]
>> >> [New Thread 29c04300 (LWP 100416/myprog)]
>> >> (gdb)
>> >> (gdb) info threads
>> >> * 2 Thread 29c04300 (LWP 100416/myprog) 0x28ebb062 in flockfile
>> >> from /lib/libc.so.7
>> >> 1 Thread 29c04900 (LWP 100575/SDLTimer) 0x28e1527b in _umtx_op
>> >> from /lib/libc.so.7
>> >> (gdb)
>> >> I don't use flockfile () directly in my program.
>> >Mind to share code snippet caused the problem?
>> Hi Thanks for the reply. I have mentioned in my original post that neithe
>> r I nor SDL use the flockfile () in the source.
> There was a _reason_ the prior poster asked about seeing your code.
> The information you provided is not adequate/sufficient for anyone to
> have any chance of helping you. Informationn that -is- necessary was
> therefore requested.
> What you "don't use" is irrelevant to solving the problem.
> To be any help one must figure out what you _did_ do -- which =indirectly=
> calls flockfile().
> Your code calls "something" in 'libc' that calls flockfile().
> You "don't know" what that something in your code is. Other eyes
> recognize it, -if- they saw what you were doing.
> Here is how to find out what does that calling, yourself.
> 1) recompile all the components of 'myprog' with the '-g'
> compiler option.
> 2) start 'script', so that you have a complete log of the debugger
> 3) load the debugger with 'myprog' as the program to be debugged.
> 4) set a breakpoinnt in the 'flockfile' function
> 5) 'run' the program
> 6) when it stops at flockfile() entry. use 'where' to see a stack trace.
> 7) 'display' each of the arguments to flockfile().
> 9) go 'up' to the calling code.
> 9) repeat steps 7 and 8 util you reach 'your' code.
> 10) now 'continue' the program. If it immediately segfaults, this was
> offending call. Otherwise, the program will stop aggain at another
> flockfile() invocation. repeat from step 7 -until- you get the segfault.
> If, from that debugger session, you still don't see anything wrong, post
> the log of the debugger session.
> There is a *remote* possibility that the program will run properly under
> the debugger, while it crashes when run directly. This has been known
> to happen when a program _uses_ a variable before initializing it.
> *IF* that happens, you will have to modify 'myprog' to add diagnostic
> output before and after each identified point (above) in your code that
> indirectly invokes flockfile() to find which is failing.
> In _that_ event, you =will= have to post the 'relevant' source-code from
> 'myprog', with the failing statement identified.
Hopefully I have not offended anyone with my reply :) Very sorry if I did.
My this FreeBSD 9.0 box is seems very messy. I have another issue that getaddrinfo(3) doesn't accept "localhost".
After installing FreeBSD 9.0, I installed KDE, then realised that the existing Intel display driver does not support my Intel Sandy Bridge based GPU. So I had to patch the kernel to support KMS based latest Intel driver, upgraded to Xorg to 7.5.2, etc. etc. Whole process was done multiple times as I was new to this complex upgrade.
I presume, I should erase off the hard disk and reinstall everything cleanly and then retry my programs on FreeBSD 9.0. If the problem still persists, I'll surely do a detailed debug. Pls note, whole thing works well on FreeBSD 8.1.
As this is time consuming and as per existing commitments, I only try this at least in another two weeks time. I will sure let the list know the outcome.
More information about the freebsd-questions