irods
irods copied to clipboard
modifying resource context via CLI results in stacktrace
Bug Report
iRODS Version, OS and Version
iRODS 4.2.9, CentOS 7.9.2009
What did you try to do?
$ iadmin modresc awstestResc context "S3_DEFAULT_HOSTNAME=s3.us-east-1.amazonaws.com;S3_AUTH_FILE=/var/lib/irods/.aws/irods_s3_auth;S3_REGIONNAME=us-east-1;S3_RETRY_COUNT=3;S3_WAIT_TIME_SEC=5;S3_PROTO=HTTPS;ARCHIVE_NAMING_POLICY=consistent;HOST_MODE=cacheless_attached"
Expected behavior
¿Should update resc_context
value in r_resc_main
table?
Observed behavior (including steps to reproduce, if applicable)
DB entry isn't updated, iRODS crashes, rodsLog says:
Jun 17 10:39:07 pid:28217 remote addresses: my-server, ::1 ERROR:
Caught signal [11]. Dumping stacktrace and exiting
Dumping stack trace
<0> Offset: Address: 0x7f2cc0744423 /lib/libirods_server.so.4.2.9(+0xae1423) [0x7f2cc0744423]
<1> Offset: Address: 0x7f2cbe253630 /lib64/libpthread.so.0(+0xf630) [0x7f2cbe253630]
<2> Offset: Address: 0x7f2cbdee40d4 /lib64/libc.so.6(fclose+0x4) [0x7f2cbdee40d4]
<3> Offset: 0x529 Address: 0x7f2cb3a82249 readS3AuthInfo(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, irods::lookup_table<boost::any, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, irods::irods_string_hash>&)
<4> Offset: 0x4e0 Address: 0x7f2cb3a82bc0 s3ReadAuthInfo(irods::lookup_table<boost::any, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, irods::irods_string_hash>&)
<5> Offset: 0x3eb Address: 0x7f2cb3a9236b s3StartOperation(irods::lookup_table<boost::any, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, irods::irods_string_hash>&)
<6> Offset: 0xd Address: 0x7f2cc118096d std::__1::__function::__func<irods::error (*)(irods::lookup_table<boost::any, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, irods::irods_string_hash>&), std::__1::allocator<irods::error (*)(irods::lookup_table<boost::any, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, irods::irods_string_hash>&)>, irods::error (irods::lookup_table<boost::any, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, irods::irods_string_hash>&)>::operator()(irods::lookup_table<boost::any, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, irods::irods_string_hash>&)
<7> Offset: 0x51 Address: 0x7f2cc0708bb1 irods::resource_manager::start_resource_plugins()
<8> Offset: 0x6f8 Address: 0x7f2cc07014e8 irods::resource_manager::init_from_catalog(RsComm*)
<9> Offset: 0x397 Address: 0x7f2cc047ced7 initServerInfo(int, RsComm*)
<10> Offset: 0x24 Address: 0x7f2cc047f534 initAgent(int, RsComm*)
<11> Offset: 0x18a8 Address: 0x7f2cc0772398 runIrodsAgentFactory(sockaddr_un)
<12> Offset: Address: 0x42ce58 /usr/sbin/irodsServer(main+0x1708) [0x42ce58]
<13> Offset: Address: 0x7f2cbde98555 /lib64/libc.so.6(__libc_start_main+0xf5) [0x7f2cbde98555]
<14> Offset: Address: 0x42b56c /usr/sbin/irodsServer() [0x42b56c]
Jun 17 10:39:07 pid:28124 ERROR: Agent process [28217] exited with status [11]
Manually blanking resc_context
for that resource in the DB allows iRODS to restart cleanly.
I'm not certain what I'm doing wrong; if this is a result of stupid user behavior please feel free to close this issue outright.