Thanks for the response Matthew. It does sound a like that kind of error but we only have one version of boost on the toolchain we are using. It could have possibly been using the build machines boost but we investigated that and doesn't appear to be the case.
We did look into this further though and found some more information; We used the Wt homepage example app, but massively cut down so it's pretty much just a WServer. When a web browser connects to the wt app (using wthttpd connector btw) it hangs and receives no data from Wt, although Wt does spit out some logging with the browser type on stdout. After running gdb it looks like a thread is hanging after a call from WServer. In once.hpp line 78 (which is a pthread_cond_broadcast). The trace is at the end of this post. To recap if we build boost with gcc 4.3.4 it works, with 4.4.4 it doesn't work. Because of this a lot of the evidence points to a bug in either boost or the compiler. We are using boost 1.47.1 at the moment, but have tryed 1.42 & 1.46. We have also tryed gcc 4.4.6 and glibc 2.10.2, 2.12.1 and 2.14.. We have tryed Wt 3.1.7a, 3.1.9 and 3.1.10 The only version that makes any difference is the compiler. We can't use gcc 4.3.4 (even though it works) because 4.4.4 is the earliest version of the compiler that will build correctly for the PowerPC. NOTE: These errors are on an i686 target, not powerpc, but we need to also be able to build on powerpc. After using the gcc options "-v -Q" I got more info about the compiler flags being used by default, as there are some differences between the compiler versions. After a bit of playing around I narrowed it down to one option: I can get it working with gcc 4.4.4 if I add -fno-inline to CFLAGS (when building boost). After this it seems to behave as if i compiled it with gcc 4.3.4 and the browser connects and works fine. Heres the problem: It doesn't seem to us like this is really the issue here. It seems more like this has just moved the problem around, and that the problem was probably there with the old compiler also. Note that with either version, once the web browser connects, the Wt app can no longer be Ctrl-C, it just says stopping sessions and never does, needs to be Ctrl-Z and killed. Looks like it gets stuck in a boost thread join or something similar. So I guess the question is now, has anyone ever seen a problem with Ctrl-C a Wt app, probably using WServer in particular. Also, Does anyone know of any issues with the way Wt uses boost_thread that might not be 100% "correct" I know threading can be disabled from the Wt build, but it will put a lot of limitations on what we do if we do that. I do realise the problem could be at our end but I'd just like to check this as we are kinda desperate now and have checked so many things in detail. Thanks and kind regards, Tom PS: Here is the trace of the hang upon a browser connect. To recap versions are: Wt 3.1.10, boost 1.47.0, gcc 4.4.4 Thread 2 (Thread 0xb69d0b70 (LWP 2857)): #0 0xb77be424 in __kernel_vsyscall () #1 0xb6a02ad9 in __lll_lock_wait () from /lib/libpthread.so.0 #2 0xb6a00645 in pthread_cond_broadcast@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #3 0xb6c2c126 in pthread_cond_broadcast@@GLIBC_2.3.2 () from /lib/libc.so.6 #4 0xb7632ca6 in boost::call_once<void (*)()> (flag=@0xb779fd10, f=0xb7633310 <boost::spirit::classic::impl::object_with_id_base<boost::spirit::classic::impl::grammar_tag, unsigned int>::mutex_init()>) at /home/distros/v3.01/staging/i686/usr/include/boost/thread/pthread/once.hpp:78 #5 0xb76340ef in boost::spirit::classic::impl::object_with_id_base<boost::spirit::classic::impl::grammar_tag, unsigned int>::acquire_object_id (this=0xb69cf6d8) at /home/distros/v3.01/staging/i686/usr/include/boost/spirit/home/classic/core/non_terminal/impl/object_with_id.ipp:140 #6 0xb7637acb in Wt::WebRequest::parsePreferredAcceptValue (this=0x807be48, str=@0xb69cf784) at /home/distros/v3.01/staging/i686/usr/include/boost/spirit/home/classic/core/non_terminal/impl/object_with_id.ipp:78 #7 0xb763863e in Wt::WebRequest::parseLocale (this=0x807be48) at /home/distros/v3.01/rpmbuild/BUILD/i686/wt- 3.1.10/src/web/WebRequest.C:229 #8 0xb7491ac3 in Wt::WEnvironment::init (this=0x807c5ac, request=@0x807be48) at /home/distros/v3.01/rpmbuild/BUILD/i686/wt-3.1.10/src/Wt/WEnvironment.C:145 #9 0xb763b8cc in Wt::WebSession::init (this=0x807c038, request=@0x807be48) at /home/distros/v3.01/rpmbuild/BUILD/i686/wt-3.1.10/src/web/WebSession.C:273 #10 0xb763f156 in Wt::WebSession::handleRequest (this=0x807c038, handler=@0xb69cfd04) at /home/distros/v3.01/rpmbuild/BUILD/i686/wt-3.1.10/src/web/WebSession.C:1047 #11 0xb766025f in Wt::WebController::handleAsyncRequest (this=0x8073698, request=0x807be48) at /home/distros/v3.01/rpmbuild/BUILD/i686/wt-3.1.10/src/web/WebController.C:644 #12 0xb76612c4 in Wt::WebController::handleRequest (this=0x8073698, request=0x807be48) at /home/distros/v3.01/rpmbuild/BUILD/i686/wt-3.1.10/src/web/WebController.C:515 #13 0xb71a9a8a in Wt::WServer::handleRequest (this=0xbf971be8, request=0x807be48) at /home/distros/v3.01/rpmbuild/BUILD/i686/wt-3.1.10/src/http/WServer.C:372 #14 0xb71af55c in http::server::WtReply::consumeRequestBody (this=0x807bc70, begin=0x8075417 "", end=0x8075417 "", state=http::server::Request::Complete) at /home/distros/v3.01/rpmbuild/BUILD/i686/wt-3.1.10/src/http/WtReply.C:182 #15 0xb71b0b8c in http::server::WtReply::consumeData (this=0xfffffe00, begin=0xb6cae240 "\002", end=0x80 <Address 0x80 out of bounds>, state=http::server::Request::Complete) at /home/distros/v3.01/rpmbuild/BUILD/i686/wt-3.1.10/src/http/WtReply.C:81 #16 0xb718c33c in http::server::RequestParser::parseBody (this=0x80772f8, req=@0x80772a0, reply={px = 0x807bc70, pn = {pi_ = 0x807bc58}}, begin=@0x807729c, end=0x8075417 "") at /home/distros/v3.01/rpmbuild/BUILD/i686/wt-3.1.10/src/http/RequestParser.C:135 #17 0xb71745e2 in http::server::Connection::handleReadBody (this=0x8075260) at /home/distros/v3.01/rpmbuild/BUILD/i686/wt-3.1.10/src/http/Connection.C:191 #18 0xb7176f10 in http::server::Connection::handleReadRequest0 (this=0x8075260) at /home/distros/v3.01/rpmbuild/BUILD/i686/wt-3.1.10/src/http/Connection.C:127 #19 0xb71770fa in http::server::Connection::handleReadRequest (this=0x8075260, e=@0xb69d01a8, bytes_transferred=383) at /home/distros/v3.01/rpmbuild/BUILD/i686/wt-3.1.10/src/http/Connection.C:162 #20 0xb71a8953 in boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::_bi::bind_t<void, boost::_mfi::mf2<void, htt p::server::Connection, boost::system::error_code const&, unsigned int>, boost::_bi::list3<boost::_bi::value<boost::shared_ptr<http::server::Connec tion> >, boost::arg<1> (*)(), boost::arg<2> (*)()> > >::do_complete (owner=0x8073038, base=0x8078728) at /home/distros/v3.01/staging/i686/usr/include/boost/bind/mem_fn_template.hpp:271 #21 0xb75e953b in boost::asio::detail::task_io_service::run (this=0x8073038, ec=@0xb69d02e8) at /home/distros/v3.01/staging/i686/usr/include/boost/asio/detail/task_io_service_operation.hpp:36 #22 0xb718e4fe in http::server::Server::run (this=0x8075140) at /home/distros/v3.01/staging/i686/usr/include/boost/asio/impl/io_service.ipp:57 #23 0xb71ac1db in Wt::WServerImpl::runThread (this=0x8072638, server=0xbf971be8) at /home/distros/v3.01/rpmbuild/BUILD/i686/wt-3.1.10/src/http/WServer.C:123 #24 0xb71abfe2 in boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf1<void, Wt::WServerImpl, Wt::WServer*>, boost::_bi::list2<boo st::_bi::value<Wt::WServerImpl*>, boost::_bi::value<Wt::WServer*> > > >::run (this=0x8072d58) at /home/distros/v3.01/staging/i686/usr/include/boost/bind/mem_fn_template.hpp:165 #25 0xb6ca2616 in thread_proxy () from /usr/lib/libboost_thread.so.1.47.0 #26 0xb69fb8ce in start_thread () from /lib/libpthread.so.0 #27 0xb6c1ec9e in clone () from /lib/libc.so.6 ____________________________ Miranda Technologies Limited Registered in England and Wales CN 02017053 Registered Office: James House, Mere Park, Dedmere Road, Marlow, Bucks, SL7 1FJ ------------------------------------------------------------------------------ FREE DOWNLOAD - uberSVN with Social Coding for Subversion. Subversion made easy with a complete admin console. Easy to use, easy to manage, easy to install, easy to extend. Get a Free download of the new open ALM Subversion platform now. http://p.sf.net/sfu/wandisco-dev2dev _______________________________________________ witty-interest mailing list witty-interest@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/witty-interest