Problem/Motivation

This is OK in HEAD, but it causes an infinite loop/OOM once #2689561: CPS sessions can be lost within a browser tab is applied.

cps_changeset_load() does a dsm() if the current changeset is archived, with a helpful link to restore the changeset.

#2689561: CPS sessions can be lost within a browser tab adds a hook_url_outbound_alter(), which loads a changeset.

The result of the two is this - (got here after bisecting where it OOMed):

- drupal_add_js() calls url() with no arguments
- url() calls out to hook_url_outbound_alter()
- cps_url_outbound_alter() calls cps_changeset_load()
- cps_changeset_load(), when the changeset is archived, calls url()
- whoops.

Proposed resolution

Don't bother with the helpful link, assume that people know how to restore changesets if they're viewing one that's old enough to be archived.

Remaining tasks

User interface changes

API changes

Data model changes

CommentFileSizeAuthor
#7 2723283.patch947 bytescatch
#5 2723283.patch956 bytescatch
#4 2723283.patch957 bytescatch
#2 2723283.patch956 bytescatch

Comments

catch created an issue. See original summary.

catch’s picture

StatusFileSize
new956 bytes

Status: Needs review » Needs work

The last submitted patch, 2: 2723283.patch, failed testing.

catch’s picture

StatusFileSize
new957 bytes
catch’s picture

Status: Needs work » Needs review
StatusFileSize
new956 bytes
David_Rothstein’s picture

Status: Needs review » Needs work

This looks good but there's an extra array() in there (which should not be one of the parameters passed to drupal_set_message()).

catch’s picture

Status: Needs work » Needs review
StatusFileSize
new947 bytes

Oh dear.

David_Rothstein’s picture

Status: Needs review » Reviewed & tested by the community

  • hadsie committed 2972b20 on 7.x-1.x authored by catch
    Issue #2723283 by catch: Don't use url() in cps_changeset_load()
    
hadsie’s picture

Status: Reviewed & tested by the community » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.