axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hernan Silberman <hsilb...@pdi.com>
Subject RE: cpp client segfault...
Date Fri, 15 Apr 2005 05:13:56 GMT

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:hsilberm@pdi.com]
> Sent: Thursday, April 14, 2005 6:08 PM
> To: axis-c-user@ws.apache.org
> 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: page-hsilberm@anim.dreamworks.com


Mime
View raw message