Not a problem. Is there a simple fix I can implement. I am trying to prototype a failover capability and I am dead in the water without the bsave/bload functionality working. I have the source code. I will be happy to figure out a temporary fix if you can just point me in the right direction. Thanks.
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of friedman_hill ernest j Sent: Thursday, June 22, 2006 9:43 AM To: jess-users@sandia.gov Subject: Re: JESS: Help with error I think Krasnigor, Scott L (N-AST) wrote: > I am getting the following exception when trying to do a bsave. It is > occurring when the bsave method is executing oss.writeObject(m_rules). > I don't understand what could be causing this and am looking for any > insight into the issue. I am running Jess version 70b7 from a java > application. I will be happy to provide more detail if needed. Thanks. Looks like this is caused by new rules being activated during the call to "bsave," presumably because working memory is being modified on another thread. I'm surprised this has never come up before, because thinking of it, it seems that bsave() should probably lock the agenda and working memory while it runs -- but it does not. Thanks for reporting this. > > Jess reported an error in routine bsave > while executing (bsave enginedata). > Message: Error during execution. > Program text: ( bsave enginedata ) at line 1. > at jess.Funcall.execute(Funcall.java:328) > at jess.Jesp.parseAndExecuteFuncall(Jesp.java:2261) > at jess.Jesp.parseExpression(Jesp.java:436) > at jess.Jesp.promptAndParseOneExpression(Jesp.java:291) > at jess.Jesp.parse(Jesp.java:270) > at jess.Rete.eval(Rete.java:2051) > at jess.Rete.eval(Rete.java:2006) > at control.Controller.run(Controller.java:67) > at java.lang.Thread.run(Unknown Source) Caused by: > java.util.ConcurrentModificationException > at java.util.HashMap$HashIterator.nextEntry(Unknown Source) > at java.util.HashMap$EntryIterator.next(Unknown Source) > at java.util.HashMap$EntryIterator.next(Unknown Source) > at java.util.HashMap.writeObject(Unknown Source) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source) > at java.io.ObjectOutputStream.writeSerialData(Unknown Source) > at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown > Source) > at java.io.ObjectOutputStream.writeObject0(Unknown Source) > at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source) > at java.io.ObjectOutputStream.writeSerialData(Unknown Source) > at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown > Source) > at java.io.ObjectOutputStream.writeObject0(Unknown Source) > at java.io.ObjectOutputStream.writeObject(Unknown Source) > at java.util.TreeMap.writeObject(Unknown Source) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source) > at java.io.ObjectOutputStream.writeSerialData(Unknown Source) > at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown > Source) > at java.io.ObjectOutputStream.writeObject0(Unknown Source) > at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source) > at java.io.ObjectOutputStream.defaultWriteObject(Unknown Source) > at java.util.Collections$SynchronizedMap.writeObject(Unknown > Source) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source) > at java.io.ObjectOutputStream.writeSerialData(Unknown Source) > at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown > Source) > at java.io.ObjectOutputStream.writeObject0(Unknown Source) > at java.io.ObjectOutputStream.writeObject(Unknown Source) > at jess.Rete.bsave(Rete.java:1768) > at jess.Dumper.call(DumpFunctions.java:43) > at jess.FunctionHolder.call(FunctionHolder.java:31) > at jess.Funcall.execute(Funcall.java:320) > ... 8 more > > Scott L. Krasnigor > Principal Engineer/Scientist > Advanced Sciences & Technologies, LLC. > Lockheed Martin - MS2 > ' 856-359-3094 > * [EMAIL PROTECTED] > * 780-1A > --------------------------------------------------------- Ernest Friedman-Hill Advanced Software Research Phone: (925) 294-2154 Sandia National Labs FAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov -------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED] -------------------------------------------------------------------- -------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED] --------------------------------------------------------------------