<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=US-ASCII">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2658.24">
<TITLE>RE: [Zope-DB] Problem Adding Plone Users (PostgreSQL/APE)</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>Hi Dieter,</FONT>
</P>

<P><FONT SIZE=2>Thanks for the quick reply.&nbsp; I'm not a Python programmer but will keep plugging away at it.&nbsp; In the meantime, maybe someone can make some quick sense out of this traceback and give me a suggestion. </FONT></P>

<P><FONT SIZE=2>Thanks again.</FONT>
<BR><FONT SIZE=2>Steve</FONT>
</P>

<P><FONT SIZE=2>2005-07-23T14:27:38 ERROR(200) SiteError <A HREF="http://170.20.47.44:8080/Portal/join_form" TARGET="_blank">http://170.20.47.44:8080/Portal/join_form</A></FONT>
<BR><FONT SIZE=2>Traceback (most recent call last):</FONT>
<BR><FONT SIZE=2>&nbsp; File &quot;/opt/Zope/lib/python/ZPublisher/Publish.py&quot;, line 107, in publish</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; transactions_manager.commit()</FONT>
<BR><FONT SIZE=2>&nbsp; File &quot;/opt/Zope/lib/python/Zope/App/startup.py&quot;, line 222, in commit</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; get_transaction().commit()</FONT>
<BR><FONT SIZE=2>&nbsp; File &quot;/opt/Zope/lib/python/ZODB/Transaction.py&quot;, line 241, in commit</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; ncommitted += self._commit_objects(objects)</FONT>
<BR><FONT SIZE=2>&nbsp; File &quot;/opt/Zope/lib/python/ZODB/Transaction.py&quot;, line 356, in _commit_objects</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; jar.commit(o, self)</FONT>
<BR><FONT SIZE=2>&nbsp; File &quot;/opt/Zope/data/Products/Ape/lib/apelib/zodb3/connection.py&quot;, line 263, in commit</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; event, classification, state = osio.serialize(oid, obj)</FONT>
<BR><FONT SIZE=2>&nbsp; File &quot;/opt/Zope/data/Products/Ape/lib/apelib/core/io.py&quot;, line 152, in serialize</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; state = mapper.serializer.serialize(event)</FONT>
<BR><FONT SIZE=2>&nbsp; File &quot;/opt/Zope/data/Products/Ape/lib/apelib/core/serializers.py&quot;, line 108, in serialize</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; state = s.serialize(event)</FONT>
<BR><FONT SIZE=2>&nbsp; File &quot;/opt/Zope/data/Products/Ape/lib/apelib/zodb3/serializers.py&quot;, line 256, in serialize</FONT>
<BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp; raise RuntimeError(</FONT>
<BR><FONT SIZE=2>RuntimeError: Unable to pickle the '_members' attribute, &lt;OOBTree object at 0xb094ddb0&gt;, of &lt;MemberDataTool at portal_memberdata&gt; at '17'.&nbsp; Cannot pickle &lt;extension class Acquisition.ImplicitAcquirerWrapper at 1753a0&gt; objects.</FONT></P>

<P><FONT SIZE=2>-----Original Message-----</FONT>
<BR><FONT SIZE=2>From: Dieter Maurer [<A HREF="mailto:dieter@handshake.de">mailto:dieter@handshake.de</A>] </FONT>
<BR><FONT SIZE=2>Sent: Friday, July 29, 2005 2:30 PM</FONT>
<BR><FONT SIZE=2>To: Winn, Steven J</FONT>
<BR><FONT SIZE=2>Cc: 'zope-db@zope.org'</FONT>
<BR><FONT SIZE=2>Subject: Re: [Zope-DB] Problem Adding Plone Users (PostgreSQL/APE)</FONT>
</P>

<P><FONT SIZE=2>Winn, Steven J wrote at 2005-7-28 14:15 -0400:</FONT>
<BR><FONT SIZE=2>&gt;I am running Plone using a PostgreSQL database and it works fine with the</FONT>
<BR><FONT SIZE=2>&gt;exception of adding new users.&nbsp; When I attempt to add a user from the Plone</FONT>
<BR><FONT SIZE=2>&gt;Configuration page, I get the following error:</FONT>
<BR><FONT SIZE=2>&gt;</FONT>
<BR><FONT SIZE=2>&gt;This site encountered an error trying to fulfill your request. The errors</FONT>
<BR><FONT SIZE=2>&gt;were: </FONT>
<BR><FONT SIZE=2>&gt;Error Type </FONT>
<BR><FONT SIZE=2>&gt;RuntimeError </FONT>
<BR><FONT SIZE=2>&gt;Error Message </FONT>
<BR><FONT SIZE=2>&gt;Unable to pickle the '_members' attribute, , of at '17'. Cannot pickle</FONT>
<BR><FONT SIZE=2>&gt;objects. </FONT>
<BR><FONT SIZE=2>&gt;Request made at </FONT>
<BR><FONT SIZE=2>&gt;2005/07/23 14:27:38.481 GMT-4 </FONT>
</P>

<P><FONT SIZE=2>When you get errors, you should look at the traceback!</FONT>
</P>

<P><FONT SIZE=2>The traceback will tell you where (in the code) the exception</FONT>
<BR><FONT SIZE=2>is raised.</FONT>
</P>

<P><FONT SIZE=2>I would catch the exception and analyse the content of the failing</FONT>
<BR><FONT SIZE=2>attribute (to find out what precisely is not picklable).</FONT>
</P>
<BR>

<P><FONT SIZE=2>-- </FONT>
<BR><FONT SIZE=2>Dieter</FONT>
</P>

</BODY>
</HTML>