Re: [Cppcms-users] Segmentation fault on FreeBSD in high load
Brought to you by:
artyom-beilis
From: Vinicius P. <ds...@ha...> - 2012-08-07 05:21:24
|
Thanks for your reply Artyom, I'm checking my code, taking the smaller part that reproduce this bug to understand it, if needed can send but this only happens on FreeBSD. Is CppCMS under FreeBSD considered ok for production or it's mainly Linux? The line at #2 is just: set_content_header("text/html"), inside http_response.cpp, this looks very strange to me, it's very ok. I don't have info.h in my files so i'm assuming it's booster/booster/locale/info.h, is this correct, The code is very simple, just getting data from mysql with cppdb and rendering a template with the data into a variable, but the dump don't show any of my code in the backtrace. Valgrind shows me a lot of problems in FreeBSD like: ==74403== Mismatched free() / delete / delete [] ==74403== at 0x1020EDE: free (in /usr/local/lib/valgrind/vgpreload_memcheck-amd64-freebsd.so) ==74403== by 0x1C51DB4: std::locale::_Impl::~_Impl() (in /basejail/usr/lib/libstdc++.so.6) ==74403== by 0x1C5260C: std::locale::~locale() (in /basejail/usr/lib/libstdc++.so.6) ==74403== by 0x12D4F7E: cppcms::impl::service::~service() (service.cpp:991) ==74403== by 0x12D5440: cppcms::service::~service() (hold_ptr.h:27) And sometimes I got this: (gdb) bt #0 0x0000000801281ae4 in std::locale::_Impl::~_Impl () from /usr/lib/libstdc++.so.6 #1 0x000000080128239d in std::locale::~locale () from /usr/lib/libstdc++.so.6 #2 0x000000080092f168 in ~response (this=Variable "this" is not available. ) at basic_ios.h:268 #3 0x0000000800939dbf in ~context (this=0x80e3ffaf0) at memory:259 #4 0x000000080093d802 in booster::detail::sp_counted_impl_p<cppcms::http::context>::dispose (this=Variable "this" is not available. ) at checked_delete.h:30 #5 0x0000000800cee2e9 in booster::detail::sp_counted_base::release (this=0x80f7f9f40) at /root/work/cppcms-1.0.1/booster/lib/smart_ptr/src/sp_counted_base.cpp:272 #6 0x000000080093cf2d in ~callable_impl (this=0x8077c5940) at shared_count.h:115 #7 0x00000008009202d6 in ~callable_impl (this=0x807a8ee70) at intrusive_ptr.h:68 #8 0x0000000800a26adb in ~callable_impl (this=0x80f7f9fd0) at refcounted.h:58 #9 0x0000000800ceb8e7 in ~reader_some (this=0x804bb0040) at refcounted.h:58 #10 0x0000000800cdef1d in ~callable_impl (this=0x804bf90a0) at refcounted.h:58 #11 0x0000000800ce04af in booster::aio::event_loop_impl::run_one (this=0x804842200, evs=0x80480e000, evs_size=128) at refcounted.h:58 #12 0x0000000800cdd349 in booster::aio::io_service::run (this=Variable "this" is not available. ) at /root/work/cppcms-1.0.1/booster/lib/aio/src/io_service.cpp:144 #13 0x0000000800909dde in cppcms::service::run (this=0x7fffffffda88) at /root/work/cppcms-1.0.1/src/service.cpp:574 #14 0x0000000000403b71 in main (argc=3, argv=0x7fffffffdaf8) at wep.cpp:71 Thank you very much for your time, Vinicius Em 07/08/2012, às 00:57, Artyom Beilis escreveu: > See: > > 1 0x0000000800939cb3 in cppcms::http::response::set_content_header (this=0x80ba7ac00, content_type=@0x7fffffffd590) at info.h:83 > > It looks like content_type you pass in info.h line 83 has very strange address 0x7fffffffd590 - i.e. it is very close to 0x7FFFFFFFF > It seems strange to me check your code. > > Artyom Beilis > -------------- > CppCMS - C++ Web Framework: http://cppcms.com/ > CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ > > From: Vinicius Pavanelli <ds...@ha...> > To: cpp...@li... > Sent: Tuesday, August 7, 2012 5:15 AM > Subject: [Cppcms-users] Segmentation fault on FreeBSD in high load > > Hi, > > I'm new to CppCMS and been doing some work on it, too see where I get. > When I run the code on Linux/Gentoo it works fine, on FreeBSD it runs fine too, but on high loads it crashs (like when testing with siege). > Can anyone help me on what may be wrong with it? It's my code, something on FreeBSD? > > By the way, I got 22k trans/sec with CppCMS on Gentoo, running the embedded web server, the Apache with static files is way bellow this. > The performance gain from PHP to CppCMS is very impressive. > > Thanks in advance, > Vinicius > > > System: FreeBSD freebsd 9.0-RELEASE-p3 FreeBSD 9.0-RELEASE-p3 #0: Tue Jun 12 02:52:29 UTC 2012 ro...@am...:/usr/obj/usr/src/sys/GENERIC amd64 > > The gdb log is: > ---------------------- > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 804807400 (LWP 100101/wep)] > 0x000000000061d870 in vtable for __cxxabiv1::__class_type_info () > (gdb) bt > #0 0x000000000061d870 in vtable for __cxxabiv1::__class_type_info () > #1 0x0000000800939cb3 in cppcms::http::response::set_content_header (this=0x80ba7ac00, content_type=@0x7fffffffd590) at info.h:83 > #2 0x000000080093b90b in response (this=0x80ba7ac00, context=@0x807bf75b0) at /root/work/cppcms-1.0.1/src/http_response.cpp:116 > #3 0x000000080094953d in context (this=0x807bf75b0, conn=Variable "conn" is not available. > ) at /root/work/cppcms-1.0.1/src/http_context.cpp:58 > #4 0x0000000800a2dc07 in booster::callback<void ()(booster::system::error_code const&)>::callable_impl<void, cppcms::impl::cgi::socket_acceptor<cppcms::impl::cgi::http, cppcms::impl::cgi::http_creator>::accept_binder>::operator() (this=Variable "this" is not available. > ) at cgi_acceptor.h:140 > #5 0x0000000800cf9059 in operator() (this=0x8083feee0, e=Variable "e" is not available. > ) at callback.h:211 > #6 0x0000000800cee189 in booster::callback<void ()()>::callable_impl<void, booster::aio::event_loop_impl::event_handler_dispatcher>::operator() (this=Variable "this" is not available. > ) > at callback.h:211 > #7 0x0000000800cef490 in booster::aio::event_loop_impl::run_one (this=0x804842200, evs=0x80480e000, evs_size=128) at callback.h:201 > #8 0x0000000800cec349 in booster::aio::io_service::run (this=Variable "this" is not available. > ) at /root/work/cppcms-1.0.1/booster/lib/aio/src/io_service.cpp:144 > #9 0x0000000800918dde in cppcms::service::run (this=0x7fffffffda80) at /root/work/cppcms-1.0.1/src/service.cpp:574 > #10 0x000000000040d472 in main (argc=Variable "argc" is not available. > ) at wep.cpp:167 > ---------------------- > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users |