Hey Koen,   

    Thanks  (  again ) .  If I ever find myself in Belgium, I'm buying you a beer :-)  

    ( although I think that Belgian  chocolates  are  a lot better  :-)   , too bad they are so expensive outside of EU   :-(   )


Cheers!

Dushan


Koen Deforche wrote:

Hey Dushan,

2008/12/24 Dushan Savich <[email protected]>:
  
Hi all,

    My program works just fine with every other browser, but it crashes
every time  when I try to open it with IEs4Linux for Linux  (  That's  IE 6
, for linux )   .

    In attached log file,  I've couple of  interesting lines at the end :)

[2008-Dec-24 20:36:49.014876] 8439 - [fatal] "Error (asio): Transport
endpoint is not connected"
[2008-Dec-24 20:36:49.014923] 8439 - [notice] "Shutdown: stopping sessions."
[2008-Dec-24 20:36:49.019150] 8439 [/ JkWIYotSGxtXPpfd] [notice] "Session
destroyed (#sessions = 0)"
Segmentation fault (core dumped)

What should I do to end this?
    

Either upgrade to a version of Wt >= 2.2.1, or back-port the following patch.

Regards,
koen

---------------------------- src/http/Connection.C ----------------------------
index 456c10a..aa1062b 100644
@@ -46,13 +46,17 @@ void Connection::finishReply()
 }

 void Connection::start()
 {
   request_parser_.reset();
   request_.reset();
-  request_.remoteIP = socket().remote_endpoint().address().to_string();
+  try {
+    request_.remoteIP = socket().remote_endpoint().address().to_string();
+  } catch (std::exception& e) {
+    std::cerr << "remote_endpoint() threw: " << e.what() << std::endl;
+  }

   socket().set_option(asio::ip::tcp::no_delay(true));

   startAsyncReadRequest(buffer_, CONNECTION_TIMEOUT);
 }


------------------------------- src/http/Reply.C -------------------------------
index 6a40739..767c122 100644
@@ -375,14 +375,18 @@ void Reply::setConnection(Connection *connection)
   connection_ = connection;

   if (relay_.get())
     relay_->setConnection(connection);

   if (connection) {
-    remoteAddress_
-      = connection_->socket().remote_endpoint().address().to_string();
+    try {
+      remoteAddress_
+	= connection_->socket().remote_endpoint().address().to_string();
+    } catch (std::exception& e) {
+      std::cerr << "remote_endpoint() threw: " << e.what() << std::endl;
+    }
     requestMethod_ = request_.method;
     requestUri_ = request_.uri;
     requestMajor_ = request_.http_version_major;
     requestMinor_ = request_.http_version_minor;
   }
 }

------------------------------------------------------------------------------
_______________________________________________
witty-interest mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/witty-interest

  

------------------------------------------------------------------------------
_______________________________________________
witty-interest mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/witty-interest

Reply via email to