As Gabriel Genellina said earlier in this discussion, the probleme could come from the dicoLignes variable that is stored in the session.I don't get it, the exception says that the Increaser object is responsible of the conflict error :
<br><br>
ZODB.POSException.ConflictError database conflict error (oid 0x09,
class Products.Transience.Transience.Increaser, serial this txn started
with 0x036b192256c66688 2007-01-23 16:34:20.337891, serial currently
committed 0x036b19236a4be0ee 2007-01-23 16:35:24.913219)<br><br>But the Increaser class has a _p_resolveConflict method : <br><br>&lt;code&gt;<br>
class Increaser(Persistent):<br>
&nbsp;&nbsp;&nbsp; &quot;&quot;&quot;<br>
&nbsp;&nbsp;&nbsp; A persistent object representing a typically increasing integer that<br>
&nbsp;&nbsp;&nbsp; has conflict resolution which uses the greatest integer out of the three<br>
&nbsp;&nbsp;&nbsp; available states.<br>
&nbsp;&nbsp;&nbsp; &quot;&quot;&quot;<br>
&nbsp;&nbsp;&nbsp; ...<br>
&nbsp;&nbsp;&nbsp; def _p_resolveConflict(self, old, state1, state2):<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return max(old, state1, state2)<br>
<br>
&lt;/code&gt;<br>
<br><a href="http://www.zope.org/Members/jim/ZODB/ApplicationLevelConflictResolution">http://www.zope.org/Members/jim/ZODB/ApplicationLevelConflictResolution</a> says :<br>&quot;&quot; When a conflict is detected, then the
database checks to see if the class of the object being saved defines
the method, <code>_p_resolveConflict</code>. If the method is defined, then the
method is called on the object. If the method succeeds, then the object
change can be committed, otherwise a <code>ConflictError</code> is raised as
usual.&quot;&quot;<br><br>But how can the simple instruction return max(old,state1,state2) not &quot;succeed&quot; ??!!<br><br>anyway, i decided to rewrite it like this :<br>&lt;code&gt;<br>&nbsp;&nbsp;&nbsp; def _p_resolveConflict(self, old, state1, state2):
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; number = max(old,state1,state2)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; except Exception,msg:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; import traceback<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; traceback.print_exc(file=sys.stdin)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return max(old, state1, state2)
<br>&lt;/code&gt;<br><br>And still the same exception is raised !<br><br>&lt;traceback on the console&gt;<br>exception raised in the publish module, in function publish<br>Traceback (most recent call last):<br>&nbsp; File &quot;/opt/aef/Zope-
2.9.0/lib/python/ZPublisher/Publish.py&quot;, line 119, in publish<br>&nbsp;&nbsp;&nbsp; transactions_manager.commit()<br>&nbsp; File &quot;/opt/aef/Zope-2.9.0//lib/python/Zope2/App/startup.py&quot;, line 234, in commit<br>&nbsp;&nbsp;&nbsp; transaction.commit
()<br>&nbsp; File &quot;/opt/aef/Zope-2.9.0//lib/python/transaction/_manager.py&quot;, line 96, in commit<br>&nbsp;&nbsp;&nbsp; return self.get().commit(sub, deprecation_wng=False)<br>&nbsp; File &quot;/opt/aef/Zope-2.9.0//lib/python/transaction/_transaction.py&quot;, line 380, in commit
<br>&nbsp;&nbsp;&nbsp; self._saveCommitishError() # This raises!<br>&nbsp; File &quot;/opt/aef/Zope-2.9.0//lib/python/transaction/_transaction.py&quot;, line 378, in commit<br>&nbsp;&nbsp;&nbsp; self._commitResources()<br>&nbsp; File &quot;/opt/aef/Zope-2.9.0//lib/python/transaction/_transaction.py&quot;, line 433, in _commitResources
<br>&nbsp;&nbsp;&nbsp; rm.commit(self)<br>&nbsp; File &quot;/opt/aef/Zope-2.9.0//lib/python/ZODB/Connection.py&quot;, line 484, in commit<br>&nbsp;&nbsp;&nbsp; self._commit(transaction)<br>&nbsp; File &quot;/opt/aef/Zope-2.9.0//lib/python/ZODB/Connection.py&quot;, line 526, in _commit
<br>&nbsp;&nbsp;&nbsp; self._store_objects(ObjectWriter(obj), transaction)<br>&nbsp; File &quot;/opt/aef/Zope-2.9.0//lib/python/ZODB/Connection.py&quot;, line 554, in _store_objects<br>&nbsp;&nbsp;&nbsp; s = self._storage.store(oid, serial, p, self._version, transaction)
<br>&nbsp; File &quot;/opt/aef/Zope-2.9.0//lib/python/tempstorage/TemporaryStorage.py&quot;, line 200, in store<br>&nbsp;&nbsp;&nbsp; data=data)<br>ConflictError: database conflict error (oid 0x09, class Products.Transience.Transience.Increaser
, serial this txn started with 0x036b1eec70e150ee 2007-01-24 17:16:26.456283, serial currently committed 0x036b1eee46e27955 2007-01-24 17:18:16.613593)<br>&lt;/traceback&gt;<br><br>(i edited publish.py and added a traceback.print_exc
(file=stdin) instruction in the beginning of the except block).<br><br><br><br>Y.Chaouche<br><br><div><span class="gmail_quote">2007/1/23, Maciej Wisniowski &lt;<a href="mailto:maciej.wisniowski@coig.katowice.pl">maciej.wisniowski@coig.katowice.pl
</a>&gt;:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; And here is the exception that is raised:<br>&gt;<br>&gt; exception raised in the publish module, in function publish
<br>&gt; ZODB.POSException.ConflictError database conflict error (oid 0x09, class<br>&gt; Products.Transience.Transience.Increaser, serial this txn started with<br>&gt; 0x036b192256c66688 2007-01-23 16:34:20.337891, serial currently committed
<br>&gt; 0x036b19236a4be0ee 2007-01-23 16:35:24.913219)<br>&gt;<br>&gt; What happend ?<br>Sorry for doing that but I&#39;ll send you to list archives.<br>There were a lot of threads about conflict errors. I think<br>you&#39;ll find them helpful.
<br><br>--<br>Maciej Wisniowski<br><br></blockquote></div><br>