geyungjen opened a new issue, #37033:
URL: https://github.com/apache/arrow/issues/37033

   ### Describe the bug, including details regarding any error messages, 
version, and platform.
   
   My Arrow version is just installed on 8/6/2023:
   
   https://github.com/apache/arrow
   
   
   Here are some lines of my code for the client in C++:
   
   _ARROW_ASSIGN_OR_RAISE(auto location, Location::ForGrpcTcp("10.0.0.103", 
8904));
   std::cout << "location " << location.ToString() <<  std::endl;
   
   // Setup the Flight SQL Client
      std::unique_ptr<flight::FlightClient> client;
      ARROW_ASSIGN_OR_RAISE(client, flight::FlightClient::Connect(location));
      std::unique_ptr<arrow::flight::sql::FlightSqlClient> sql_client(
      new arrow::flight::sql::FlightSqlClient(std::move(client)));
   
      FlightCallOptions call_options;
      call_options.headers.emplace_back("authorization", "Basic");
      call_options.headers.emplace_back("database", "public");
   
      auto user = "sysdba";
      auto password = "passw0rd";
   
     **auto auth = client->AuthenticateBasicToken(call_options,user,password );
    //Segmentation Fault at the Above AuthenticateBasicToken call.**_
   
   Valgrind shows below:
   
   ==5046== Invalid read of size 1
   ==5046==    at 0x4ABF7E1: arrow::flight::FlightClient::CheckOpen() const 
(client.cc:716)
   ==5046==    by 0x4ABDC12: 
arrow::flight::FlightClient::AuthenticateBasicToken(arrow::flight::FlightCallOptions
 const&, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&, std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&) (client.cc:555)
   ==5046==    by 0x1159B9: main::{lambda()#1}::operator()() const (in 
/home/alice/arrow_notes/flightsql/build/arrow_flight_cpp)
   ==5046==    by 0x1163C8: main (in 
/home/alice/arrow_notes/flightsql/build/arrow_flight_cpp)
   ==5046==  Address 0x8 is not stack'd, malloc'd or (recently) free'd
   
   It points to [OpenCheck() in 
client.cc](arrow::flight::FlightClient::CheckOpen() const (client.cc:716))
   from 
arrow::flight::FlightClient::AuthenticateBasicToken(arrow::flight::FlightCallOptions
 const&, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&, std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&) (client.cc:555)
   
   At the line 716 in client.cc:
   
   Status FlightClient::CheckOpen() const {
     if (closed_) {
       return Status::Invalid("FlightClient is closed");
     }
     return Status::OK();
   }
   
   Segmentation Fault occurred at: line 555 in same client.cc:
   
   arrow::Result<std::pair<std::string, std::string>> 
FlightClient::AuthenticateBasicToken(
       const FlightCallOptions& options, const std::string& username,
       const std::string& password) {
     RETURN_NOT_OK(CheckOpen());  //Here is line 555, core dump starts here.
     return transport_->AuthenticateBasicToken(options, username, password);
   }
    
   
   Wondering why it is an invalid read?
   
   ==5046== Invalid read of size 1
   ==5046==    at 0x4ABF7E1: arrow::flight::FlightClient::CheckOpen() const 
(client.cc:716)
   ==5046==    by 0x4ABDC12: 
arrow::flight::FlightClient::AuthenticateBasicToken(arrow::flight::FlightCallOptions
 const&, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&, std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&) (client.cc:555)
   ==5046==    by 0x1159B9: main::{lambda()#1}::operator()() const (in 
/home/alice/arrow_notes/flightsql/build/arrow_flight_cpp)
   ==5046==    by 0x1163C8: main (in 
/home/alice/arrow_notes/flightsql/build/arrow_flight_cpp)
   ==5046==  Address 0x8 is not stack'd, malloc'd or (recently) free'd
   
   Thanks
   
   George Jen
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   ### Component(s)
   
   C, C++, FlightRPC


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to