Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* lib failure?
@ 2006-11-27 14:58 Oliver Block
  2006-11-27 15:05 ` Daniel Jacobowitz
  2006-11-27 15:08 ` [opensuse-programming] " Marcus Meissner
  0 siblings, 2 replies; 3+ messages in thread
From: Oliver Block @ 2006-11-27 14:58 UTC (permalink / raw)
  To: gdb; +Cc: suse-programming-e

Hello,

I was facing a problem with a functio I wrote, checking if a file exists 
withing the fs. When I was debuggin that , I set 2 breakpoints, the first to 
the function file_exists and the second to the function call of file_exists 
inside the program. I got the following output

**************************** gdb ************************************
Breakpoint 2, main (argc=1, argv=0xbffff1c4) at ddnscli.c:712
712        if(file_exists(lockfile))
(gdb) s

Breakpoint 1, file_exists (fname=0xbffff110 "disabled") at ddnscli.c:689
689        if( (rval = stat( fname, &attribut)) == -1)
(gdb) s
__stat (file=0xbffff070 "\200", buf=0xbffff070) at stat.c:51
51      stat.c: Datei oder Verzeichnis nicht gefunden.
        in stat.c
(gdb) bt full
#0  __stat (file=0xbffff070 "\200", buf=0xbffff070) at stat.c:51
No locals.
#1  0x0804a56b in file_exists (fname=0xbffff110 "disabled") at ddnscli.c:689
        attribut = {st_dev = 128, __pad1 = 34760, st_ino = 7, st_mode = 53,
  st_nlink = 1075277812, st_uid = 1075283840, st_gid = 134522768,
  st_rdev = 4615200421588234412, __pad2 = 34688, st_size = 40,
  st_blksize = 1075277812, st_blocks = 1073835200, st_atime = 134522768,
  st_atimensec = 3221221564, st_mtime = 1074560382, st_mtimensec = 40,
  st_ctime = 1075277812, st_ctimensec = 3221221592, __unused4 = 1074559989,
  __unused5 = 40}
        rval = 1075277812
*************************************************************************************

__stat (file=0xbffff070 "\200", buf=0xbffff070) at stat.c:51

both arguments of stat hold the same address. file should be AFAIK 
fname=0xbffff110.

I isolated the function to a test_program and it works fine there.

Any ideas?

Regards,

Oliver

-- 
Leben ist mehr als ... 
<http://www.nak-nrw.de/index.php?id=71>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: lib failure?
  2006-11-27 14:58 lib failure? Oliver Block
@ 2006-11-27 15:05 ` Daniel Jacobowitz
  2006-11-27 15:08 ` [opensuse-programming] " Marcus Meissner
  1 sibling, 0 replies; 3+ messages in thread
From: Daniel Jacobowitz @ 2006-11-27 15:05 UTC (permalink / raw)
  To: Oliver Block; +Cc: gdb, suse-programming-e

On Mon, Nov 27, 2006 at 03:57:43PM +0100, Oliver Block wrote:
> __stat (file=0xbffff070 "\200", buf=0xbffff070) at stat.c:51
> 
> both arguments of stat hold the same address. file should be AFAIK 
> fname=0xbffff110.
> 
> I isolated the function to a test_program and it works fine there.

You've stepped into some highly optimized code; it's likely that the
debug information is not accurate enough to get this right.  I would
keep debugging into the function a little further before assuming the
arguments were wrong.

-- 
Daniel Jacobowitz
CodeSourcery


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [opensuse-programming] lib failure?
  2006-11-27 14:58 lib failure? Oliver Block
  2006-11-27 15:05 ` Daniel Jacobowitz
@ 2006-11-27 15:08 ` Marcus Meissner
  1 sibling, 0 replies; 3+ messages in thread
From: Marcus Meissner @ 2006-11-27 15:08 UTC (permalink / raw)
  To: Oliver Block; +Cc: gdb, suse-programming-e

On Mon, Nov 27, 2006 at 03:57:43PM +0100, Oliver Block wrote:
> Hello,
> 
> I was facing a problem with a functio I wrote, checking if a file exists 
> withing the fs. When I was debuggin that , I set 2 breakpoints, the first to 
> the function file_exists and the second to the function call of file_exists 
> inside the program. I got the following output
> 
> **************************** gdb ************************************
> Breakpoint 2, main (argc=1, argv=0xbffff1c4) at ddnscli.c:712
> 712        if(file_exists(lockfile))
> (gdb) s
> 
> Breakpoint 1, file_exists (fname=0xbffff110 "disabled") at ddnscli.c:689
> 689        if( (rval = stat( fname, &attribut)) == -1)
> (gdb) s
> __stat (file=0xbffff070 "\200", buf=0xbffff070) at stat.c:51
> 51      stat.c: Datei oder Verzeichnis nicht gefunden.
>         in stat.c
> (gdb) bt full
> #0  __stat (file=0xbffff070 "\200", buf=0xbffff070) at stat.c:51
> No locals.
> #1  0x0804a56b in file_exists (fname=0xbffff110 "disabled") at ddnscli.c:689
>         attribut = {st_dev = 128, __pad1 = 34760, st_ino = 7, st_mode = 53,
>   st_nlink = 1075277812, st_uid = 1075283840, st_gid = 134522768,
>   st_rdev = 4615200421588234412, __pad2 = 34688, st_size = 40,
>   st_blksize = 1075277812, st_blocks = 1073835200, st_atime = 134522768,
>   st_atimensec = 3221221564, st_mtime = 1074560382, st_mtimensec = 40,
>   st_ctime = 1075277812, st_ctimensec = 3221221592, __unused4 = 1074559989,
>   __unused5 = 40}
>         rval = 1075277812
> *************************************************************************************
> 
> __stat (file=0xbffff070 "\200", buf=0xbffff070) at stat.c:51
> 
> both arguments of stat hold the same address. file should be AFAIK 
> fname=0xbffff110.
> 
> I isolated the function to a test_program and it works fine there.
> 
> Any ideas?

Showing us the actual source of the function would perhaps help.

Ciao, Marcus


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-11-27 15:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-11-27 14:58 lib failure? Oliver Block
2006-11-27 15:05 ` Daniel Jacobowitz
2006-11-27 15:08 ` [opensuse-programming] " Marcus Meissner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox