This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 98430 - History UI throws exceptions on unpublished content
History UI throws exceptions on unpublished content
Status: CLOSED RAWHIDE
Product: Red Hat Enterprise CMS
Classification: Retired
Component: other (Show other bugs)
nightly
All Linux
medium Severity high
: ---
: ---
Assigned To: Vadim Nasardinov
Jon Orris
:
Depends On:
Blocks: rc0blockers
  Show dependency treegraph
 
Reported: 2003-07-02 10:42 EDT by Jon Orris
Modified: 2007-04-18 12:55 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2003-07-09 13:26:33 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Jon Orris 2003-07-02 10:42:05 EDT
Description of problem:
@33139/Postgres

The history UI gives a couple of different exceptions when accessing elements
after unpublishing content.

Steps:
Create an article with an Image.
Everything in the History UI works fine.
Publish it.
Unpublish it.
Apply a workflow and change the content & image.
Go to the history UI. 
Attempting to view the diff between the previously published version and the
current version, or to view the old published version, gives: 
com.arsdigita.versioning.ProxyDataObject$CollectionAttributeException:
slaveVersions has already been processed.
attr: com.arsdigita.persistence.OID:12:
serialized=com.arsdigita.cms.Folder;id:1:9036
deserialized=[com.arsdigita.cms.Folder:{id=9036}]
operation: [com.arsdigita.versioning.GenericOperation:{id=3510}]
attribute=slaveVersions
changeset=[com.arsdigita.versioning.DataObjectChange:{id=3285}]
eventType=[com.arsdigita.versioning.EventType:{id=4}]
id=3510
javaclass=[com.arsdigita.versioning.JavaClass:{id=12}]
subtype=1
value=com.arsdigita.cms.Folder;id:1:9036

	at
com.arsdigita.versioning.ProxyDataObject$Collection.add(ProxyDataObject.java:684)
	at com.arsdigita.versioning.ProxyDataObject.add(ProxyDataObject.java:234)
	at com.arsdigita.versioning.ProxyDataObject.undoRemove(ProxyDataObject.java:432)
	at com.arsdigita.versioning.ProxyDataObject.undoEvent(ProxyDataObject.java:391)
	at com.arsdigita.versioning.RollbackRecord.rollback(RollbackRecord.java:204)
	at
com.arsdigita.versioning.RollbackRecord.computeDifferences(RollbackRecord.java:157)
	at com.arsdigita.versioning.RollbackRecord.diff(RollbackRecord.java:168)
	at com.arsdigita.versioning.Versions.diff(Versions.java:108)
	at com.arsdigita.versioning.Versions.diff(Versions.java:112)
	at
com.arsdigita.cms.ui.revision.DifferencePane$ModelBuilder.makeModel(DifferencePane.java:159)
	at com.arsdigita.bebop.Table$3.initialValue(Table.java:768)
	at com.arsdigita.bebop.Table.generateXML(Table.java(Compiled Code))
	at com.arsdigita.bebop.Table.generateXML(Table.java(Compiled Code))
	at com.arsdigita.bebop.Table.generateXML(Table.java(Compiled Code))
	at com.arsdigita.toolbox.ui.Section.generateXML(Section.java:117)
	at
com.arsdigita.bebop.SimpleContainer.generateXML(SimpleContainer.java(Compiled Code))
	at com.arsdigita.toolbox.ui.LayoutPanel.section(LayoutPanel.java(Compiled Code))
	at com.arsdigita.toolbox.ui.LayoutPanel.generateXML(LayoutPanel.java:73)
	at com.arsdigita.toolbox.ui.ModalPanel.generateXML(ModalPanel.java:85)
	at com.arsdigita.toolbox.ui.ModalPanel.generateXML(ModalPanel.java:85)
	at com.arsdigita.bebop.TabbedPane.generateXML(TabbedPane.java:444)
	at
com.arsdigita.bebop.SimpleContainer.generateXML(SimpleContainer.java(Compiled Code))
	at com.arsdigita.bebop.Page.generateXML(Page.java:638)
	at com.arsdigita.bebop.Page.buildDocument(Page.java:736)
	at com.arsdigita.cms.dispatcher.CMSPage$1.excurse(CMSPage.java:262)
	at com.arsdigita.cms.CMSExcursion.run(CMSExcursion.java:71)
	at com.arsdigita.cms.dispatcher.CMSPage.dispatch(CMSPage.java:270)

Attempting to view one of the Pre-published versions, such as the Edited or
Authored version, gives: 

com.arsdigita.versioning.ProxyDataObject$CollectionAttributeException:
slaveVersions has already been processed.
attr: com.arsdigita.persistence.OID:12:
serialized=com.arsdigita.cms.Folder;id:1:9036
deserialized=[com.arsdigita.cms.Folder:{id=9036}]
operation: [com.arsdigita.versioning.GenericOperation:{id=3510}]
attribute=slaveVersions
changeset=[com.arsdigita.versioning.DataObjectChange:{id=3285}]
eventType=[com.arsdigita.versioning.EventType:{id=4}]
id=3510
javaclass=[com.arsdigita.versioning.JavaClass:{id=12}]
subtype=1
value=com.arsdigita.cms.Folder;id:1:9036

	at
com.arsdigita.versioning.ProxyDataObject$Collection.add(ProxyDataObject.java:684)
	at com.arsdigita.versioning.ProxyDataObject.add(ProxyDataObject.java:234)
	at com.arsdigita.versioning.ProxyDataObject.undoRemove(ProxyDataObject.java:432)
	at com.arsdigita.versioning.ProxyDataObject.undoEvent(ProxyDataObject.java:391)
	at com.arsdigita.versioning.RollbackRecord.rollback(RollbackRecord.java:204)
	at
com.arsdigita.versioning.RollbackRecord.computeDifferences(RollbackRecord.java:157)
	at com.arsdigita.versioning.RollbackRecord.diff(RollbackRecord.java:168)
	at com.arsdigita.versioning.Versions.diff(Versions.java:108)
	at com.arsdigita.versioning.Versions.diff(Versions.java:112)
	at
com.arsdigita.cms.ui.revision.DifferencePane$ModelBuilder.makeModel(DifferencePane.java:159)
	at com.arsdigita.bebop.Table$3.initialValue(Table.java:768)
	at com.arsdigita.bebop.Table.generateXML(Table.java(Compiled Code))
	at com.arsdigita.bebop.Table.generateXML(Table.java(Compiled Code))
	at com.arsdigita.bebop.Table.generateXML(Table.java(Compiled Code))
	at com.arsdigita.toolbox.ui.Section.generateXML(Section.java:117)
	at
com.arsdigita.bebop.SimpleContainer.generateXML(SimpleContainer.java(Compiled Code))
	at com.arsdigita.toolbox.ui.LayoutPanel.section(LayoutPanel.java(Compiled Code))
	at com.arsdigita.toolbox.ui.LayoutPanel.generateXML(LayoutPanel.java:73)
	at com.arsdigita.toolbox.ui.ModalPanel.generateXML(ModalPanel.java:85)
	at com.arsdigita.toolbox.ui.ModalPanel.generateXML(ModalPanel.java:85)
	at com.arsdigita.bebop.TabbedPane.generateXML(TabbedPane.java:444)
	at
com.arsdigita.bebop.SimpleContainer.generateXML(SimpleContainer.java(Compiled Code))
	at com.arsdigita.bebop.Page.generateXML(Page.java:638)
	at com.arsdigita.bebop.Page.buildDocument(Page.java:736)
	at com.arsdigita.cms.dispatcher.CMSPage$1.excurse(CMSPage.java:262)
	at com.arsdigita.cms.CMSExcursion.run(CMSExcursion.java:71)
	at com.arsdigita.cms.dispatcher.CMSPage.dispatch(CMSPage.java:270)
com.arsdigita.versioning.ProxyDataObject$CollectionAttributeException:
slaveVersions has already been processed.
attr: com.arsdigita.persistence.OID:12:
serialized=com.arsdigita.cms.Folder;id:1:9036
deserialized=[com.arsdigita.cms.Folder:{id=9036}]
operation: [com.arsdigita.versioning.GenericOperation:{id=3510}]
attribute=slaveVersions
changeset=[com.arsdigita.versioning.DataObjectChange:{id=3285}]
eventType=[com.arsdigita.versioning.EventType:{id=4}]
id=3510
javaclass=[com.arsdigita.versioning.JavaClass:{id=12}]
subtype=1
value=com.arsdigita.cms.Folder;id:1:9036

	at
com.arsdigita.versioning.ProxyDataObject$Collection.add(ProxyDataObject.java:684)
	at com.arsdigita.versioning.ProxyDataObject.add(ProxyDataObject.java:234)
	at com.arsdigita.versioning.ProxyDataObject.undoRemove(ProxyDataObject.java:432)
	at com.arsdigita.versioning.ProxyDataObject.undoEvent(ProxyDataObject.java:391)
	at com.arsdigita.versioning.RollbackRecord.rollback(RollbackRecord.java:204)
	at
com.arsdigita.versioning.RollbackRecord.computeDifferences(RollbackRecord.java:157)
	at com.arsdigita.versioning.RollbackRecord.diff(RollbackRecord.java:168)
	at com.arsdigita.versioning.Versions.diff(Versions.java:108)
	at com.arsdigita.versioning.Versions.diff(Versions.java:112)
	at
com.arsdigita.cms.ui.revision.DifferencePane$ModelBuilder.makeModel(DifferencePane.java:159)
	at com.arsdigita.bebop.Table$3.initialValue(Table.java:768)
	at com.arsdigita.bebop.Table.generateXML(Table.java(Compiled Code))
	at com.arsdigita.bebop.Table.generateXML(Table.java(Compiled Code))
	at com.arsdigita.bebop.Table.generateXML(Table.java(Compiled Code))
	at com.arsdigita.toolbox.ui.Section.generateXML(Section.java:117)
	at
com.arsdigita.bebop.SimpleContainer.generateXML(SimpleContainer.java(Compiled Code))
	at com.arsdigita.toolbox.ui.LayoutPanel.section(LayoutPanel.java(Compiled Code))
	at com.arsdigita.toolbox.ui.LayoutPanel.generateXML(LayoutPanel.java:73)
	at com.arsdigita.toolbox.ui.ModalPanel.generateXML(ModalPanel.java:85)
	at com.arsdigita.toolbox.ui.ModalPanel.generateXML(ModalPanel.java:85)
	at com.arsdigita.bebop.TabbedPane.generateXML(TabbedPane.java:444)
	at
com.arsdigita.bebop.SimpleContainer.generateXML(SimpleContainer.java(Compiled Code))
	at com.arsdigita.bebop.Page.generateXML(Page.java:638)
	at com.arsdigita.bebop.Page.buildDocument(Page.java:736)
	at com.arsdigita.cms.dispatcher.CMSPage$1.excurse(CMSPage.java:262)
	at com.arsdigita.cms.CMSExcursion.run(CMSExcursion.java:71)
	at com.arsdigita.cms.dispatcher.CMSPage.dispatch(CMSPage.java:270)
com.arsdigita.versioning.ProxyDataObject$CollectionAttributeException:
slaveVersions has already been processed.
attr: com.arsdigita.persistence.OID:12:
serialized=com.arsdigita.cms.Folder;id:1:9036
deserialized=[com.arsdigita.cms.Folder:{id=9036}]
operation: [com.arsdigita.versioning.GenericOperation:{id=3510}]
attribute=slaveVersions
changeset=[com.arsdigita.versioning.DataObjectChange:{id=3285}]
eventType=[com.arsdigita.versioning.EventType:{id=4}]
id=3510
javaclass=[com.arsdigita.versioning.JavaClass:{id=12}]
subtype=1
value=com.arsdigita.cms.Folder;id:1:9036

	at
com.arsdigita.versioning.ProxyDataObject$Collection.add(ProxyDataObject.java:684)
	at com.arsdigita.versioning.ProxyDataObject.add(ProxyDataObject.java:234)
	at com.arsdigita.versioning.ProxyDataObject.undoRemove(ProxyDataObject.java:432)
	at com.arsdigita.versioning.ProxyDataObject.undoEvent(ProxyDataObject.java:391)
	at com.arsdigita.versioning.RollbackRecord.rollback(RollbackRecord.java:204)
	at
com.arsdigita.versioning.RollbackRecord.computeDifferences(RollbackRecord.java:157)
	at com.arsdigita.versioning.RollbackRecord.diff(RollbackRecord.java:168)
	at com.arsdigita.versioning.Versions.diff(Versions.java:108)
	at com.arsdigita.versioning.Versions.diff(Versions.java:112)
	at
com.arsdigita.cms.ui.revision.DifferencePane$ModelBuilder.makeModel(DifferencePane.java:159)
	at com.arsdigita.bebop.Table$3.initialValue(Table.java:768)
	at com.arsdigita.bebop.Table.generateXML(Table.java(Compiled Code))
	at com.arsdigita.bebop.Table.generateXML(Table.java(Compiled Code))
	at com.arsdigita.bebop.Table.generateXML(Table.java(Compiled Code))
	at com.arsdigita.toolbox.ui.Section.generateXML(Section.java:117)
	at
com.arsdigita.bebop.SimpleContainer.generateXML(SimpleContainer.java(Compiled Code))
	at com.arsdigita.toolbox.ui.LayoutPanel.section(LayoutPanel.java(Compiled Code))
	at com.arsdigita.toolbox.ui.LayoutPanel.generateXML(LayoutPanel.java:73)
	at com.arsdigita.toolbox.ui.ModalPanel.generateXML(ModalPanel.java:85)
	at com.arsdigita.toolbox.ui.ModalPanel.generateXML(ModalPanel.java:85)
	at com.arsdigita.bebop.TabbedPane.generateXML(TabbedPane.java:444)
	at
