You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2006/06/01 17:30:38 UTC

DO NOT REPLY [Bug 34107] - session already invalidated before valueUnbound() called

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=34107>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=34107





------- Additional Comments From robbyoung21@gmail.com  2006-06-01 15:30 -------
Duplicate bug:

http://issues.apache.org/bugzilla/show_bug.cgi?id=38242

This is implemented properly.  See above bug issue.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: Bug + Patch on StandardPipeline.removeValve(Valve valve) for T5.5.16+

Posted by Mark Thomas <ma...@apache.org>.
David Gagnon wrote:
> Hope that oki.  I look the 5.5.17 code and the problem is still there. 
> Is that the right way to submit a Patch. If I need to open a bug
> directly, let me know

It is usually best to open a bug report and attach your patch. This
way, it is less likely to get overlooked if someone doesn't apply the
patch immediately.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Bug + Patch on StandardPipeline.removeValve(Valve valve) for T5.5.16+

Posted by David Gagnon <dg...@siunik.com>.
Hi all,

  I run into this problem with T5 when tring to add/remove/add a valve 
to the standard engine. 
-For what I understand an empty pipeline has:
basic = StandardEngineValve (For example);
first = null;

-If you add a valve you will get
basic = StandardEngineValve
first = myValve (with myValve.next = StandardEngineValve)

-If you remove the valve you will get
basic =StandardEngineValve
first = StandardEngineValve
Note that StandardEngineValve is in first too here.

-If I try to add a new valve given the actual code in  addValve the 
valve will not be added because (see the **) current = basic and 
current.getNext() = null;

addValve(Valve valve) {
   

        // Add this Valve to the set associated with this Pipeline
        if (first == null) {
            first = valve;
            valve.setNext(basic);
        } else {
            Valve current = first;
            while (current != null) {
**                if (current.getNext() == basic) {
                    current.setNext(valve);
                    valve.setNext(basic);
                    break;
                }
                current = current.getNext();
            }
        }

    }


PATCH:
For what I understand the right patch will be in the removeValve 
method.  We need to remove the basic valve when that the only one in the 
pipeline:

 public void removeValve(Valve valve) {

        Valve current;
        if(first == valve) {
            first = first.getNext();
            current = null;
        } else {
            current = first;
        }
        while (current != null) {
            if (current.getNext() == valve) {
                current.setNext(valve.getNext());
                break;
            }
            current = current.getNext();
        }

         // PATCH: Empty the pipeline if only the basic valve is there
        if (first == basic) first == null;

        if (valve instanceof Contained)
            ((Contained) valve).setContainer(null);

        // Stop this valve if necessary
        if (started) {
            if (valve instanceof Lifecycle) {
                try {
                    ((Lifecycle) valve).stop();
                } catch (LifecycleException e) {
                    log.error("StandardPipeline.removeValve: stop: ", e);
                }
            }
            // Unregister the removed valave
            unregisterValve(valve);
        }
   
    }

Hope that oki.  I look the 5.5.17 code and the problem is still there.  
Is that the right way to submit a Patch. If I need to open a bug 
directly, let me know



Best Regard
/David


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org