[prev in list] [next in list] [prev in thread] [next in thread] 

List:       axis-c-user
Subject:    Re: Axis C 1.4 support for 64bit architecture - unknown exception
From:       "Radoslav Dorcik" <dixiecko () gmail ! com>
Date:       2007-06-27 16:37:24
Message-ID: 4ed355a90706270937g7dba4212wfecfc0a4759f3b18 () mail ! gmail ! com
[Download RAW message or body]

Hi Guys,

we finaly found issue with Axis 1.4 C lib on 64 bit architecture since they
are using "unsigned int" as storage for "string::npos"
but string::npos on 64 bit architecture is 8 bytes. And when they do
something like this:
unsigned int npos = string.find...("fo");  /* not found, returns npos */
if(npos == string::npos)
{
   //not reached on 64 bit
}

These classes are affected:
BasicTypeSerializer.cpp
Axis2Transport.cpp

Now i don't know what to do...

Regards,
Radoslav


On 6/27/07, Radoslav Dorcik <dixiecko@gmail.com> wrote:
>
> Hello Guys,
>
> we decided to use Axis C 1.4 for our project (simple SOAP client
> communication). Problem is that 64 bit compiled version of libraries doesn't
> work:
> I got unknown exception in (found by tracing in gdb)
> axispp::SoapMethod::serializeOutputParam() and program is aborted
>
> This part of code causes the Exception in Axis library:
> for(<list<Param*>::iterator it = m_OutputParams.begin(); it !=
> m_OutputParams.end(); it++)
>
> This part of code causes the Exception in STL (probably list):
> { return static_cast<_Node*>(_M_node)->_M_data; }
>
> It happens during "invoke" call of WS client generated by WSDL2C but also
> with Soap Test suite included in Axis C++ 1.4.
>
> With 1.6b we were able to run SOAP client communication. Param.h/Param.cpp
> is different between 1.6b and 1.4 version of Axis C++.
>
> sk1u05r9@sk16496c:~> uname -a
> Linux sk16496c 2.6.5-7.244-smp #1 SMP Mon Dec 12 18:32:25 UTC 2005 x86_64
> x86_64 x86_64 GNU/Linux
>
> Can be Axis 1.4 C used on above machine ? Do you need more informations ?
>
> 32bit version (libs and apps) are working fine with that machine but our
> application should be compiled as 64 binary.
>
> Thanks,
> Radoslav Dorcik
>
>

[Attachment #3 (text/html)]

Hi Guys,<br><br>we finaly found issue with Axis 1.4 C lib on 64 bit architecture \
since they are using &quot;unsigned int&quot; as storage for \
&quot;string::npos&quot;<br>but string::npos on 64 bit architecture is 8 bytes. And \
when they do something like this: <br>unsigned int npos = \
string.find...(&quot;fo&quot;);&nbsp; /* not found, returns npos */<br>if(npos == \
string::npos)<br>{<br>&nbsp;&nbsp; //not reached on 64 bit<br>}<br><br>These classes \
are affected:<br>BasicTypeSerializer.cpp<br>Axis2Transport.cpp <br><br>Now i \
don&#39;t know what to do... <br><br>Regards,<br>Radoslav<br><br><br><div><span \
class="gmail_quote">On 6/27/07, <b class="gmail_sendername">Radoslav Dorcik</b> \
&lt;<a href="mailto:dixiecko@gmail.com">dixiecko@gmail.com </a>&gt; \
wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, \
204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hello Guys,<br><br>we \
decided to use Axis C 1.4 for our project (simple SOAP client communication). Problem \
is that 64 bit compiled version of libraries doesn&#39;t work: <br>I got unknown \
exception in (found by tracing in gdb) axispp::SoapMethod::serializeOutputParam() and \
program is aborted <br><br>This part of code causes the Exception in Axis \
library:<br>for(&lt;list&lt;Param*&gt;::iterator it = m_OutputParams.begin(); it != \
m_OutputParams.end(); it++)<br><br>This part of code causes the Exception in STL \
(probably list): <br>{ return static_cast&lt;_Node*&gt;(_M_node)-&gt;_M_data; \
}<br><br>It happens during &quot;invoke&quot; call of WS client generated by WSDL2C \
but also with Soap Test suite included in Axis C++ 1.4.<br><br>With 1.6b we were able \
to run SOAP client communication.  Param.h/Param.cpp is different between 1.6b and \
1.4 version of Axis C++.<br><br>sk1u05r9@sk16496c:~&gt; uname -a<br>Linux sk16496c \
2.6.5-7.244-smp #1 SMP Mon Dec 12 18:32:25 UTC 2005 x86_64 x86_64 x86_64 \
GNU/Linux<br><br>

Can be Axis 1.4 C used on above machine ? Do you need more informations \
?<br><br>32bit version (libs and apps) are working fine with that machine but our \
application should be compiled as 64 binary.<br><br>Thanks,<br><span class="sg"> \
Radoslav Dorcik <br>
</span><br clear="all"></blockquote></div><br>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic