bugDDD - Bugs: bug #24313, DDD opens a new session every time

 
 

bug #24313: DDD opens a new session every time

Submitted by:  Peter Wainwright <pwainwright>
Submitted on:  Fri 19 Sep 2008 06:43:43 PM UTC  
 
Category: NoneSeverity: 3 - Normal
Item Group: NoneStatus: Confirmed
Privacy: PublicAssigned to: Peter Wainwright <pwainwright>
Open/Closed: OpenRelease: 3.3.12-rc2

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Thu 05 Feb 2009 07:55:32 AM UTC, comment #1:

As far as I can tell, session management works as it should. The session management protocol is designed so that the user can have multiple DDD sessions open simultaneously, each having its own history. Thus the history is a "Local" parameter which should be saved with a particular session, rather than a "Global" parameter which goes in .ddd/init.

However, the "Open Session" dialog just gives a list of filenames (the X session IDs), with no explanation of what is inside. This should be made more informative by
(1) displaying the date of the session, and the name of the debuggee.
(2) sorting the sessions in date order

And finally, there should be an option to keep a limited number of recent sessions, and an option to open the most recent session automatically.

Peter Wainwright <pwainwright>In charge of this item.
Fri 19 Sep 2008 06:43:43 PM UTC, original submission:

This bug was originally reported on the mailing list in 2005.

From Chris van Engelen:

"After investigating this a little further, it is my opinion that lines 2277-2283 in ddd.C (pre_main_loop) should be removed:

#if XtSpecificationRelease >= 6
// Synchronize SESSION_ID and APP_DATA.session
if (session_id == 0)
XtVaGetValues(toplevel, XtNsessionID, &session_id, XtPointer(0));

printf( "pre_main_loop: session id set to: %s\n", session_id );

if (session_id != 0)
app_data.session = session_id;
#endif

The call to XtVaGetValues provides a unique session ID from the session manager, i.e., a string like "110a0a008b000111294615200000083400102"
This string is subsequently used as a DDD session identifier, so all history items are saved in subdirectory:

.ddd/sessions/110a0a008b000111294615200000083400102

However, normally a user does not save this special session before exiting DDD, and therefore the next time DDD is started, all history of this special session is lost!

Each time ddd is started, the last one or two characters of the session id as returned by the session manager change, so the end is that all history of each session is lost.

So for instance the drop down menu with "lookup" items always is empty, which is really annoying.

If a user really wants to save a session, the user can easily do this by specifying a useful name in the "save sessions" screen, and use that session when starting again (e.g., using the =<session> hack, or the --session option).

Therefore it is my suggestion to remove lines 2277-2283 in ddd.C (pre_main_loop) This is what I did in my build, and since then it works fine."

I'd like to understand how this session stuff was originally intended to work before deleting the code, though...

Peter Wainwright <pwainwright>In charge of this item.

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by johnboncek
  • -unavailable- added by pwainwright (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu 10 Mar 2011 06:13:34 PM UTCjohnboncekCarbon-Copy-=>Added -unavailable-
    Thu 05 Feb 2009 08:01:29 AM UTCpwainwrightStatusNone=>Confirmed
      Release3.3.12-rc1=>3.3.12-rc2
    Thu 05 Feb 2009 07:55:32 AM UTCpwainwrightReleaseNone=>3.3.12-rc1
    Sat 15 Nov 2008 07:59:19 PM UTCpwainwrightAssigned toNone=>pwainwright

    Back to the top


    Powered by Savane 3.1-cleanup