cppcms-users Mailing List for CppCMS C++ Web Framework (Page 76)
Brought to you by:
artyom-beilis
You can subscribe to this list here.
2009 |
Jan
|
Feb
(22) |
Mar
|
Apr
(3) |
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
(15) |
Nov
(16) |
Dec
(13) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
(4) |
Feb
|
Mar
(8) |
Apr
(8) |
May
(8) |
Jun
(36) |
Jul
(63) |
Aug
(126) |
Sep
(47) |
Oct
(66) |
Nov
(46) |
Dec
(42) |
2011 |
Jan
(87) |
Feb
(24) |
Mar
(54) |
Apr
(21) |
May
(22) |
Jun
(18) |
Jul
(22) |
Aug
(101) |
Sep
(57) |
Oct
(33) |
Nov
(34) |
Dec
(66) |
2012 |
Jan
(64) |
Feb
(76) |
Mar
(73) |
Apr
(105) |
May
(93) |
Jun
(83) |
Jul
(84) |
Aug
(88) |
Sep
(57) |
Oct
(59) |
Nov
(35) |
Dec
(49) |
2013 |
Jan
(67) |
Feb
(17) |
Mar
(49) |
Apr
(64) |
May
(87) |
Jun
(64) |
Jul
(93) |
Aug
(23) |
Sep
(15) |
Oct
(16) |
Nov
(62) |
Dec
(73) |
2014 |
Jan
(5) |
Feb
(23) |
Mar
(21) |
Apr
(11) |
May
(1) |
Jun
(19) |
Jul
(27) |
Aug
(16) |
Sep
(5) |
Oct
(37) |
Nov
(12) |
Dec
(9) |
2015 |
Jan
(7) |
Feb
(7) |
Mar
(44) |
Apr
(28) |
May
(5) |
Jun
(12) |
Jul
(8) |
Aug
|
Sep
(39) |
Oct
(34) |
Nov
(30) |
Dec
(34) |
2016 |
Jan
(66) |
Feb
(23) |
Mar
(33) |
Apr
(15) |
May
(11) |
Jun
(15) |
Jul
(26) |
Aug
(4) |
Sep
(1) |
Oct
(30) |
Nov
(10) |
Dec
|
2017 |
Jan
(52) |
Feb
(9) |
Mar
(24) |
Apr
(16) |
May
(9) |
Jun
(12) |
Jul
(33) |
Aug
(8) |
Sep
|
Oct
(1) |
Nov
(2) |
Dec
(6) |
2018 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
(14) |
Jun
(1) |
Jul
(9) |
Aug
(1) |
Sep
(13) |
Oct
(8) |
Nov
(2) |
Dec
(2) |
2019 |
Jan
(1) |
Feb
(1) |
Mar
(3) |
Apr
(3) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
2020 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(9) |
Jul
(6) |
Aug
(25) |
Sep
(10) |
Oct
(10) |
Nov
(6) |
Dec
|
2021 |
Jan
|
Feb
|
Mar
(7) |
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
(9) |
Oct
(1) |
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Vinicius P. <ds...@ha...> - 2012-08-07 02:33:22
|
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 ---------------------- |
From: Shiv S. D. <shi...@gm...> - 2012-08-04 15:10:03
|
On Sat, Aug 4, 2012 at 8:33 PM, Shiv Shankar Dayal <shi...@gm...> wrote: > On Sat, Aug 4, 2012 at 8:26 PM, Artyom Beilis <art...@ya...> wrote: >> >> >> >>>________________________________ >>> From: Shiv Shankar Dayal <shi...@gm...> >>>To: cpp...@li... >>>Sent: Saturday, August 4, 2012 5:12 PM >>>Subject: [Cppcms-users] Small project in cppcms >>> >>>Hi, >>> >>>I want to make a clone of stackexchange in cppcms. Artyom do you think >>>should I do it? >> >> That's up to you... In general why not? >> >> >> >>>My problem is that I am kind of perfectionist so what do you suggest? >> >> How does this makes the development job harder? > > Because people say development speed is faster in Python or PHP. > And learning will be a big job. > >>>And I know C/C++ not PHP/Python/Ruby etc. >>> >> >> Ok :-) >> > > :) > >>>-- >>>Best regards, >>>Shiv Shankar Dayal >>> >> >> Good Luck! >> >> >> Artyom Beilis >> -------------- >> CppCMS - C++ Web Framework: http://cppcms.com/ >> CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ >> >> ------------------------------------------------------------------------------ >> 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 > > > > -- > Best regards, > Shiv Shankar Dayal Thanks. For this nice framework. I have finalized to use it. -- Best regards, Shiv Shankar Dayal |
From: Shiv S. D. <shi...@gm...> - 2012-08-04 15:03:20
|
On Sat, Aug 4, 2012 at 8:26 PM, Artyom Beilis <art...@ya...> wrote: > > > >>________________________________ >> From: Shiv Shankar Dayal <shi...@gm...> >>To: cpp...@li... >>Sent: Saturday, August 4, 2012 5:12 PM >>Subject: [Cppcms-users] Small project in cppcms >> >>Hi, >> >>I want to make a clone of stackexchange in cppcms. Artyom do you think >>should I do it? > > That's up to you... In general why not? > > > >>My problem is that I am kind of perfectionist so what do you suggest? > > How does this makes the development job harder? Because people say development speed is faster in Python or PHP. And learning will be a big job. >>And I know C/C++ not PHP/Python/Ruby etc. >> > > Ok :-) > :) >>-- >>Best regards, >>Shiv Shankar Dayal >> > > Good Luck! > > > Artyom Beilis > -------------- > CppCMS - C++ Web Framework: http://cppcms.com/ > CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ > > ------------------------------------------------------------------------------ > 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 -- Best regards, Shiv Shankar Dayal |
From: Artyom B. <art...@ya...> - 2012-08-04 14:56:34
|
>________________________________ > From: Shiv Shankar Dayal <shi...@gm...> >To: cpp...@li... >Sent: Saturday, August 4, 2012 5:12 PM >Subject: [Cppcms-users] Small project in cppcms > >Hi, > >I want to make a clone of stackexchange in cppcms. Artyom do you think >should I do it? That's up to you... In general why not? >My problem is that I am kind of perfectionist so what do you suggest? How does this makes the development job harder? >And I know C/C++ not PHP/Python/Ruby etc. > Ok :-) >-- >Best regards, >Shiv Shankar Dayal > Good Luck! Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ |
From: Shiv S. D. <shi...@gm...> - 2012-08-04 14:12:56
|
Hi, I want to make a clone of stackexchange in cppcms. Artyom do you think should I do it? My problem is that I am kind of perfectionist so what do you suggest? And I know C/C++ not PHP/Python/Ruby etc. -- Best regards, Shiv Shankar Dayal |
From: Barbu P. - G. <bar...@gm...> - 2012-08-04 07:16:59
|
On 08/03/2012 10:27 PM, Vinicius Pavanelli wrote: > Hi, > > I think the problem is line 24, you got: > > dispatcher().assign("/odd)",&number::odd,this); > > Should be "/odd" only, without the ). Yeah, that was it, and I had the same mistake in another place too, copy & paste mistake. Thank you! -- Barbu Paul - Gheorghe Common sense is not so common - Voltaire Visit My GitHub profile to see my open-source projects - https://github.com/paullik |
From: Vinicius P. <ds...@ha...> - 2012-08-03 19:27:34
|
Hi, I think the problem is line 24, you got: dispatcher().assign("/odd)", &number::odd, this); Should be "/odd" only, without the ). By the way I'm new to CppCMS, but it's a great software =D Hope this helps, Vinicius Em 03/08/2012, às 14:24, Barbu Paul - Gheorghe escreveu: > Hi. > > I'm fiddling with CppCMS for two days now and I have a little problem with the > tutorial, namely: http://cppcms.com/wikipp/en/page/cppcms_1x_tut_hierarchy > > I tried to follow it but when running the executable and visiting > http://localhost:8080/myapp I get the following error: > > booster::regex:unmatched parentheses, at offset 4 > > My code is here: https://gist.github.com/3249714 > Maybe you can spot something ... > > Congratulations for the nice project you guys created! > > PS: > I tried to googling for that error, no luck. > > -- > Barbu Paul - Gheorghe > Common sense is not so common - Voltaire > Visit My GitHub profile to see my open-source projects - https://github.com/paullik > > ------------------------------------------------------------------------------ > 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 |
From: Barbu P. - G. <bar...@gm...> - 2012-08-03 17:24:12
|
Hi. I'm fiddling with CppCMS for two days now and I have a little problem with the tutorial, namely: http://cppcms.com/wikipp/en/page/cppcms_1x_tut_hierarchy I tried to follow it but when running the executable and visiting http://localhost:8080/myapp I get the following error: booster::regex:unmatched parentheses, at offset 4 My code is here: https://gist.github.com/3249714 Maybe you can spot something ... Congratulations for the nice project you guys created! PS: I tried to googling for that error, no luck. -- Barbu Paul - Gheorghe Common sense is not so common - Voltaire Visit My GitHub profile to see my open-source projects - https://github.com/paullik |
From: <ele...@ex...> - 2012-08-01 14:23:07
|
> Take a version from the trunk. > > It is fixed in chageset 2197. > > There was a bug in gzip compressor that caused the infinite loop. > > Thanks for using development version :-) > > It could take some time till somebody would discover this bug. Confirmed fix working. Muchas gracias (sorry for all the mails) |
From: Artyom B. <art...@ya...> - 2012-08-01 13:32:53
|
Take a version from the trunk. It is fixed in chageset 2197. There was a bug in gzip compressor that caused the infinite loop. Thanks for using development version :-) It could take some time till somebody would discover this bug. Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ ----- Original Message ----- > From: "ele...@ex..." <ele...@ex...> > To: Artyom Beilis <art...@ya...>; cpp...@li... > Cc: > Sent: Wednesday, August 1, 2012 4:27 PM > Subject: Re: [Cppcms-users] URGENT: strange bug ocurring > >> Ok, I reproduced a problem. >> >> I'll update you when I'll fix it. >> >> It seems to be a bug in some redesigned buffering/gzip code. >> >> Also why do you use the development version in the production environment? >> > > Excellent. > > I was using the development version of CPPCMS on FreeBSD because of the > new backtrace you've added April(?) and ive stuck to it because I was > running it for months without a problem. (and no im not crazy about > updating all the time and running bleeding edge stuff!) > > I think there was another reason why I was using the devel. > > Well perhaps I should have switched back to the release. > > Petr > > > ------------------------------------------------------------------------------ > 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 > |
From: <ele...@ex...> - 2012-08-01 13:27:23
|
> Ok, I reproduced a problem. > > I'll update you when I'll fix it. > > It seems to be a bug in some redesigned buffering/gzip code. > > Also why do you use the development version in the production environment? > Excellent. I was using the development version of CPPCMS on FreeBSD because of the new backtrace you've added April(?) and ive stuck to it because I was running it for months without a problem. (and no im not crazy about updating all the time and running bleeding edge stuff!) I think there was another reason why I was using the devel. Well perhaps I should have switched back to the release. Petr |
From: Artyom B. <art...@ya...> - 2012-08-01 13:08:07
|
Ok, I reproduced a problem. I'll update you when I'll fix it. It seems to be a bug in some redesigned buffering/gzip code. Also why do you use the development version in the production environment? Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ ----- Original Message ----- > From: "ele...@ex..." <ele...@ex...> > To: cpp...@li... > Cc: Artyom Beilis <art...@ya...> > Sent: Wednesday, August 1, 2012 3:35 PM > Subject: Re: [Cppcms-users] URGENT: strange bug ocurring > > Sorry forgot to attach GDB trace: > > > #0 0x00007f8933c0e817 in __libc_writev (fd=9, vector=<value optimized > out>, count=1) at ../sysdeps/unix/sysv/linux/writev.c:56 > #1 0x00007f8935655707 in booster::aio::stream_socket::writev > (this=0xe7e9a0, b=<value optimized out>) > at /home/sysadmin/cppcms/booster/lib/aio/src/stream_socket.cpp:173 > #2 0x00007f8935655769 in booster::aio::stream_socket::write_some > (this=0x9, buffer=..., e=...) > at /home/sysadmin/cppcms/booster/lib/aio/src/stream_socket.cpp:94 > #3 0x00007f8935c7fab3 in > cppcms::impl::cgi::http::write_some_to_socket(booster::aio::const_buffer > const&, booster::system::error_code&) () > from /usr/local/lib/libcppcms.so.1 > #4 0x00007f8935c8302a in cppcms::impl::cgi::http::write_some(void const*, > unsigned long, booster::system::error_code&) () > from /usr/local/lib/libcppcms.so.1 > #5 0x00007f8935bb88cb in cppcms::impl::cgi::connection::write > (this=0xe7e8d0, data=<value optimized out>, n=16384, e=...) > at /home/sysadmin/cppcms/src/cgi_api.cpp:550 > #6 0x00007f8935bd005e in cppcms::http::details::output_device::write > (this=0xe81ea8, data=<value optimized out>, n=1) > at /home/sysadmin/cppcms/src/http_response.cpp:277 > #7 0x00007f8935bd03e7 in > cppcms::http::details::basic_obuf<cppcms::http::details::output_device>::overflow > (this=0x9, c=99) > at /home/sysadmin/cppcms/src/http_response.cpp:131 > #8 0x00007f89343e7215 in std::basic_streambuf<char, > std::char_traits<char> >::xsputn(char const*, long) () from > /usr/lib/libstdc++.so.6 > #9 0x00007f8935bcd58a in std::basic_streambuf<char, > std::char_traits<char> >::sputn (this=0xe7c6f0) at > /usr/include/c++/4.4/streambuf:427 > #10 cppcms::http::details::gzip_buf::close (this=0xe7c6f0) at > /home/sysadmin/cppcms/src/http_response.cpp:201 > #11 cppcms::http::response::finalize (this=0xe7c6f0) at > /home/sysadmin/cppcms/src/http_response.cpp:380 > #12 0x00007f8935bd340d in cppcms::http::context::complete_response > (this=0xe78a90) at /home/sysadmin/cppcms/src/http_context.cpp:117 > #13 0x00007f8935bd38f1 in cppcms::http::context::dispatch (app=DWARF-2 > expression error: DW_OP_reg operations must be used either alone or in > conjuction with DW_OP_piece. > ) at /home/sysadmin/cppcms/src/http_context.cpp:156 > #14 0x00007f8935bd5173 in operator()<void > (*)(booster::intrusive_ptr<cppcms::application>, > std::basic_string<char, > std::char_traits<char>, std::allocator<char> >, bool), > cppcms_boost::_bi::list0> (this=0xe9b2d0) at > /home/sysadmin/cppcms/cppcms_boost/cppcms_boost/bind/bind.hpp:385 > #15 cppcms_boost::_bi::bind_t<void, void > (*)(booster::intrusive_ptr<cppcms::application>, std::string, bool), > cppcms_boost::_bi::list3<cppcms_boost::_bi::value<booster::intrusive_ptr<cppcms::application> >> , cppcms_boost::_bi::value<std::string>, > cppcms_boost::_bi::value<bool> > >> ::operator() (this=0xe9b2d0) > at > /home/sysadmin/cppcms/cppcms_boost/cppcms_boost/bind/bind_template.hpp:20 > #16 booster::function<void ()()>::callable_impl<void, > cppcms_boost::_bi::bind_t<void, void > (*)(booster::intrusive_ptr<cppcms::application>, std::string, bool), > cppcms_boost::_bi::list3<cppcms_boost::_bi::value<booster::intrusive_ptr<cppcms::application> >> , cppcms_boost::_bi::value<std::string>, > cppcms_boost::_bi::value<bool> > >> >::call() (this=0xe9b2d0) at > /home/sysadmin/cppcms/booster/booster/function.h:168 > #17 0x00007f8935bd6dd5 in booster::function<void ()()>::operator()() const > (this=0xe7a6a0) at /home/sysadmin/cppcms/booster/booster/function.h:168 > #18 cppcms::impl::thread_pool::worker (this=0xe7a6a0) at > /home/sysadmin/cppcms/src/thread_pool.cpp:120 > #19 0x00007f89356cf27d in booster::function<void ()()>::operator()() const > (p=<value optimized out>) > at /home/sysadmin/cppcms/booster/./booster/function.h:168 > #20 booster_thread_func (p=<value optimized out>) at > /home/sysadmin/cppcms/booster/lib/thread/src/pthread.cpp:46 > #21 0x00007f89339308ca in start_thread (arg=<value optimized out>) at > pthread_create.c:300 > #22 0x00007f8933c1592d in clone () at > ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 > #23 0x0000000000000000 in ?? () > > Whether this gives you an idea about what's going on i don't know > > > > ------------------------------------------------------------------------------ > 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 > |
From: <ele...@ex...> - 2012-08-01 12:35:36
|
Sorry forgot to attach GDB trace: #0 0x00007f8933c0e817 in __libc_writev (fd=9, vector=<value optimized out>, count=1) at ../sysdeps/unix/sysv/linux/writev.c:56 #1 0x00007f8935655707 in booster::aio::stream_socket::writev (this=0xe7e9a0, b=<value optimized out>) at /home/sysadmin/cppcms/booster/lib/aio/src/stream_socket.cpp:173 #2 0x00007f8935655769 in booster::aio::stream_socket::write_some (this=0x9, buffer=..., e=...) at /home/sysadmin/cppcms/booster/lib/aio/src/stream_socket.cpp:94 #3 0x00007f8935c7fab3 in cppcms::impl::cgi::http::write_some_to_socket(booster::aio::const_buffer const&, booster::system::error_code&) () from /usr/local/lib/libcppcms.so.1 #4 0x00007f8935c8302a in cppcms::impl::cgi::http::write_some(void const*, unsigned long, booster::system::error_code&) () from /usr/local/lib/libcppcms.so.1 #5 0x00007f8935bb88cb in cppcms::impl::cgi::connection::write (this=0xe7e8d0, data=<value optimized out>, n=16384, e=...) at /home/sysadmin/cppcms/src/cgi_api.cpp:550 #6 0x00007f8935bd005e in cppcms::http::details::output_device::write (this=0xe81ea8, data=<value optimized out>, n=1) at /home/sysadmin/cppcms/src/http_response.cpp:277 #7 0x00007f8935bd03e7 in cppcms::http::details::basic_obuf<cppcms::http::details::output_device>::overflow (this=0x9, c=99) at /home/sysadmin/cppcms/src/http_response.cpp:131 #8 0x00007f89343e7215 in std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) () from /usr/lib/libstdc++.so.6 #9 0x00007f8935bcd58a in std::basic_streambuf<char, std::char_traits<char> >::sputn (this=0xe7c6f0) at /usr/include/c++/4.4/streambuf:427 #10 cppcms::http::details::gzip_buf::close (this=0xe7c6f0) at /home/sysadmin/cppcms/src/http_response.cpp:201 #11 cppcms::http::response::finalize (this=0xe7c6f0) at /home/sysadmin/cppcms/src/http_response.cpp:380 #12 0x00007f8935bd340d in cppcms::http::context::complete_response (this=0xe78a90) at /home/sysadmin/cppcms/src/http_context.cpp:117 #13 0x00007f8935bd38f1 in cppcms::http::context::dispatch (app=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece. ) at /home/sysadmin/cppcms/src/http_context.cpp:156 #14 0x00007f8935bd5173 in operator()<void (*)(booster::intrusive_ptr<cppcms::application>, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool), cppcms_boost::_bi::list0> (this=0xe9b2d0) at /home/sysadmin/cppcms/cppcms_boost/cppcms_boost/bind/bind.hpp:385 #15 cppcms_boost::_bi::bind_t<void, void (*)(booster::intrusive_ptr<cppcms::application>, std::string, bool), cppcms_boost::_bi::list3<cppcms_boost::_bi::value<booster::intrusive_ptr<cppcms::application> >, cppcms_boost::_bi::value<std::string>, cppcms_boost::_bi::value<bool> > >::operator() (this=0xe9b2d0) at /home/sysadmin/cppcms/cppcms_boost/cppcms_boost/bind/bind_template.hpp:20 #16 booster::function<void ()()>::callable_impl<void, cppcms_boost::_bi::bind_t<void, void (*)(booster::intrusive_ptr<cppcms::application>, std::string, bool), cppcms_boost::_bi::list3<cppcms_boost::_bi::value<booster::intrusive_ptr<cppcms::application> >, cppcms_boost::_bi::value<std::string>, cppcms_boost::_bi::value<bool> > > >::call() (this=0xe9b2d0) at /home/sysadmin/cppcms/booster/booster/function.h:168 #17 0x00007f8935bd6dd5 in booster::function<void ()()>::operator()() const (this=0xe7a6a0) at /home/sysadmin/cppcms/booster/booster/function.h:168 #18 cppcms::impl::thread_pool::worker (this=0xe7a6a0) at /home/sysadmin/cppcms/src/thread_pool.cpp:120 #19 0x00007f89356cf27d in booster::function<void ()()>::operator()() const (p=<value optimized out>) at /home/sysadmin/cppcms/booster/./booster/function.h:168 #20 booster_thread_func (p=<value optimized out>) at /home/sysadmin/cppcms/booster/lib/thread/src/pthread.cpp:46 #21 0x00007f89339308ca in start_thread (arg=<value optimized out>) at pthread_create.c:300 #22 0x00007f8933c1592d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #23 0x0000000000000000 in ?? () Whether this gives you an idea about what's going on i don't know |
From: <ele...@ex...> - 2012-08-01 12:31:32
|
I've done that Artyom, When I run in GDB and attach to the process I get this: 0x00007f8ae979d817 in __libc_writev (fd=9, vector=<value optimized out>, count=1) at ../sysdeps/unix/sysv/linux/writev.c:56 56 ../sysdeps/unix/sysv/linux/writev.c: No such file or directory. in ../sysdeps/unix/sysv/linux/writev.c Unfortunately I have no idea what to make out of this. |
From: Artyom B. <art...@ya...> - 2012-08-01 11:47:32
|
I'm sorry but I can't serve as remote debugger or valgrind analyzer. I had given you some tips about debugging your application but I can not and I will not debug the application for you. So, open the debugger: gdb and take a look where exactly and why the loop exists... Shouldn't it be trivial? Regards, Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ ----- Original Message ----- > From: "ele...@ex..." <ele...@ex...> > To: Artyom Beilis <art...@ya...>; cpp...@li... > Cc: > Sent: Wednesday, August 1, 2012 2:09 PM > Subject: Re: [Cppcms-users] URGENT: strange bug ocurring > > Here is what the other thread is doing according to strace: > > > > writev(9, > [{"1nwc\212[\26\376m4\355]is\333F\266\375,\376\212\36$\23S\317\1\320\335\330e\212"..., > 16384}], 1) = 16384 > > This just keeps repeating over an over again. > > > ------------------------------------------------------------------------------ > 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 > |
From: <ele...@ex...> - 2012-08-01 11:27:00
|
Valgrind using the drd tool I get this stuff when loading the infinte page: ==12769== Conflicting store by thread 3 at 0x0b9732c8 size 8 ==12769== at 0x4ED178D: std::vector<booster::aio::buffer_impl<char const*>::entry, std::allocator<booster::aio::buffer_impl<char const*>::entry> >::_M_insert_aux(__gnu_cxx::__normal_iterator<booster::aio::buffer_impl<char const*>::entry*, std::vector<booster::aio::buffer_impl<char const*>::entry, std::allocator<booster::aio::buffer_impl<char const*>::entry> > >, booster::aio::buffer_impl<char const*>::entry const&) (new_allocator.h:105) ==12769== by 0x4F93748: cppcms::impl::cgi::http::write_response(booster::callback<void ()(booster::system::error_code const&, unsigned long)> const&, unsigned long) (stl_vector.h:741) ==12769== by 0x4F93E6E: cppcms::impl::cgi::http::process_output_headers(void const*, unsigned long, booster::callback<void ()(booster::system::error_code const&, unsigned long)> const&) (http_api.cpp:484) ==12769== by 0x4F9406D: cppcms::impl::cgi::http::write_some(void const*, unsigned long, booster::system::error_code&) (http_api.cpp:335) ==12769== by 0x4EC98CA: cppcms::impl::cgi::connection::write(void const*, unsigned long, booster::system::error_code&) (cgi_api.cpp:550) ==12769== by 0x4EE105D: cppcms::http::details::output_device::write(char const*, int) (http_response.cpp:277) ==12769== by 0x4EE13E6: cppcms::http::details::basic_obuf<cppcms::http::details::output_device>::overflow(int) (http_response.cpp:131) ==12769== by 0x6754871: std::ostream::flush() (in /usr/lib/libstdc++.so.6.0.13) ==12769== by 0x4EDD85B: cppcms::http::response::write_http_headers(std::ostream&) (ostream:560) ==12769== by 0x4EDE33A: cppcms::http::response::out() (http_response.cpp:505) ==12769== by 0x4F0980F: cppcms::impl::file_server::main(std::string) (internal_file_server.cpp:448) ==12769== by 0x4EE4840: cppcms::http::context::dispatch(booster::intrusive_ptr<cppcms::application>, std::string, bool) (http_context.cpp:131) ==12769== Address 0xb9732c8 is at offset 8 from 0xb9732c0. Allocation context: ==12769== at 0x4C270CA: operator new(unsigned long) (vg_replace_malloc.c:261) ==12769== by 0x4ED1770: std::vector<booster::aio::buffer_impl<char const*>::entry, std::allocator<booster::aio::buffer_impl<char const*>::entry> >::_M_insert_aux(__gnu_cxx::__normal_iterator<booster::aio::buffer_impl<char const*>::entry*, std::vector<booster::aio::buffer_impl<char const*>::entry, std::allocator<booster::aio::buffer_impl<char const*>::entry> > >, booster::aio::buffer_impl<char const*>::entry const&) (new_allocator.h:89) ==12769== by 0x4F93748: cppcms::impl::cgi::http::write_response(booster::callback<void ()(booster::system::error_code const&, unsigned long)> const&, unsigned long) (stl_vector.h:741) ==12769== by 0x4F93E6E: cppcms::impl::cgi::http::process_output_headers(void const*, unsigned long, booster::callback<void ()(booster::system::error_code const&, unsigned long)> const&) (http_api.cpp:484) ==12769== by 0x4F9406D: cppcms::impl::cgi::http::write_some(void const*, unsigned long, booster::system::error_code&) (http_api.cpp:335) ==12769== by 0x4EC98CA: cppcms::impl::cgi::connection::write(void const*, unsigned long, booster::system::error_code&) (cgi_api.cpp:550) ==12769== by 0x4EE105D: cppcms::http::details::output_device::write(char const*, int) (http_response.cpp:277) ==12769== by 0x4EE13E6: cppcms::http::details::basic_obuf<cppcms::http::details::output_device>::overflow(int) (http_response.cpp:131) ==12769== by 0x6754871: std::ostream::flush() (in /usr/lib/libstdc++.so.6.0.13) ==12769== by 0x4EDD85B: cppcms::http::response::write_http_headers(std::ostream&) (ostream:560) ==12769== by 0x4EDE33A: cppcms::http::response::out() (http_response.cpp:505) ==12769== by 0x4F0980F: cppcms::impl::file_server::main(std::string) (internal_file_server.cpp:448) ==12769== Other segment start (thread 4) ==12769== at 0x4C2FF7F: pthread_mutex_unlock (drd_pthread_intercepts.c:631) ==12769== by 0x8492869: icu_44::TimeZone::createDefault() (in /usr/lib/libicui18n.so.44.1) ==12769== by 0x54CBB09: booster::locale::impl_icu::get_time_zone(std::string const&) (time_zone.cpp:216) ==12769== by 0x54AB9CB: booster::locale::impl_icu::calendar_impl::set_timezone(std::string const&) (date_time.cpp:240) ==12769== by 0x5482440: booster::locale::date_time::date_time() (date_time.cpp:142) ==12769== by 0x47FA44: helpers::Aircraft::Counter::Counter() (aircraft.hpp:18) ==12769== by 0x47FD00: helpers::Aircraft::Aircraft() (aircraft.hpp:39) ==12769== by 0x505929: data::Master::aircraft_by_id(unsigned int) const (master.cpp:82) ==12769== by 0x49A2CF: data::Master::current_aircraft() const (master.hpp:32) ==12769== by 0x56CB9B: default_skin::TrackerAirframeList::body() (airframe.tmpl:67) ==12769== by 0x554245: default_skin::Master::render() (master.tmpl:195) ==12769== by 0x4F03452: cppcms::views::pool::render(std::string const&, std::string const&, std::ostream&, cppcms::base_content&) (views_pool.cpp:115) ==12769== Other segment end (thread 4) ==12769== at 0x4C2F383: pthread_mutex_lock (drd_pthread_intercepts.c:578) ==12769== by 0x80C5540: umtx_lock_44 (in /usr/lib/libicuuc.so.44.1) ==12769== by 0x80C69DF: ??? (in /usr/lib/libicuuc.so.44.1) ==12769== by 0x80C6BC0: ??? (in /usr/lib/libicuuc.so.44.1) ==12769== by 0x80C7382: ??? (in /usr/lib/libicuuc.so.44.1) ==12769== by 0x80F7201: ??? (in /usr/lib/libicuuc.so.44.1) ==12769== by 0x80F133C: ??? (in /usr/lib/libicuuc.so.44.1) ==12769== by 0x80F1ACE: ??? (in /usr/lib/libicuuc.so.44.1) ==12769== by 0x80F1DD6: ures_openDirect_44 (in /usr/lib/libicuuc.so.44.1) ==12769== by 0x8492093: ??? (in /usr/lib/libicui18n.so.44.1) ==12769== by 0x84924DB: icu_44::TimeZone::createSystemTimeZone(icu_44::UnicodeString const&) (in /usr/lib/libicui18n.so.44.1) ==12769== by 0x84935B5: icu_44::TimeZone::createTimeZone(icu_44::UnicodeString const&) (in /usr/lib/libicui18n.so.44.1) and this ==12769== Thread 7: ==12769== Conflicting store by thread 7 at 0x0b9b49a4 size 1 ==12769== at 0x4F5DC8D: cppcms::crypto::hmac::init() (crypto.cpp:482) ==12769== by 0x4F5F7AD: cppcms::crypto::hmac::hmac(std::string const&, cppcms::crypto::key const&) (crypto.cpp:461) ==12769== by 0x4F4664F: cppcms::sessions::impl::hmac_cipher::decrypt(std::string const&, std::string&) (hmac_encryptor.cpp:61) ==12769== by 0x4F4C3E8: cppcms::sessions::session_cookies::load(cppcms::session_interface&, std::string&, long&) (session_cookies.cpp:61) ==12769== by 0x4F50431: cppcms::session_interface::load() (session_interface.cpp:142) ==12769== by 0x4EE4819: cppcms::http::context::dispatch(booster::intrusive_ptr<cppcms::application>, std::string, bool) (http_context.cpp:130) ==12769== by 0x4EE6172: booster::function<void ()()>::callable_impl<void, cppcms_boost::_bi::bind_t<void, void (*)(booster::intrusive_ptr<cppcms::application>, std::string, bool), cppcms_boost::_bi::list3<cppcms_boost::_bi::value<booster::intrusive_ptr<cppcms::application> >, cppcms_boost::_bi::value<std::string>, cppcms_boost::_bi::value<bool> > > >::call() (bind.hpp:385) ==12769== by 0x4EE7DD4: cppcms::impl::thread_pool::worker() (function.h:168) ==12769== by 0x54EB27C: booster_thread_func (function.h:168) ==12769== by 0x4C2EB60: vgDrd_thread_wrapper (drd_pthread_intercepts.c:272) ==12769== by 0x71CC8C9: start_thread (pthread_create.c:300) ==12769== by 0x6F3392C: clone (clone.S:112) ==12769== Address 0xb9b49a4 is at offset 52 from 0xb9b4970. Allocation context: ==12769== at 0x4C270CA: operator new(unsigned long) (vg_replace_malloc.c:261) ==12769== by 0x4F5DBCF: cppcms::crypto::hmac::init() (new_allocator.h:89) ==12769== by 0x4F5F7AD: cppcms::crypto::hmac::hmac(std::string const&, cppcms::crypto::key const&) (crypto.cpp:461) ==12769== by 0x4F4664F: cppcms::sessions::impl::hmac_cipher::decrypt(std::string const&, std::string&) (hmac_encryptor.cpp:61) ==12769== by 0x4F4C3E8: cppcms::sessions::session_cookies::load(cppcms::session_interface&, std::string&, long&) (session_cookies.cpp:61) ==12769== by 0x4F50431: cppcms::session_interface::load() (session_interface.cpp:142) ==12769== by 0x4EE4819: cppcms::http::context::dispatch(booster::intrusive_ptr<cppcms::application>, std::string, bool) (http_context.cpp:130) ==12769== by 0x4EE6172: booster::function<void ()()>::callable_impl<void, cppcms_boost::_bi::bind_t<void, void (*)(booster::intrusive_ptr<cppcms::application>, std::string, bool), cppcms_boost::_bi::list3<cppcms_boost::_bi::value<booster::intrusive_ptr<cppcms::application> >, cppcms_boost::_bi::value<std::string>, cppcms_boost::_bi::value<bool> > > >::call() (bind.hpp:385) ==12769== by 0x4EE7DD4: cppcms::impl::thread_pool::worker() (function.h:168) ==12769== by 0x54EB27C: booster_thread_func (function.h:168) ==12769== by 0x4C2EB60: vgDrd_thread_wrapper (drd_pthread_intercepts.c:272) ==12769== by 0x71CC8C9: start_thread (pthread_create.c:300) ==12769== Other segment start (thread 5) ==12769== at 0x4C2FF7F: pthread_mutex_unlock (drd_pthread_intercepts.c:631) ==12769== by 0x4EE7DC2: cppcms::impl::thread_pool::worker() (thread.h:394) ==12769== by 0x54EB27C: booster_thread_func (function.h:168) ==12769== by 0x4C2EB60: vgDrd_thread_wrapper (drd_pthread_intercepts.c:272) ==12769== by 0x71CC8C9: start_thread (pthread_create.c:300) ==12769== by 0x6F3392C: clone (clone.S:112) ==12769== Other segment end (thread 5) ==12769== at 0x4C2FF7F: pthread_mutex_unlock (drd_pthread_intercepts.c:631) ==12769== by 0x672423E: std::locale::locale() (in /usr/lib/libstdc++.so.6.0.13) ==12769== by 0x4F095C6: cppcms::impl::file_server::main(std::string) (basic_ios.h:452) ==12769== by 0x4EE4840: cppcms::http::context::dispatch(booster::intrusive_ptr<cppcms::application>, std::string, bool) (http_context.cpp:131) ==12769== by 0x4EE6172: booster::function<void ()()>::callable_impl<void, cppcms_boost::_bi::bind_t<void, void (*)(booster::intrusive_ptr<cppcms::application>, std::string, bool), cppcms_boost::_bi::list3<cppcms_boost::_bi::value<booster::intrusive_ptr<cppcms::application> >, cppcms_boost::_bi::value<std::string>, cppcms_boost::_bi::value<bool> > > >::call() (bind.hpp:385) ==12769== by 0x4EE7DD4: cppcms::impl::thread_pool::worker() (function.h:168) ==12769== by 0x54EB27C: booster_thread_func (function.h:168) ==12769== by 0x4C2EB60: vgDrd_thread_wrapper (drd_pthread_intercepts.c:272) ==12769== by 0x71CC8C9: start_thread (pthread_create.c:300) ==12769== by 0x6F3392C: clone (clone.S:112) |
From: <ele...@ex...> - 2012-08-01 11:09:18
|
Here is what the other thread is doing according to strace: writev(9, [{"1nwc\212[\26\376m4\355]is\333F\266\375,\376\212\36$\23S\317\1\320\335\330e\212"..., 16384}], 1) = 16384 This just keeps repeating over an over again. |
From: <ele...@ex...> - 2012-08-01 10:59:49
|
Would you like me to post the HEAP summary after running with leak-check=full? Petr |
From: <ele...@ex...> - 2012-08-01 10:52:11
|
More valgrind: ==12515== Conditional jump or move depends on uninitialised value(s) ==12515== at 0x5480881: char const* booster::locale::gnu_gettext::runtime_conversion<char>(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool, std::string const&, std::string const&) (message.cpp:474) ==12515== by 0x5073B6: booster::locale::basic_message<char>::write(std::locale const&, int, std::string&) const (message.h:470) ==12515== by 0x579A16: booster::locale::basic_message<char>::write(std::ostream&) const (message.h:415) ==12515== by 0x577E56: std::basic_ostream<char, std::char_traits<char> >& booster::locale::operator<< <char>(std::basic_ostream<char, std::char_traits<char> >&, booster::locale::basic_message<char> const&) (message.h:518) ==12515== by 0x55087E: default_skin::Master::title() (master.tmpl:8) ==12515== by 0x55093E: default_skin::Master::header() (master.tmpl:11) ==12515== by 0x551173: default_skin::Master::render() (master.tmpl:29) ==12515== by 0x4EF7452: cppcms::views::pool::render(std::string const&, std::string const&, std::ostream&, cppcms::base_content&) (views_pool.cpp:115) ==12515== by 0x4EF79A8: cppcms::views::manager::render(std::string const&, std::string const&, std::ostream&, cppcms::base_content&) (views_pool.cpp:352) ==12515== by 0x4EDFC51: cppcms::application::render(std::string, cppcms::base_content&) (application.cpp:227) ==12515== by 0x487C88: apps::Tracker::index() (tracker.cpp:31) ==12515== by 0x488BBB: cppcms::url_dispatcher::binder0<apps::Tracker>::operator()() const (url_dispatcher.h:215) ==12515== |
From: <ele...@ex...> - 2012-08-01 10:45:39
|
Using helgrind I get this ==12488== Possible data race during write of size 8 at 0x69b0008 by thread #6 ==12488== at 0x6717A90: std::locale::locale(std::locale::_Impl*) (in /usr/lib/libstdc++.so.6.0.13) ==12488== by 0x671B1DE: std::locale::classic() (in /usr/lib/libstdc++.so.6.0.13) ==12488== by 0x546F82F: booster::log::message::message(booster::log::level_type, char const*, char const*, int) (log.cpp:57) ==12488== by 0x4ED819D: cppcms::http::details::output_device::write(char const*, int) (http_response.cpp:279) ==12488== by 0x4ED83E6: cppcms::http::details::basic_obuf<cppcms::http::details::output_device>::overflow(int) (http_response.cpp:131) ==12488== by 0x6756214: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/libstdc++.so.6.0.13) ==12488== by 0x4ED5589: cppcms::http::response::finalize() (streambuf:427) ==12488== by 0x4EDB40C: cppcms::http::context::complete_response() (http_context.cpp:117) ==12488== by 0x4EDB8F0: cppcms::http::context::dispatch(booster::intrusive_ptr<cppcms::application>, std::string, bool) (http_context.cpp:156) ==12488== by 0x4EDD172: booster::function<void ()()>::callable_impl<void, cppcms_boost::_bi::bind_t<void, void (*)(booster::intrusive_ptr<cppcms::application>, std::string, bool), cppcms_boost::_bi::list3<cppcms_boost::_bi::value<booster::intrusive_ptr<cppcms::application> >, cppcms_boost::_bi::value<std::string>, cppcms_boost::_bi::value<bool> > > >::call() (bind.hpp:385) ==12488== by 0x4EDEDD4: cppcms::impl::thread_pool::worker() (function.h:168) ==12488== by 0x54E227C: booster_thread_func (function.h:168) ==12488== This conflicts with a previous write of size 8 by thread #9 ==12488== at 0x6717A90: std::locale::locale(std::locale::_Impl*) (in /usr/lib/libstdc++.so.6.0.13) ==12488== by 0x671B1DE: std::locale::classic() (in /usr/lib/libstdc++.so.6.0.13) ==12488== by 0x4ED8F05: std::string cppcms::http::details::itoa<int>(int) (http_response.cpp:51) ==12488== by 0x4ED63C4: cppcms::http::response::status(int, std::string const&) (http_response.cpp:632) ==12488== by 0x4ED65DB: cppcms::http::response::status(int) (http_response.cpp:628) ==12488== by 0x4EFF5D5: cppcms::impl::file_server::show404() (internal_file_server.cpp:453) ==12488== by 0x4F006F7: cppcms::impl::file_server::main(std::string) (internal_file_server.cpp:424) ==12488== by 0x4EDB840: cppcms::http::context::dispatch(booster::intrusive_ptr<cppcms::application>, std::string, bool) (http_context.cpp:131) ==12488== ==12488== Possible data race during write of size 8 at 0x69b0008 by thread #6 ==12488== at 0x6717A90: std::locale::locale(std::locale::_Impl*) (in /usr/lib/libstdc++.so.6.0.13) ==12488== by 0x671B1DE: std::locale::classic() (in /usr/lib/libstdc++.so.6.0.13) ==12488== by 0x547127A: booster::log::sinks::format_plain_text_message(booster::log::message const&) (log.cpp:268) ==12488== by 0x547197A: booster::log::sinks::standard_error::log(booster::log::message const&) (log.cpp:314) ==12488== by 0x546E880: booster::log::logger::log(booster::log::message const&) (log.cpp:229) ==12488== by 0x546E920: booster::log::message::~message() (log.cpp:62) ==12488== by 0x4ED81CE: cppcms::http::details::output_device::write(char const*, int) (http_response.cpp:279) ==12488== by 0x4ED83E6: cppcms::http::details::basic_obuf<cppcms::http::details::output_device>::overflow(int) (http_response.cpp:131) ==12488== by 0x6756214: std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/libstdc++.so.6.0.13) ==12488== by 0x4ED5589: cppcms::http::response::finalize() (streambuf:427) ==12488== by 0x4EDB40C: cppcms::http::context::complete_response() (http_context.cpp:117) ==12488== by 0x4EDB8F0: cppcms::http::context::dispatch(booster::intrusive_ptr<cppcms::application>, std::string, bool) (http_context.cpp:156) ==12488== This conflicts with a previous write of size 8 by thread #9 ==12488== at 0x6717A90: std::locale::locale(std::locale::_Impl*) (in /usr/lib/libstdc++.so.6.0.13) ==12488== by 0x671B1DE: std::locale::classic() (in /usr/lib/libstdc++.so.6.0.13) ==12488== by 0x4ED8F05: std::string cppcms::http::details::itoa<int>(int) (http_response.cpp:51) ==12488== by 0x4ED63C4: cppcms::http::response::status(int, std::string const&) (http_response.cpp:632) ==12488== by 0x4ED65DB: cppcms::http::response::status(int) (http_response.cpp:628) ==12488== by 0x4EFF5D5: cppcms::impl::file_server::show404() (internal_file_server.cpp:453) ==12488== by 0x4F006F7: cppcms::impl::file_server::main(std::string) (internal_file_server.cpp:424) ==12488== by 0x4EDB840: cppcms::http::context::dispatch(booster::intrusive_ptr<cppcms::application>, std::string, bool) (http_context.cpp:131) I also get a lot of these: ==12515== Use of uninitialised value of size 8 ==12515== at 0x545B29D: booster::aio::io_service::set_timer_event(booster::ptime const&, booster::callback<void ()(booster::system::error_code const&)> const&) (io_service.cpp:216) ==12515== by 0x5459E71: booster::aio::deadline_timer::async_wait(booster::callback<void ()(booster::system::error_code const&)> const&) (deadline_timer.cpp:95) ==12515== by 0x4F80394: cppcms::impl::cgi::http_watchdog::check(booster::system::error_code const&) (http_api.cpp:728) ==12515== by 0x545A261: booster::aio::deadline_timer::waiter::operator()(booster::system::error_code const&) (callback.h:211) ==12515== by 0x545E5DD: booster::aio::event_loop_impl::run_one(booster::aio::reactor::event*, unsigned long) (callback.h:201) ==12515== by 0x545BD0F: booster::aio::io_service::run() (io_service.cpp:144) ==12515== by 0x4EB6AA4: cppcms::service::run() (service.cpp:574) ==12515== by 0x476CE5: main (main.cpp:23) I keep looking for more |
From: Artyom B. <art...@ya...> - 2012-08-01 10:15:52
|
See, if this error is reproducible - that makes it much easier... Open debugger :-) Open valgrind and see if there any memory corruptions. You see epoll in strace because that is what main event-loop thread does, you should see what other threads do. I'm not sure I can help unless you show me some specific problem that can be reproduced. Enjoy debugging :-) Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ ----- Original Message ----- > From: "ele...@ex..." <ele...@ex...> > To: Artyom Beilis <art...@ya...>; cpp...@li... > Cc: > Sent: Wednesday, August 1, 2012 12:59 PM > Subject: Re: [Cppcms-users] URGENT: strange bug ocurring > > Ok now it's not even loading. The page just goes blank and the error is > > 2012-08-01 19:58:07; cppcms, warning: Failed to write response:system: > Broken pipe (http_response.cpp:279) > > Could the RAM be stuffed? This is a virtual server. > > Petr > > > ------------------------------------------------------------------------------ > 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 > |
From: <ele...@ex...> - 2012-08-01 10:00:10
|
Ok now it's not even loading. The page just goes blank and the error is 2012-08-01 19:58:07; cppcms, warning: Failed to write response:system: Broken pipe (http_response.cpp:279) Could the RAM be stuffed? This is a virtual server. Petr |
From: <ele...@ex...> - 2012-08-01 08:21:06
|
I ran the program without nginx (just on the internal cppcms server) and this keeps repeating: epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 999) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 999) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 epoll_wait(6, {}, 128, 0) = 0 |
From: <ele...@ex...> - 2012-08-01 07:47:24
|
Also I did an strace on the program and it stops at epoll_wait(7 which looks normally, but the page keeps loading and loading. Petr |
From: <ele...@ex...> - 2012-08-01 07:37:04
|
It looks like memory. I removed some rows from the database and now it just hangs loading the page, instead of repeating itself. I did a tcpdump with packet analysis (-A) in ASCII and i get random garbage like this: oA.HL.....x....l.a..@ta......+` f.7...vPf.q`..\...:.....rg..........v...c..o.of..n_.~.........[3U.`.b...p..0\.....t..../b....J...u.....P.L..C..F..;._..n..v8[.. ...p.3....$..|....a_`7R....68G8.W.y...x.6R&........$h.7}.F.k...C...B.s<..._} It's really weird that it just started happening without any change in code. |