com.arsdigita.bebop.SimpleContainer.generateXML(SimpleContainer.java(Compiled Code))
	at com.arsdigita.bebop.Page.generateXML(Page.java:638)
	at com.arsdigita.bebop.Page.buildDocument(Page.java:736)
	at com.arsdigita.cms.dispatcher.CMSPage$1.excurse(CMSPage.java:262)
	at com.arsdigita.cms.CMSExcursion.run(CMSExcursion.java:71)
	at com.arsdigita.cms.dispatcher.CMSPage.dispatch(CMSPage.java:270)
com.arsdigita.versioning.ProxyDataObject$CollectionAttributeException:
slaveVersions has already been processed.
attr: com.arsdigita.persistence.OID:12:
serialized=com.arsdigita.cms.Folder;id:1:9036
deserialized=[com.arsdigita.cms.Folder:{id=9036}]
operation: [com.arsdigita.versioning.GenericOperation:{id=3510}]
attribute=slaveVersions
changeset=[com.arsdigita.versioning.DataObjectChange:{id=3285}]
eventType=[com.arsdigita.versioning.EventType:{id=4}]
id=3510
javaclass=[com.arsdigita.versioning.JavaClass:{id=12}]
subtype=1
value=com.arsdigita.cms.Folder;id:1:9036

	at
com.arsdigita.versioning.ProxyDataObject$Collection.add(ProxyDataObject.java:684)
	at com.arsdigita.versioning.ProxyDataObject.add(ProxyDataObject.java:234)
	at com.arsdigita.versioning.ProxyDataObject.undoRemove(ProxyDataObject.java:432)
	at com.arsdigita.versioning.ProxyDataObject.undoEvent(ProxyDataObject.java:391)
	at com.arsdigita.versioning.RollbackRecord.rollback(RollbackRecord.java:204)
	at
com.arsdigita.versioning.RollbackRecord.computeDifferences(RollbackRecord.java:157)
	at com.arsdigita.versioning.RollbackRecord.diff(RollbackRecord.java:168)
	at com.arsdigita.versioning.Versions.diff(Versions.java:108)
	at com.arsdigita.versioning.Versions.diff(Versions.java:112)
	at
com.arsdigita.cms.ui.revision.DifferencePane$ModelBuilder.makeModel(DifferencePane.java:159)
	at com.arsdigita.bebop.Table$3.initialValue(Table.java:768)
	at com.arsdigita.bebop.Table.generateXML(Table.java(Compiled Code))
	at com.arsdigita.bebop.Table.generateXML(Table.java(Compiled Code))
	at com.arsdigita.bebop.Table.generateXML(Table.java(Compiled Code))
	at com.arsdigita.toolbox.ui.Section.generateXML(Section.java:117)
	at
com.arsdigita.bebop.SimpleContainer.generateXML(SimpleContainer.java(Compiled Code))
	at com.arsdigita.toolbox.ui.LayoutPanel.section(LayoutPanel.java(Compiled Code))
	at com.arsdigita.toolbox.ui.LayoutPanel.generateXML(LayoutPanel.java:73)
	at com.arsdigita.toolbox.ui.ModalPanel.generateXML(ModalPanel.java:85)
	at com.arsdigita.toolbox.ui.ModalPanel.generateXML(ModalPanel.java:85)
	at com.arsdigita.bebop.TabbedPane.generateXML(TabbedPane.java:444)
	at
com.arsdigita.bebop.SimpleContainer.generateXML(SimpleContainer.java(Compiled Code))
	at com.arsdigita.bebop.Page.generateXML(Page.java:638)
	at com.arsdigita.bebop.Page.buildDocument(Page.java:736)
	at com.arsdigita.cms.dispatcher.CMSPage$1.excurse(CMSPage.java:262)
	at com.arsdigita.cms.CMSExcursion.run(CMSExcursion.java:71)
	at com.arsdigita.cms.dispatcher.CMSPage.dispatch(CMSPage.java:270)
com.arsdigita.versioning.ProxyDataObject$CollectionAttributeException:
slaveVersions has already been processed.
attr: com.arsdigita.persistence.OID:12:
serialized=com.arsdigita.cms.Folder;id:1:9036
deserialized=[com.arsdigita.cms.Folder:{id=9036}]
operation: [com.arsdigita.versioning.GenericOperation:{id=3510}]
attribute=slaveVersions
changeset=[com.arsdigita.versioning.DataObjectChange:{id=3285}]
eventType=[com.arsdigita.versioning.EventType:{id=4}]
id=3510
javaclass=[com.arsdigita.versioning.JavaClass:{id=12}]
subtype=1
value=com.arsdigita.cms.Folder;id:1:9036

	at
com.arsdigita.versioning.ProxyDataObject$Collection.add(ProxyDataObject.java:684)
	at com.arsdigita.versioning.ProxyDataObject.add(ProxyDataObject.java:234)
	at com.arsdigita.versioning.ProxyDataObject.undoRemove(ProxyDataObject.java:432)
	at com.arsdigita.versioning.ProxyDataObject.undoEvent(ProxyDataObject.java:391)
	at com.arsdigita.versioning.RollbackRecord.rollback(RollbackRecord.java:204)
	at
com.arsdigita.versioning.RollbackRecord.computeDifferences(RollbackRecord.java:157)
	at com.arsdigita.versioning.RollbackRecord.diff(RollbackRecord.java:168)
	at com.arsdigita.versioning.Versions.diff(Versions.java:108)
	at com.arsdigita.versioning.Versions.diff(Versions.java:112)
	at
com.arsdigita.cms.ui.revision.DifferencePane$ModelBuilder.makeModel(DifferencePane.java:159)
	at com.arsdigita.bebop.Table$3.initialValue(Table.java:768)
	at com.arsdigita.bebop.Table.generateXML(Table.java(Compiled Code))
	at com.arsdigita.bebop.Table.generateXML(Table.java(Compiled Code))
	at com.arsdigita.bebop.Table.generateXML(Table.java(Compiled Code))
	at com.arsdigita.toolbox.ui.Section.generateXML(Section.java:117)
	at
com.arsdigita.bebop.SimpleContainer.generateXML(SimpleContainer.java(Compiled Code))
	at com.arsdigita.toolbox.ui.LayoutPanel.section(LayoutPanel.java(Compiled Code))
	at com.arsdigita.toolbox.ui.LayoutPanel.generateXML(LayoutPanel.java:73)
	at com.arsdigita.toolbox.ui.ModalPanel.generateXML(ModalPanel.java:85)
	at com.arsdigita.toolbox.ui.ModalPanel.generateXML(ModalPanel.java:85)
	at com.arsdigita.bebop.TabbedPane.generateXML(TabbedPane.java:444)
	at
com.arsdigita.bebop.SimpleContainer.generateXML(SimpleContainer.java(Compiled Code))
	at com.arsdigita.bebop.Page.generateXML(Page.java:638)
	at com.arsdigita.bebop.Page.buildDocument(Page.java:736)
	at com.arsdigita.cms.dispatcher.CMSPage$1.excurse(CMSPage.java:262)
	at com.arsdigita.cms.CMSExcursion.run(CMSExcursion.java:71)
	at com.arsdigita.cms.dispatcher.CMSPage.dispatch(CMSPage.java:270)
Comment 1 Jon Orris 2003-07-02 10:44:59 EDT
ARGH. ETest broke copy & paste on Windoze _again_, so the second stack trace is
a dup of the first. Will add the correct stack trace when I use a real OS again.
Comment 2 Richard Li 2003-07-03 15:47:00 EDT
Vadim, can you take a look? This still exists after your fix.
Comment 3 Vadim Nasardinov 2003-07-03 17:37:40 EDT
This seems to be fixed by the combination of p4 changes 33248 and  
33257.  I think Justin should take a look at 33257 that fixes an NPE  
in OperationIterator.  With the NPE fixed, the output of the diff  
looks like so (view in fixed-width font):  
  
  
Object             | Property      | Change                     
-------------------+---------------+--------------------------  
Publishing is Slow | SlaveVersions | Added Publishing is Slow  
                   |               |   
Publishing is Slow | TextAsset     | To Publishing is Slow  
                   |               | From nothing  
                   |               |   
Publishing is Slow | ImageCaptions | Removed Publishing is Slow  
                   |               |  
Publishing is Slow | Lead          | To "reaallly slow"  
                   |               | From nothing  
                   |               |  
null               | ObjectType    | To nothing  
                                   | From  
"com.arsdigita.cms.contenttypes.Article"  
                                     
  
  
In other words, repeat the steps described by Jon above, and view the  
difference between the current version and the initial version.  
Notice the abundance of rows that look like so:  
  
Object:   null  
Property: LaunchDate  
Change:   To nothing  
          From Thu Jul 17 00:00:00 EDT 2003  
  
  
Not sure if this is the desired effect.  
 

Note You need to log in before you can comment on or make changes to this bug.