From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4729 invoked by alias); 29 Aug 2007 14:54:08 -0000 Received: (qmail 4512 invoked by uid 22791); 29 Aug 2007 14:54:05 -0000 X-Spam-Status: No, hits=1.6 required=5.0 tests=AWL,BAYES_50,DK_POLICY_SIGNSOME,UNPARSEABLE_RELAY X-Spam-Check-By: sourceware.org Received: from agminet01.oracle.com (HELO agminet01.oracle.com) (141.146.126.228) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 29 Aug 2007 14:53:51 +0000 Received: from agmgw2.us.oracle.com (agmgw2.us.oracle.com [152.68.180.213]) by agminet01.oracle.com (Switch-3.2.4/Switch-3.1.7) with ESMTP id l7TErlI0003568 for ; Wed, 29 Aug 2007 09:53:47 -0500 Received: from acsmt351.oracle.com (acsmt351.oracle.com [141.146.40.151]) by agmgw2.us.oracle.com (Switch-3.2.0/Switch-3.2.0) with ESMTP id l7TE6xF3010163 for ; Wed, 29 Aug 2007 08:53:47 -0600 Received: from c-76-19-29-178.hsd1.ma.comcast.net by rcsmt252.oracle.com with ESMTP id 3167684761188399125; Wed, 29 Aug 2007 08:52:05 -0600 Message-ID: <46D58842.9060805@oracle.com> Date: Wed, 29 Aug 2007 14:54:00 -0000 From: Elena Zannoni Organization: Oracle USA Inc. User-Agent: Thunderbird 1.5.0.10 (X11/20070302) MIME-Version: 1.0 To: frysk Subject: Minutes meeting 2007-08-29 Content-Type: multipart/mixed; boundary="------------000506050005040700030109" X-Brightmail-Tracker: AAAAAQAAAAI= X-Brightmail-Tracker: AAAAAQAAAAI= X-Whitelist: TRUE X-Whitelist: TRUE X-Virus-Checked: Checked by ClamAV on sourceware.org X-IsSubscribed: yes Mailing-List: contact frysk-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-owner@sourceware.org X-SW-Source: 2007-q3/txt/msg00362.txt.bz2 This is a multi-part message in MIME format. --------------000506050005040700030109 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-length: 1 --------------000506050005040700030109 Content-Type: text/plain; name="frysk-20070829" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="frysk-20070829" Content-length: 4162 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] --------------000506050005040700030109--