Skip to content

[BZ-1256] Preventing stack overflows #1256

@jwillemsen

Description

@jwillemsen
Field Value
Bugzilla ID 1256
Reporter Nanbor Wang
Assigned to DOC Center Support List (internal)
Product TAO
Component ORB
Version 1.2.3
Platform / OS All / All
Priority P3
Severity normal
Status ASSIGNED
Resolution
Created 2002-07-25 07:55:24 -0500

Originally posted by Nanbor Wang on 2002-07-25 07:55:24 -0500


Carlos suggested this as an enhancement to TAO
--------------- Cut Here -----------------------------------
As many of you know TAO can overflow the stack if you run
sufficiently deep nested event loops. I'm thinking that we can do a
little better than crashing with a SEGV in those cases. For example,
we can add a maximum nested event loop depth to the leader followers
loop. If the depth is reached we can stop all incoming requests by:

  1. Queueing them in the fragment re-assembly buffer: I think all we
    would have to do here is put them in the buffer and not send the
    notification message until the stack depths is low enough.

    This could result in a dead-lock, assuming the application needs
    the request to complete before the stack can unwind, so we may also
    need to:

  2. Raise an exception: for example, CORBA::IMP_LIMIT is a perfect
    match, with an appropriate completion status and minor code
    applications can even recover from this sort of thing.
    --------------- Cut Here ----------------------------------------

This seems to be a good solution for the wrteched problem occuring if the
application tends to create too many nested event loops when doing distributed
callbacks.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions