Get the book!
The best Java IDE

A public expression of gratitude to issue posters

Posted by Eitan Suez Thu, 01 Feb 2007 21:37:00 GMT

Many of us take somewhat of a leap of faith when we decide to open-source our work. With respect to JMatter, I took some time to make that step, not knowing how things would pan out.

One thing that indeed happens and happens quickly, is that [once a tool for reporting issues was made available] approximately 100 issues were reported, perhaps 200 or more if you count informal issues reported through the mailing list, over perhaps a period of 3-4 months.

Today I took some time to look at and resolve some outstanding defects/issues.

One thing that is obviously wonderful about sharing this framework is that many of you have put this framework through paces and have uncovered bugs (many of which I've fixed by now, though nothing is perfect, and time is different when dealing with open source projects).

In retrospect, there's absolutely no way that I could have by myself uncovered some of these bugs. Some are exhibited in very special circumstances. I marvel at the nuances, and often tell myself: "wow, I would have never thought to try that."

So, I would like to say publicly: thank you, all of you who took the time to report these issues. I know I sometimes take time to get to them (but hey, it's not like I'm getting paid for this). This framework is improving as a consequence of your active participation.

One important note: when I asked the community what issue manager they recommended, a number of you recommended trac, which I installed. Since then, trac has gone through some upheaval as a consequence of having no provisions (at the time) to prevent spam. The bug database was trashed and it took quite some time to get it cleaned up, and back up and running. Consequently, I am requiring that users obtain an account if they're going to log issues (I hate to have to do this but I feel like I don't have a choice). For those of you who do not wish to go through so much, I would still very much appreciate to hear about your issues through the jmatter mailing list.

21 comments

Comments

  1. bugman said 2 days later:

    Well here's another one for you -

    Latest release 02/02 - clicking a save several times

    [java] EOCommand: Failed in attempt to invoke method: Save on object: Read [java] Exception in thread "Thread-45" java.lang.IllegalArgumentException: object is not an instance of declaring class [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [java] at java.lang.reflect.Method.invoke(Method.java:585) [java] at com.u2d.element.EOCommand.execute(EOCommand.java:91) [java] at com.u2d.element.EOCommand.execute(EOCommand.java:76) [java] at com.u2d.view.swing.CommandAdapter$1.run(CommandAdapter.java:96)

  2. bugman said 2 days later:

    and another,

    a/ Right click on an icon on the "classbar"

    b/ Select "browse" or "new"

    c/ Select "In new tab"

    This will open a new window in instead of a tab.

  3. bugman said 2 days later:

    and another,

    a/ browse "Types"

    b/ Right click on "Atomic Fields" icon

    c/ Select "New"

    d/ Enter object details, click "Save"

    Console -

    [java] INFO: Saving Atomic Fields: null [java] Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException [java] at com.u2d.view.swing.TitleView$1.run(TitleView.java:77) [java] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) [java] at java.awt.EventQueue.dispatchEvent(EventQueue.java:461) [java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) [java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) [java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) [java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) [java] at java.awt.EventDispatchThread.run(EventDispatchThread.java:110) [java] Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException [java] at com.u2d.view.swing.TitleView$1.run(TitleView.java:77) [java] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) [java] at java.awt.EventQueue.dispatchEvent(EventQueue.java:461) [java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) [java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) [java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) [java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) [java] at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

    Exception popup -

    java.lang.NullPointerException at com.u2d.element.Field.equals(Field.java:269) at java.util.ArrayList.indexOf(ArrayList.java:220) at java.util.ArrayList.contains(ArrayList.java:201) at com.u2d.model.AbstractListEO.contains(AbstractListEO.java:201) at com.u2d.model.AbstractListEO.add(AbstractListEO.java:161) at com.u2d.list.CriteriaListEO.add(CriteriaListEO.java:278) at com.u2d.list.PagedList$1.onEvent(PagedList.java:27) at com.u2d.pubsub.AppEventSupport.fireAppEventNotification(AppEventSupport.java:55) at com.u2d.model.AbstractComplexEObject.fireAppEventNotification(AbstractComplexEObject.java:855) at com.u2d.model.ComplexType.fireAppEventNotification(ComplexType.java:1057) at com.u2d.model.AbstractComplexEObject.onCreate(AbstractComplexEObject.java:145) at com.u2d.persist.HibernatePersistor.save(HibernatePersistor.java:481) at com.u2d.model.AbstractComplexEObject.doSave(AbstractComplexEObject.java:483) at com.u2d.model.AbstractComplexEObject$TransientState.SaveAndClose(AbstractComplexEObject.java:627) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.u2d.element.EOCommand.execute(EOCommand.java:91) at com.u2d.element.EOCommand.execute(EOCommand.java:76) at com.u2d.view.swing.CommandAdapter$1.run(CommandAdapter.java:96)

  4. bugman said 2 days later:

    and another,

    a/ browse "Types"

    b/ right click on "Commands" icon

    Console -

    [java] No specific baseType so go with complexeobject..

    Wasn't this supposed to be fixed?

  5. bugman said 2 days later:

    and another,

    a/ browse "Types"

    b/ right click on "EOCommands" icon

    c/ Select "EOCommands" from dropdown - (what is the point of this?)

    d/ "Full Path" is mandatory yet you cannot enter any value for it.

  6. bugman said 2 days later:

    and another,

    a/ Right click on "Log" from classbar

    b/ Select new - enter some data

    c/ Select save

    d/ Clicking on "Edit" quick enough several times will give you hibernate exceptions.

    org.hibernate.HibernateException: Flush during cascade is dangerous at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:996) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106) at com.u2d.persist.HibernatePersistor.save(HibernatePersistor.java:478) at com.u2d.model.AbstractComplexEObject.save(AbstractComplexEObject.java:498) at com.u2d.app.Application.log(Application.java:142) at com.u2d.model.AbstractComplexEObject.log(AbstractComplexEObject.java:1007) at com.u2d.model.AbstractComplexEObject$EditState.Save(AbstractComplexEObject.java:729) at sun.reflect.GeneratedMethodAccessor105.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.u2d.element.EOCommand.execute(EOCommand.java:91) at com.u2d.element.EOCommand.execute(EOCommand.java:76) at com.u2d.view.swing.CommandAdapter$1.run(CommandAdapter.java:96)

    org.hibernate.TransactionException: Transaction not successfully started at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:149) at com.u2d.persist.HibernatePersistor.save(HibernatePersistor.java:488) at com.u2d.model.AbstractComplexEObject.doSave(AbstractComplexEObject.java:483) at com.u2d.model.AbstractComplexEObject$EditState.Save(AbstractComplexEObject.java:728) at sun.reflect.GeneratedMethodAccessor105.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.u2d.element.EOCommand.execute(EOCommand.java:91) at com.u2d.element.EOCommand.execute(EOCommand.java:76) at com.u2d.view.swing.CommandAdapter$1.run(CommandAdapter.java:96)

  7. bugman said 2 days later:

    and another,

    a/ Rapid save contacts -

    org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.u2d.contactmgr.PersonContact#2] at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1699) at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2342) at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2242) at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2542) at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:92) at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106) at com.u2d.persist.HibernatePersistor.save(HibernatePersistor.java:478) at com.u2d.model.AbstractComplexEObject.doSave(AbstractComplexEObject.java:483) at com.u2d.model.AbstractComplexEObject$TransientState.SaveAndClose(AbstractComplexEObject.java:627) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.u2d.element.EOCommand.execute(EOCommand.java:91) at com.u2d.element.EOCommand.execute(EOCommand.java:76) at com.u2d.view.swing.CommandAdapter$1.run(CommandAdapter.java:96)

  8. bugman said 2 days later:

    not a bug but just been using Contacts demo application for less than 15mins with about 100 log items - java.exe is using up more than 120mb of memory.

    Rather excessive considering it's such a trival application - cannot imagine this framework scaling to bigger applications with 100s of users!

  9. bugman said 2 days later:

    and another,

    a/ admin->Edit Preferences

    b/ Rapid Save!

    SEVERE: failed to lazily initialize a collection of role: com.u2d.app.User.classBar.items, no session or session was closed org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.u2d.app.User.classBar.items, no session or session was closed at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358) at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350) at org.hibernate.collection.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:97) at org.hibernate.collection.PersistentList.size(PersistentList.java:91) at java.util.HashSet.(HashSet.java:99) at com.u2d.model.AbstractListEO.filterDuplicates(AbstractListEO.java:108) at com.u2d.model.AbstractListEO.setItems(AbstractListEO.java:116) at com.u2d.model.AbstractListEO.setValue(AbstractListEO.java:88) at com.u2d.field.IndexedField.set(IndexedField.java:188) at com.u2d.model.AbstractComplexEObject.transferCopy(AbstractComplexEObject.java:537) at com.u2d.model.AbstractComplexEObject.setValue(AbstractComplexEObject.java:573) at com.u2d.model.AbstractComplexEObject.setValue(AbstractComplexEObject.java:552) at com.u2d.field.CompositeField.set(CompositeField.java:69) at com.u2d.element.Field.restore(Field.java:99) at com.u2d.persist.PropertyAccessorAdapter$SetterAdapter.set(PropertyAccessorAdapter.java:113) at org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:337) at org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:200) at org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3499) at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:129) at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842) at org.hibernate.loader.Loader.doQuery(Loader.java:717) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224) at org.hibernate.loader.Loader.loadEntity(Loader.java:1784) at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:48) at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:42) at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2977) at org.hibernate.event.def.DefaultRefreshEventListener.onRefresh(DefaultRefreshEventListener.java:123) at org.hibernate.event.def.DefaultRefreshEventListener.onRefresh(DefaultRefreshEventListener.java:39) at org.hibernate.impl.SessionImpl.fireRefresh(SessionImpl.java:902) at org.hibernate.impl.SessionImpl.refresh(SessionImpl.java:886) at com.u2d.persist.HibernatePersistor.refresh(HibernatePersistor.java:208) at com.u2d.model.AbstractComplexEObject.refresh(AbstractComplexEObject.java:1014) at com.u2d.model.AbstractComplexEObject$ReadState.Edit(AbstractComplexEObject.java:662) at sun.reflect.GeneratedMethodAccessor137.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.u2d.element.EOCommand.execute(EOCommand.java:91) at com.u2d.element.EOCommand.execute(EOCommand.java:76) at com.u2d.view.swing.CommandAdapter$1.run(CommandAdapter.java:96)

  10. bugman said 2 days later:

    and another,

    a/ Open log browse window

    b/ Open new log window

    c/ Save the log

    Under certain conditions saving the log yields NPE -

    java.lang.NullPointerException at com.u2d.model.AbstractComplexEObject.doSave(AbstractComplexEObject.java:464) at com.u2d.model.AbstractComplexEObject$EditState.Save(AbstractComplexEObject.java:728) at sun.reflect.GeneratedMethodAccessor105.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.u2d.element.EOCommand.execute(EOCommand.java:91) at com.u2d.element.EOCommand.execute(EOCommand.java:76) at com.u2d.view.swing.CommandAdapter$1.run(CommandAdapter.java:96)

  11. bugman said 2 days later:

    and another,

    In addition getting threading issues with the log save from above

    java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787) at java.util.HashMap$ValueIterator.next(HashMap.java:817) at com.u2d.view.swing.list.JListView.detachItems(JListView.java:151) at com.u2d.view.swing.list.JListView.contentsChanged(JListView.java:126) at com.u2d.view.swing.list.JListView$1.stateChanged(JListView.java:38) at com.u2d.model.AbstractEObject.fireChange(AbstractEObject.java:96) at com.u2d.model.AbstractEObject.fireStateChanged(AbstractEObject.java:84) at com.u2d.model.AbstractComplexEObject.setState(AbstractComplexEObject.java:197) at com.u2d.model.AbstractComplexEObject.setState(AbstractComplexEObject.java:185) at com.u2d.model.AbstractComplexEObject.popState(AbstractComplexEObject.java:224) at com.u2d.model.AbstractComplexEObject.onSave(AbstractComplexEObject.java:132) at com.u2d.persist.HibernatePersistor.save(HibernatePersistor.java:483) at com.u2d.model.AbstractComplexEObject.doSave(AbstractComplexEObject.java:483) at com.u2d.model.AbstractComplexEObject$EditState.Save(AbstractComplexEObject.java:728) at sun.reflect.GeneratedMethodAccessor105.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.u2d.element.EOCommand.execute(EOCommand.java:91) at com.u2d.element.EOCommand.execute(EOCommand.java:76) at com.u2d.view.swing.CommandAdapter$1.run(CommandAdapter.java:96)

  12. bugman said 2 days later:

    After getting all those hibernate exceptions -

    Application does not exit on -

    a/ File->Exit

    The following exception is thrown and the application is still open.

    INFO: Saving Log: 02/04/2007 14:43: admin: Logged Out INFO: Saving Users: admin 4/02/2007 14:43:35 org.hibernate.LazyInitializationException SEVERE: failed to lazily initialize a collection of role: com.u2d.app.Role.restrictions, no session or session was closed org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.u2d.app.Role.restrictions, no session or session was closed at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358) at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350) at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343) at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86) at org.hibernate.collection.PersistentBag.iterator(PersistentBag.java:249) at com.u2d.model.AbstractListEO.iterator(AbstractListEO.java:147) at com.u2d.app.Role.liftRestrictions(Role.java:81) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185) at com.u2d.app.Role$$EnhancerByCGLIB$$84e5b805.liftRestrictions() at com.u2d.app.User.liftRestrictions(User.java:251) at com.u2d.app.AppSession.setUser(AppSession.java:64) at com.u2d.app.AppSession.clearUser(AppSession.java:124) at com.u2d.app.AppSessionContext$AuthMapDefault$AuthMapLoggedInState.Exit(AppSessionContext.java:153) at com.u2d.app.AppSessionContext$AuthMapDefault$AuthMapLoggedInState.onLogout(AppSessionContext.java:160) at com.u2d.app.AppSessionContext.onLogout(AppSessionContext.java:36) at com.u2d.app.AppSession.onLogout(AppSession.java:203) at com.u2d.view.swing.AppFrame.quit(AppFrame.java:312) at com.u2d.view.swing.AppFrame.access$1300(AppFrame.java:29) at com.u2d.view.swing.AppFrame$QuitAction$1.run(AppFrame.java:276) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:461) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110) Exception in thread "AWT-EventQueue-0" org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.u2d.app.Role.restrictions, no session or session was closed at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358) at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350) at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343) at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86) at org.hibernate.collection.PersistentBag.iterator(PersistentBag.java:249) at com.u2d.model.AbstractListEO.iterator(AbstractListEO.java:147) at com.u2d.app.Role.liftRestrictions(Role.java:81) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185) at com.u2d.app.Role$$EnhancerByCGLIB$$84e5b805.liftRestrictions() at com.u2d.app.User.liftRestrictions(User.java:251) at com.u2d.app.AppSession.setUser(AppSession.java:64) at com.u2d.app.AppSession.clearUser(AppSession.java:124) at com.u2d.app.AppSessionContext$AuthMapDefault$AuthMapLoggedInState.Exit(AppSessionContext.java:153) at com.u2d.app.AppSessionContext$AuthMapDefault$AuthMapLoggedInState.onLogout(AppSessionContext.java:160) at com.u2d.app.AppSessionContext.onLogout(AppSessionContext.java:36) at com.u2d.app.AppSession.onLogout(AppSession.java:203) at com.u2d.view.swing.AppFrame.quit(AppFrame.java:312) at com.u2d.view.swing.AppFrame.access$1300(AppFrame.java:29) at com.u2d.view.swing.AppFrame$QuitAction$1.run(AppFrame.java:276) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:461) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110) INFO: Got a new hbm session

  13. bugman said 2 days later:

    Now onto the Sympster demo application

    a/ New speaker

    b/ After getting one of the nasty hibernate exceptions - the application can repeatedly throw exceptions on a swing paint event, I believe -

    Of course the application was unstable afterward and java process had to be killed -

    Exception in thread "AWT-EventQueue-0" org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.u2d.sympster.Speaker.talks, no session or session was clos at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358) at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350) at org.hibernate.collection.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:97) at org.hibernate.collection.PersistentBag.size(PersistentBag.java:225) at com.u2d.list.SimpleListEO.getSize(SimpleListEO.java:58) at com.u2d.view.swing.list.ProxyListModel.getSize(ProxyListModel.java:36) at javax.swing.plaf.basic.BasicListUI.paint(BasicListUI.java:244) at javax.swing.plaf.ComponentUI.update(ComponentUI.java:142) at javax.swing.JComponent.paintComponent(JComponent.java:742) at javax.swing.JComponent.paint(JComponent.java:1005) at javax.swing.JComponent.paintChildren(JComponent.java:842) at javax.swing.JComponent.paint(JComponent.java:1014) at javax.swing.JViewport.paint(JViewport.java:728) at javax.swing.JComponent.paintChildren(JComponent.java:842) at javax.swing.JComponent.paint(JComponent.java:1014) at javax.swing.JComponent.paintChildren(JComponent.java:842) at javax.swing.JComponent.paint(JComponent.java:1014) at javax.swing.JComponent.paintChildren(JComponent.java:842) at javax.swing.JComponent.paint(JComponent.java:1014) at javax.swing.JComponent.paintChildren(JComponent.java:842) at javax.swing.JComponent.paint(JComponent.java:1014) at javax.swing.JComponent.paintChildren(JComponent.java:842) at javax.swing.JComponent.paint(JComponent.java:1014) at javax.swing.JComponent.paintChildren(JComponent.java:842) at javax.swing.JComponent.paint(JComponent.java:1014) at javax.swing.JComponent.paintChildren(JComponent.java:842) at javax.swing.JComponent.paint(JComponent.java:1014) at javax.swing.JComponent.paintChildren(JComponent.java:842) at javax.swing.JComponent.paint(JComponent.java:1014) at javax.swing.JComponent.paintChildren(JComponent.java:842) at javax.swing.JComponent.paint(JComponent.java:1014) at javax.swing.JComponent.paintChildren(JComponent.java:842) at javax.swing.JComponent.paint(JComponent.java:1014) at javax.swing.JComponent.paintChildren(JComponent.java:842) at javax.swing.JComponent.paint(JComponent.java:1014) at javax.swing.JLayeredPane.paint(JLayeredPane.java:559) at javax.swing.JComponent.paintChildren(JComponent.java:842) at javax.swing.JComponent.paint(JComponent.java:1014) at javax.swing.JComponent.paintChildren(JComponent.java:842) at javax.swing.JComponent.paint(JComponent.java:1014) at javax.swing.JComponent.paintChildren(JComponent.java:842) at com.u2d.ui.desktop.EnhDesktopPane.paintChildren(EnhDesktopPane.java:340) at javax.swing.JComponent.paint(JComponent.java:1014) at javax.swing.JLayeredPane.paint(JLayeredPane.java:559) at com.u2d.ui.desktop.EnhDesktopPane.paint(EnhDesktopPane.java:333) at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4963) at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4916) at javax.swing.JComponent._paintImmediately(JComponent.java:4859) at javax.swing.JComponent.paintImmediately(JComponent.java:4666) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:451) at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:114) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:461) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

  14. bugman said 2 days later:

    and another,

    a/ open room's schedule

    b/ double click on the calendar schedule to create a new schedule for that room

    c/ Set time from 6:30am to 7:30am

    d/ Save and close

    e/ The schedule block is not painted correctly and overlaps the date column title.

  15. bugman said 2 days later:

    and another,

    a/ Open a room schedule

    b/ Save two schedules with overlapping times

    c/ Calendar only shows a single schedule on that block.

  16. bugman said 2 days later:

    OK, had enough of this release, finding other people's bugs is not fun and i've only used this thing for the past 2 hours.

    Until the next release... I'm out of here!!!

  17. eitan said 2 days later:

    thanks for the comments.

    lots of changes have taken place since the august release.

    comment 15: this issue is already documented in jmatter's issue tracker (trac)

    comment 9 (rapid save): also in trac. this issue has been resolved.

    Until the next release... I'm out of here!!!

    I put out a new release on Friday.

    sorry i don't have time at the moment to go through all your entries but i will over the coming days.

    thanks. / eitan

  18. bugman said 4 days later:

    The above defects were found in latest release - February 2 2007 Release (Beta1)

  19. eitan said 5 days later:

    bugman, i don't know whether you're on the mailing list or what your email address is. i've read through your comments and jotted down my thoughts on each. if your'e interested, we can start a dialog off this blog? it sounds like you're really hating this framework. perhaps you should consider a competing product?

    sincerely, eitan

  20. Mike Henderson said 15 days later:

    Have you considered incorporating Cayenne (http://cayenne.apache.org/) for persistence in your product.

    It has the ability to 'remote' objects,your swing app communicates via xml with the persistence layer in the application server using the same API as if persisting directly to the database.

    This may impact scalability of applications developed with jMatter

  21. eitan said 17 days later:

    sounds very interesting. i'll check out the documentation. i will post any updates on this topic directly to the mailing list.

Comments are disabled

Powered