From: Elena Zannoni <elena.zannoni@oracle.com>
To: frysk <frysk@sourceware.org>
Subject: Minutes meeting 2007-08-29
Date: Wed, 29 Aug 2007 14:54:00 -0000 [thread overview]
Message-ID: <46D58842.9060805@oracle.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 1 bytes --]
[-- Attachment #2: frysk-20070829 --]
[-- Type: text/plain, Size: 4162 bytes --]
Frysk meeting 2007-08-29
==========================
Tim, Andrew, Mark, Teresa, Elena, Phil, Sami. Haven't heard anybody
else speak, please add yourself if you were in attendance.
[Mark to post the whole CLI session]
Tim demo:
---------
test program fibonacci clone test
funit-fib-clone is the name of the testcase/program
fib() is called in a new thread for each iteraction of the fibonacci sequence
Problem:
2 threads stopped at the breakpoint but it produces multiple (5)
breakpoint hit messages.
Breakpoint 0 is hit
[..] type commands
"[stopped] where"
"[0.2] print arg" show out the value in 0.2 thread
"where" will show [0.1] [0.0] stack (they have same stack) and [0.2] stack.
"viewset" will show all the threads in a table format
"[0.0] halt" will stop the 0.0 thread
"[0.0] go"
"[0.0:1] go" doesnt' work yet
"go" continues everything
got exception unfortunately
there is a focus command
run again
focus [0.2]
where
gives bt only for that thread
Events are coming out of the stepping engine, but in the corefile
target case, the stepping engine is not entered at all. So if you ask
what a thread is doing, in this case you cannot ask the stepping
engine.
dynamic vs static set: whether you are chosing to look at the
currently live threads or ahead of time you decide to focus on certain
threads whether or not they come and go.
session manager needs to be told that there is a new process even if
the process is a dead one coming from a corefile. Should pick a set
and apply "print" (for instance) to that set, the core command should
be able to tell the session manager what threads it has. But what ops
are legal to threads? Need to be able to tell what's ok to apply.
HPD model doesn't include dead threads. Corefile threads are not in
stopped state, because it would imply you have control ability over the
thread. So there are 2 classes of threads. Dead state, you cannot
control it. Eventually a live thread can enter into the dead state
too.
bp event has to go through the stepping engine, then notify the
interested parties that the thread is now in stopped state.
session manager is central to this problem
if somebody runs a second program? you are supposed to do a "load".
Load: makes visible a dead executable, you can do stuff to a dead
executable, show values, assembly etc. --> Rick working on this
Then you do a Run: replaces the excutable, instead should create
another set. then you can go back to the original executable.
We have 2 session managers: one for the gnome and one for the hpd.
[Plans to merge them?]
discussion on exceptions:
------------------------
What to do when a command fails?
Create a class of exception that represents that.
Print across multiple sets, what do you do if it fails
right now we only have runtime exceptions. Can this class be extended.
create a non fatal error exception. Hard to define if an exeption is fatal
catch runtime exceptions and print just the description instead of
printing the backtrace. The average user doesn't want to see the
details.
at the moment, each command handles exceptions separately.
hard to decide what thread to kill and what to keep running
sami: proposes to have different classes of exceptions, less and less generic.
example shown by Phil in the corefile, in peek(), it throws runtime
exception. How to catch it?
Deciding if it's fatal should be left to the client of the low level
code throwing the exception.
more on sets
-------------
there is no way to reuse the slots in the set notation.
There is no way to get rid of a process either
hpd resets the ptid count everytime it restarts a run. but andrew
doesn't think that's a good idea. Better continue and not restart.
format for print discussion: Andrew
------------------------------------
print 2.5 -format x
print 2.5 -format t --> doesn't work? should it work?
print 2.5 -format o
some bugs in printing regiters
print $eax -format f
regs
how to find out the names of the floating point registers in the fhpd?
formt -x on a fp prints it in hex as a floating point
printing array slices: how to specify the syntax?
[Andrew to post notes on his demo]
next reply other threads:[~2007-08-29 14:54 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-29 14:54 Elena Zannoni [this message]
2007-08-29 14:59 ` Mark Wielaard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=46D58842.9060805@oracle.com \
--to=elena.zannoni@oracle.com \
--cc=frysk@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).