Thanks Carsten, I've installed the 1.5 final build and the problem has vanished.
Hernan On Thu, 14 Apr 2005, Carsten Blecken wrote: > Hi Hernan, > > did you get a SEGV? I remember fixing a SEGV in getElementAsString > shortly after alpha. So it might worthwhile to try the 1.5 final. > > I have no idea though why it should only happen inside the 4th call > to getElementAsString and not before. > > Carsten > > -----Original Message----- > From: Hernan Silberman [mailto:[EMAIL PROTECTED] > Sent: Thursday, April 14, 2005 6:08 PM > To: [email protected] > Subject: cpp client segfault... > > > > Hi there, > > I'm getting a segfault trying to run my axis-c cpp client: > > (gdb) backtrace > #0 0xb7580fe1 in axiscpp::SoapDeSerializer::getElementAsString () from > /usr/pic1/axis-c-1-5-alpha-linux/lib/libaxiscpp_client.so.0 > #1 0x0804ae79 in Axis_DeSerialize_tLevel (param=0x807f624, pIWSDZ=0x8056010) > at tLevel.cpp:48 > #2 0xb757a46d in axiscpp::SoapDeSerializer::getCmplxArray () from > /usr/pic1/axis-c-1-5-alpha-linux/lib/libaxiscpp_client.so.0 > #3 0xb755dabe in axiscpp::Call::getCmplxArray () from > /usr/pic1/axis-c-1-5-alpha-linux/lib/libaxiscpp_client.so.0 > #4 0x08049b56 in LevelsServicePortType::getFxLevelsForShot (this=0x804ecc0, > Value0=0x804c328 "MAD", Value1=0x804c322 "sq100", Value2=0x804c31f "s1", > Value3=0x804c316 "hsilberm") at LevelsServicePortType.cpp:75 > #5 0x08049221 in main () at LevelsServiceClient.cpp:14 > > >From looking at this trace, the segfault occurs in the following code > generated by axis-c (I've highlighted tLevel.cpp:48): > > int Axis_DeSerialize_tLevel(tLevel* param, IWrapperSoapDeSerializer* pIWSDZ) > { > param->Id = pIWSDZ->getElementAsString( "Id",0); > param->Version = pIWSDZ->getElementAsLong( "Version",0); > param->ProdCode = pIWSDZ->getElementAsString( "ProdCode",0); > param->SequenceName = pIWSDZ->getElementAsString( "SequenceName",0); > 48-->param->ShotName = pIWSDZ->getElementAsString( "ShotName",0); > param->LevelName = pIWSDZ->getElementAsString( "LevelName",0); > param->FxProperty = pIWSDZ->getElementAsString( "FxProperty",0); > param->Note = pIWSDZ->getElementAsString( "Note",0); > param->LevelType = pIWSDZ->getElementAsString( "LevelType",0); > param->IsInPicture = pIWSDZ->getElementAsBoolean( "IsInPicture",0); > return pIWSDZ->getStatus(); > } > > The SOAP message axis-c is deserializing is an array of tLevel instances and > the > segfault occurs while deserializing the first item. > > I've been staring at this for a while now and I can't find my error though > I'm > sure it's another WSDL idiosyncrasy I have yet to learn. I appreciate any > help > you might be able to offer. SOAP messages and WSDL included below. > > I'm using axis-c 1-5 Alpha. My Server is an Axis Java server. My Java > clients > generated by Axis Java work fine with this same WSDL. There were no errors > in > my local AxisClientLog, but I've included the trace that results from the > above > execution at the end of this message. > > thanks in advance... Hernan > > > --- SOAP Response Message: > <?xml version="1.0" encoding="UTF-8"?> > <soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <soapenv:Body> > <getFxLevelsForShotResponse > xmlns="http://www.dreamworks.com/nile/schema/"> > <Element> > <Id>id1</Id> > <Version>9999</Version> > <ProdCode>MAD</ProdCode> > <SequenceName>sq100</SequenceName> > <ShotName>s1</ShotName> > <LevelName>name1</LevelName> > <FxProperty>Dust</FxProperty> > <Note>note1</Note> > <LevelType>Fx</LevelType> > <IsInPicture>true</IsInPicture> > </Element> > <Element> > <Id>id2</Id> > <Version>9999</Version> > <ProdCode>MAD</ProdCode> > <SequenceName>sq100</SequenceName> > <ShotName>s1</ShotName> > <LevelName>name2</LevelName> > <FxProperty>Fire</FxProperty> > <Note>note2</Note> > <LevelType>Fx</LevelType> > <IsInPicture>true</IsInPicture> > </Element> > <Element> > <Id>id3</Id> > <Version>9999</Version> > <ProdCode>MAD</ProdCode> > <SequenceName>sq100</SequenceName> > <ShotName>s1</ShotName> > <LevelName>name3</LevelName> > <FxProperty>Smoke</FxProperty> > <Note>note3</Note> > <LevelType>Fx</LevelType> > <IsInPicture>true</IsInPicture> > </Element> > <Element> > <Id>id4</Id> > <Version>9999</Version> > <ProdCode>MAD</ProdCode> > <SequenceName>sq100</SequenceName> > <ShotName>s1</ShotName> > <LevelName>name4</LevelName> > <FxProperty>Rain</FxProperty> > <Note>note4</Note> > <LevelType>Fx</LevelType> > <IsInPicture>true</IsInPicture> > </Element> > <Element> > <Id>id5</Id> > <Version>9999</Version> > <ProdCode>MAD</ProdCode> > <SequenceName>sq100</SequenceName> > <ShotName>s1</ShotName> > <LevelName>name5</LevelName> > <FxProperty>Flames</FxProperty> > <Note>note5</Note> > <LevelType>Fx</LevelType> > <IsInPicture>true</IsInPicture> > </Element> > <Element> > <Id>id6</Id> > <Version>9999</Version> > <ProdCode>MAD</ProdCode> > <SequenceName>sq100</SequenceName> > <ShotName>s1</ShotName> > <LevelName>name6</LevelName> > <FxProperty>Foam</FxProperty> > <Note>note6</Note> > <LevelType>Fx</LevelType> > <IsInPicture>true</IsInPicture> > </Element> > </getFxLevelsForShotResponse> > </soapenv:Body> > </soapenv:Envelope> > > --- The WSDL: > > <?xml version="1.0"?> > > > > <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" > xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:tns="http://www.dreamworks.com/LevelService/" > targetNamespace="http://www.dreamworks.com/LevelService/" > xmlns:typens="http://www.dreamworks.com/nile/schema/"> > > <types> > <xsd:schema targetNamespace="http://www.dreamworks.com/nile/schema/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > elementFormDefault="qualified" > attributeFormDefault="unqualified"> > > <xsd:element name="getFxLevelsForShot" type="typens:tRequestStruct"/> > <xsd:complexType name="tRequestStruct"> > <xsd:sequence> > <xsd:element name="ProdCode" type="xsd:string"/> > <xsd:element name="SequenceName" type="xsd:string"/> > <xsd:element name="ShotName" type="xsd:string"/> > <xsd:element name="UserLogin" type="xsd:string"/> > </xsd:sequence> > </xsd:complexType> > > <xsd:element name="getFxLevelsForShotResponse" > type="typens:tLevelCollection"/> > <xsd:complexType name="tLevelCollection"> > <xsd:sequence> > <xsd:element name="Element" type="typens:tLevel" minOccurs="0" > maxOccurs="unbounded"/> > </xsd:sequence> > </xsd:complexType> > > > > <xsd:simpleType name="tLevelType"> > <xsd:restriction base="xsd:string"> > <xsd:enumeration value="Fx"/> > <xsd:enumeration value="Char"/> > </xsd:restriction> > </xsd:simpleType> > > <xsd:complexType name="tLevel"> > <xsd:sequence> > <xsd:element name="Id" type="xsd:string"/> > <xsd:element name="Version" type="xsd:long"/> > <xsd:element name="ProdCode" type="xsd:string"/> > <xsd:element name="SequenceName" type="xsd:string"/> > <xsd:element name="ShotName" type="xsd:string"/> > <xsd:element name="LevelName" type="xsd:string"/> > <xsd:element name="FxProperty" type="xsd:string" nillable="true"/> > <xsd:element name="Note" type="xsd:string" nillable="true"/> > <xsd:element name="LevelType" type="typens:tLevelType"/> > <xsd:element name="IsInPicture" type="xsd:boolean"/> > </xsd:sequence> > </xsd:complexType> > > > > </xsd:schema> > </types> > > <!-- message declns --> > <message name="getFxLevelsForShotRequest"> > <part element="typens:getFxLevelsForShot"/> > </message> > <message name="getFxLevelsForShotResponse"> > <part element="typens:getFxLevelsForShotResponse"/> > </message> > > <!-- port type declns --> > <portType name="LevelsServicePortType"> > <operation name="getFxLevelsForShot"> > <input name="getFxLevelsForShotRequest" > message="tns:getFxLevelsForShotRequest"/> > <output name="getFxLevelsForShotResponse" > message="tns:getFxLevelsForShotResponse"/> > </operation> > </portType> > > <!-- binding declns --> > <binding name="LevelsServicePortSoapBinding" > type="tns:LevelsServicePortType"> > <soapbind:binding > transport="http://schemas.xmlsoap.org/soap/http" > style="document"/> > <operation name="getFxLevelsForShot"> > <soapbind:operation soapAction=""/> > <input name="getFxLevelsForShotRequest"> > <soapbind:body use="literal"/> > </input> > <output name="getFxLevelsForShotResponse"> > <soapbind:body use="literal"/> > </output> > </operation> > </binding> > > <service name="LevelsService"> > <port name="LevelsService" binding="tns:LevelsServicePortSoapBinding"> > <soapbind:address > location="http://localhost:8080/nile/services/LevelsService"/> > </port> > </service> > > </definitions> > > > > --------- Axis C++ trace ---------- > Axis C++ libraries built on Feb 8 2005 at 12:19:34 > Trace produced on Thu Apr 14 18:06:07 2005 > > Dumping environment variables... > PATH=/usr/pic1/xerces-c-LINUX-c++-2_2_0/bin:/opt/java/j2sdk1.4.2_06/bin:/usr/pic1/apache-ant-1.6.2/bin:/home/oracle/product/9.2.0.5/bin:/pdi/cmd.apr:/pdi/cmd.apr/third_party/wrappers:/usr/local/bin:/usr/kerberos/bin:/usr/bin:/usr/sbin:/bin:/sbin:/usr/bsd:/etc:/usr/etc:/usr/bin/X11:/usr/sw/platform/lsf5.1/bin:/usr/java/bin:/usr/sw/nile/client:/usr/sw/nile/bin:/home/oracle/product/8.1.7/bin > LIBPATH was not set > LD_LIBRARY_PATH=/usr/pic1/xerces-c-LINUX-c++-2_2_0/lib:/usr/pic1/axis-c-1-5-alpha-linux/lib:/usr/lib:/usr/remote/lib:/usr/local/lib:/home/oracle/product/9.2.0.5/lib:/usr/lib:/usr/remote/lib:/usr/local/lib:/home/oracle/product/8.1.7/lib > AXISCPP_DEPLOY was not set > PWD=/usr/pic1/axis-c-1-5-alpha-linux/samples/client/levels/output > CLASSPATH was not set > INCLUDE was not set > LIB was not set > NLSPATH was not set > OS was not set > COMPUTERNAME was not set > USERNAME=hsilberm > HOSTNAME=tear > LANG=en_US > LOGIN was not set > LOGNAME=hsilberm > MACHTYPE=i386 > OSTYPE=Linux > UID was not set > USER=hsilberm > -------------- Config File settings START ---------------- > AXCONF_WSDDFILEPATH = NULL > AXCONF_LOGPATH = /usr/pic1/log/AxisLog > AXCONF_CLIENTLOGPATH = /usr/pic1/log/AxisClientLog > AXCONF_CLIENTWSDDFILEPATH = NULL > AXCONF_AXISHOME = NULL > AXCONF_TRANSPORTHTTP = > /usr/pic1/axis-c-1-5-alpha-linux/lib/libaxis3_transport.so > AXCONF_TRANSPORTSMTP = NULL > AXCONF_XMLPARSER = /usr/pic1/axis-c-1-5-alpha-linux/lib/libaxis_xercesc.so > AXCONF_NODENAME = server name > AXCONF_LISTENPORT = listen port > AXCONF_SSLCHANNEL_HTTP = Unknown > AXCONF_CHANNEL_HTTP = > /usr/pic1/axis-c-1-5-alpha-linux/lib/libaxis3_transport_channel.so > AXCONF_SECUREINFO = NULL > -------------- Config File settings END OF ---------------- > > -- Hernan Silberman PDI/Dreamworks ext.29162 / 650-562-9162 / cell 415-810-5809 text pager: [EMAIL PROTECTED]
