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


bug #24313: DDD opens a new session every time

Submitter:  Peter Wainwright <pwainwright>
Submitted:  Fri 19 Sep 2008 06:43:43 PM UTC
Category:  None Severity:  3 - Normal
Item Group:  None Status:  Wont Fix
Privacy:  Public Assigned to:  None
Open/Closed:  Closed Release:  3.3.12
* Mandatory Fields

Add a New Comment Rich Markup

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>
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;

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:


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>


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

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by eager (Updated the item)
  • -email is unavailable- added by johnboncek
  • -email is unavailable- added by pwainwright (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.


    Follow 8 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2023-05-06 eager StatusConfirmed Wont Fix
        Assigned topwainwright None
        Open/ClosedOpen Closed
    2011-03-10 johnboncek Carbon-Copy- Added -email is unavailable-
    2009-02-05 pwainwright StatusNone Confirmed
        Release3.3.12-rc1 3.3.12
    2009-02-05 pwainwright ReleaseNone 3.3.12-rc1
    2008-11-15 pwainwright Assigned toNone pwainwright

    Back to the top

    Powered by Savane 3.13-3cd0.
    Corresponding source code