Return-Path: Delivered-To: apmail-ws-tuscany-dev-archive@locus.apache.org Received: (qmail 60115 invoked from network); 5 Apr 2007 22:04:02 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 5 Apr 2007 22:04:02 -0000 Received: (qmail 62027 invoked by uid 500); 5 Apr 2007 22:04:05 -0000 Delivered-To: apmail-ws-tuscany-dev-archive@ws.apache.org Received: (qmail 61985 invoked by uid 500); 5 Apr 2007 22:04:05 -0000 Mailing-List: contact tuscany-dev-help@ws.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: tuscany-dev@ws.apache.org Delivered-To: mailing list tuscany-dev@ws.apache.org Received: (qmail 61968 invoked by uid 99); 5 Apr 2007 22:04:04 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Apr 2007 15:04:04 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Apr 2007 15:03:56 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 3328A714070 for ; Thu, 5 Apr 2007 15:03:36 -0700 (PDT) Message-ID: <23655536.1175810616197.JavaMail.jira@brutus> Date: Thu, 5 Apr 2007 15:03:36 -0700 (PDT) From: "Caroline Maynard (JIRA)" To: tuscany-dev@ws.apache.org Subject: [jira] Updated: (TUSCANY-1203) Yet another AccessViolation in DataObjectImpl::~DataObjectImpl In-Reply-To: <6154736.1175805992271.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/TUSCANY-1203?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Caroline Maynard updated TUSCANY-1203: -------------------------------------- Patch Info: [Patch Available] I'vve added to 1147 a combined patch for 1147, 1202 and 1203, which should be simpler to apply. > Yet another AccessViolation in DataObjectImpl::~DataObjectImpl > -------------------------------------------------------------- > > Key: TUSCANY-1203 > URL: https://issues.apache.org/jira/browse/TUSCANY-1203 > Project: Tuscany > Issue Type: Bug > Components: C++ SDO > Affects Versions: Cpp-current > Environment: PHP > Reporter: Caroline Maynard > Attachments: Tuscany-1203.patch > > > This one occurs when deleting a DataObject which has several open properties. The logic in the destructor is: > while (i != PropertyValues.end()) > { > unsigned int pindx = (*i).first; > DataObjectImplPtr dol = (*i).second; > unset(pindx); > i = PropertyValues.begin(); > if (i != PropertyValues.end() && (*i).first == pindx ) > { > // unset has not removed the item from the list - do it > // here instead > PropertyValues.erase(i); > i = PropertyValues.begin(); > } > } > However what happens in the unset() method is that if the property is open, undefineProperty() is called. This removes the open property and "shuffles up" the rest, so that a different property is assigned the property index pindx. Which means that even though the unset has removed the item from the list, the test (*).first==pindx passes, which results in the next property being removed from the list even though it has not yet been unset. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org For additional commands, e-mail: tuscany-dev-help@ws.apache.org