[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [valgrind] [Bug 371966] No uninitialised values reported with PGI -Mstack_arrays
From:       Philippe Waroquiers <bugzilla_noreply () kde ! org>
Date:       2016-11-03 6:42:00
Message-ID: bug-371966-17878-ck6XCrUd2H () http ! bugs ! kde ! org/
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=371966

--- Comment #6 from Philippe Waroquiers <philippe.waroquiers@skynet.be> ---
(In reply to Carl Ponder from comment #4)
> Can you please list out the commands more precisely?
> I ran these commands in one window:
> 
>       module purge
>       module load pgi/16.9
>       module load gcc/4.8.5
>       module load valgrind
> 
>       pgfortran -o test03.pgi test03.f90 -O0 -gopt -Mstack_arrays
>       valgrind --tool=memcheck --vgdb=full --vgdb-error=0 test03.pgi
> 
> Then in the second window I ran these commands:
> 
>       module purge
>       module load pgi/16.9
>       module load gcc/4.8.5
>       module load valgrind
> 
>       gdb test03.pgi
>       target remote | vgdb
> 
>       b 77
>       c
> 
> so far so good. But now:
> 
>       print N
> 
> gives
> 
>       Cannot access memory at address 0x4011a0000000
Strange.
Do you see the same when debugging test03.pgi natively ?
   (i.e. when not using target remote | vgdb ?

Maybe gdb does not properly understand the debugging info
generated by pgfortran ?
If gdb can properly print e.g. N when natively debugging
but cannot when using target remote, then that looks
like a bug (in gdb and/or in valgrind gdbserver)
What is the version of gdb you are using ?


> 
> Why is this? And
> 
>       print x(1)
> 
> gives
> 
>       value being subranged must be in memory
I guess the problem here is similar to the print N.

An alternative is to modify your program so that it prints
the addresses of the variables to examine.
Then you should be able to use xb monitor command without
having to use e.g. (gdb) print &X(1)

> 
> And
> 
>       xb 0x4011a0000000
> 
> gives
> 
>       Undefined command: "xb".  Try "help".
See valgrind user manual, explaining what is a monitor command
and how to use them.
Basically, a monitor command is a string that gdb will send
to the remote gdbserver. This string is sent by gdb using
   'monitor'
e.g.
(gdb) monitor xb 0x1234
The manual explains it all, and give examples.

-- 
You are receiving this mail because:
You are watching all bug changes.=
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic