Hello Ivan,

On 10/25/2012 10:14 AM, Ivan Loskutov wrote:
> Hello,
> 
> I have an issue in lwip again. I ported the xmlrpc++ library to
> genode but simple test is failed.  I have messages in log:
> 
> no RM attachment (READ pf_addr=28 pf_ip=1183823 from 2df000)
> invalid signal-context capability
> virtual void Genode::Pager_activation_base::entry(): Could not resolve
> pf=28 ip=1183823
> 
> I tried to trace the error and found then the issue occurred in select
> function in lwip. Xmlrpc++ server does this call and sometime
> occurred this error. The error occurred in select function and control
> doesn't return to server code. The same code on host worked without
> issues. Sample code is in
> commit 
> https://github.com/Ksys-labs/genode/commit/f567619f5f0a50e7eed74e9565ddae1320a016a0
> I ran the server in qemu and client from xmlrpc++ on my host.
> Any ideas?

I've tried your test and could reproduce the error, it seems not to
occur in LWIP but rather in 'stdcxx.lib.so' (I attached the backtrace,
you can observe that eax is 0x28). The last XmlRpc functions called are:
'XmlRpc::XmlRpcServerConnection::parseRequest' and the
'XmlRpc::XmlRpcValue::operator='. Maybe the provided data is corrupt.
Unfortunately I cannot investigate this further right now.

Greetings,

Sebastian



-- 
Sebastian Sumpf
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth



#0  std::basic_string<char, std::char_traits<char>, std::allocator<char> 
>::basic_string (this=0x265b4, __str=...) at 
/home/cbass/backup/src/genode/genode.git/libports/include/stdcxx/bits/basic_string.tcc:175
#1  0x011aea1c in pair (this=0x265b4) at 
/home/cbass/backup/src/genode/genode.git/libports/include/stdcxx/bits/stl_pair.h:87
#2  construct (__val=..., __p=0x265b4, this=<optimized out>) at 
/home/cbass/backup/src/genode/genode.git/libports/include/stdcxx/ext/new_allocator.h:108
#3  _M_create_node (__x=..., this=0x26560) at 
/home/cbass/backup/src/genode/genode.git/libports/include/stdcxx/bits/stl_tree.h:381
#4  _M_clone_node (__x=0x18, this=0x26560) at 
/home/cbass/backup/src/genode/genode.git/libports/include/stdcxx/bits/stl_tree.h:427
#5  std::_Rb_tree<std::string, std::pair<std::string const, 
XmlRpc::XmlRpcValue>, std::_Select1st<std::pair<std::string const, 
XmlRpc::XmlRpcValue> >, std::less<std::string>, 
std::allocator<std::pair<std::string const, XmlRpc::XmlRpcValue> > >::_M_copy 
(this=0x26560, __x=0x18, __p=0x26564) at 
/home/cbass/backup/src/genode/genode.git/libports/include/stdcxx/bits/stl_tree.h:1026
#6  0x011aec96 in _Rb_tree (__x=..., this=0x26560) at 
/home/cbass/backup/src/genode/genode.git/libports/include/stdcxx/bits/stl_tree.h:627
#7  map (__x=..., this=0x26560) at 
/home/cbass/backup/src/genode/genode.git/libports/include/stdcxx/bits/stl_map.h:173
#8  XmlRpc::XmlRpcValue::operator= (this=0x26358, rhs=...) at 
/home/cbass/backup/src/genode/genode.git/libports/contrib/xmlrpc++0.7/src/XmlRpcValue.cpp:133
#9  0x011aed6e in XmlRpcValue (rhs=..., this=0x26358) at 
/home/cbass/backup/src/genode/genode.git/libports/contrib/xmlrpc++0.7/src/XmlRpcValue.h:70
#10 _Construct<XmlRpc::XmlRpcValue, XmlRpc::XmlRpcValue> (__value=..., 
__p=0x26358) at 
/home/cbass/backup/src/genode/genode.git/libports/include/stdcxx/bits/stl_construct.h:84
#11 __uninit_copy<__gnu_cxx::__normal_iterator<XmlRpc::XmlRpcValue const*, 
std::vector<XmlRpc::XmlRpcValue> >, XmlRpc::XmlRpcValue*> (__result=0x26340, 
__last=..., __first=...)
    at 
/home/cbass/backup/src/genode/genode.git/libports/include/stdcxx/bits/stl_uninitialized.h:77
#12 uninitialized_copy<__gnu_cxx::__normal_iterator<XmlRpc::XmlRpcValue const*, 
std::vector<XmlRpc::XmlRpcValue> >, XmlRpc::XmlRpcValue*> (__result=0x26340, 
__last=..., __first=...)
    at 
/home/cbass/backup/src/genode/genode.git/libports/include/stdcxx/bits/stl_uninitialized.h:119
#13 __uninitialized_copy_a<__gnu_cxx::__normal_iterator<XmlRpc::XmlRpcValue 
const*, std::vector<XmlRpc::XmlRpcValue> >, XmlRpc::XmlRpcValue*, 
XmlRpc::XmlRpcValue> (__result=0x26340, __last=..., __first=...)
    at 
/home/cbass/backup/src/genode/genode.git/libports/include/stdcxx/bits/stl_uninitialized.h:259
#14 vector (__x=..., this=0x153c0) at 
/home/cbass/backup/src/genode/genode.git/libports/include/stdcxx/bits/stl_vector.h:280
#15 XmlRpc::XmlRpcValue::operator= (this=0x153ac, rhs=...) at 
/home/cbass/backup/src/genode/genode.git/libports/contrib/xmlrpc++0.7/src/XmlRpcValue.cpp:132
#16 0x011a86c9 in XmlRpc::XmlRpcServerConnection::parseRequest (this=0x172fc, 
params=...) at 
/home/cbass/backup/src/genode/genode.git/libports/contrib/xmlrpc++0.7/src/XmlRpcServerConnection.cpp:242
#17 0x011ab4ea in XmlRpc::XmlRpcServerConnection::executeRequest (this=0x172fc) 
at 
/home/cbass/backup/src/genode/genode.git/libports/contrib/xmlrpc++0.7/src/XmlRpcServerConnection.cpp:211
#18 0x011a83b4 in XmlRpc::XmlRpcServerConnection::writeResponse (this=0x172fc) 
at 
/home/cbass/backup/src/genode/genode.git/libports/contrib/xmlrpc++0.7/src/XmlRpcServerConnection.cpp:180
#19 0x011a85a8 in XmlRpc::XmlRpcServerConnection::handleEvent (this=0x172fc) at 
/home/cbass/backup/src/genode/genode.git/libports/contrib/xmlrpc++0.7/src/XmlRpcServerConnection.cpp:61
#20 0x011a5da8 in XmlRpc::XmlRpcDispatch::work (this=0x1005f4c <s+12>, 
timeout=-1) at 
/home/cbass/backup/src/genode/genode.git/libports/contrib/xmlrpc++0.7/src/XmlRpcDispatch.cpp:133
#21 0x011a6bc4 in XmlRpc::XmlRpcServer::work (this=0x1005f40 <s>, msTime=-1) at 
/home/cbass/backup/src/genode/genode.git/libports/contrib/xmlrpc++0.7/src/XmlRpcServer.cpp:127
#22 0x010005e0 in main (argc=1, argv=0x1005ee4 <argv>) at 
/home/cbass/backup/src/genode/genode.git/libports/contrib/xmlrpc++0.7/test/HelloServer.cpp:78
(gdb) p registers
No symbol "registers" in current context.
(gdb) info registers
eax            0x28     40
ecx            0xcc0    3264
edx            0x265a4  157092
ebx            0x118d614        18404884
esp            0x1016b60        0x1016b60
ebp            0x26358  0x26358
esi            0x18     24
edi            0x265b4  157108
eip            0x11837f3        0x11837f3 <std::basic_string<char, 
std::char_traits<char>, std::allocator<char> 
>::basic_string(std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&)+19>
eflags         0x3216   [ PF AF IF #12 #13 ]
cs             0x1b     27
ss             0x23     35
ds             0x23     35
es             0x23     35
fs             0x43     67
gs             0x43     67
(gdb) 

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
Genode-main mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/genode-main

Reply via email to