Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin segfault issue with iRODS 4.3.1 release #7

Open
kjsanger opened this issue Nov 20, 2023 · 1 comment
Open

Plugin segfault issue with iRODS 4.3.1 release #7

kjsanger opened this issue Nov 20, 2023 · 1 comment
Assignees

Comments

@kjsanger
Copy link

kjsanger commented Nov 20, 2023

samtools 1.18
htslib-plugins: 201712

Running the following (which is from one of our test suites which passes on iRODS 4.2.7, 4.2.11 and 4.2.12) fails on the current 4.3.1 release of iRODS. This is similar to, but not quite the same error as in #6, which is from a 4-3-stable iRODS branch prior to the release of 4.3.1.

The command producing the error is the same as #6 :

samtools view -C -T ./t/data/aln_data_object/test_ref.fa -o irods:/testZone/home/irods/Illumina::AlnDataObjectTest.53621.19/7915_5\#0.cram ./t/data/aln_data_object/7915_5\#0.sam
Reading symbols from samtools...
(gdb) run
Starting program: /usr/local/bin/samtools view -C -T ./t/data/aln_data_object/test_ref.fa -o irods:/testZone/home/irods/Illumina::AlnDataObjectTest.5733.19/7915_5\#0.cram ./t/data/aln_data_object/7915_5\#0.sam
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7a50617 in std::__1::pair<boost::unordered::detail::iterator_detail::iterator<boost::unordered::detail::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, boost::any>, void*>, boost::unordered::detail::bucket<boost::unordered::detail::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, boost::any>, void*>, void*> >, bool> boost::unordered::detail::table<boost::unordered::detail::map<std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, boost::any> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, boost::any, irods::irods_string_hash, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::try_emplace_unique<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> > const&) () from /lib/libirods_client.so.4.3.1
(gdb) bt
#0  0x00007ffff7a50617 in std::__1::pair<boost::unordered::detail::iterator_detail::iterator<boost::unordered::detail::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, boost::any>, void*>, boost::unordered::detail::bucket<boost::unordered::detail::node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, boost::any>, void*>, void*> >, bool> boost::unordered::detail::table<boost::unordered::detail::map<std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, boost::any> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, boost::any, irods::irods_string_hash, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::try_emplace_unique<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> > const&) () from /lib/libirods_client.so.4.3.1
#1  0x00007ffff7abf8db in irods::plugin_base::call<char const*, BytesBuf const*, BytesBuf const*, BytesBuf const*, int, iRODSProtocol>(RsComm*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, boost::shared_ptr<irods::first_class_object>, char const*, BytesBuf const*, BytesBuf const*, BytesBuf const*, int, iRODSProtocol)::{lambda(irods::plugin_context&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, char const*, BytesBuf const*, BytesBuf const*, BytesBuf const*, int, iRODSProtocol)#1}::operator()(irods::plugin_context&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, char const*, BytesBuf const*, BytesBuf const*, BytesBuf const*, int, iRODSProtocol) const () from /lib/libirods_client.so.4.3.1
#2  0x00007ffff7abe543 in irods::error irods::plugin_base::call<char const*, BytesBuf const*, BytesBuf const*, BytesBuf const*, int, iRODSProtocol>(RsComm*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, boost::shared_ptr<irods::first_class_object>, char const*, BytesBuf const*, BytesBuf const*, BytesBuf const*, int, iRODSProtocol) () from /lib/libirods_client.so.4.3.1
#3  0x00007ffff7aba66b in sendRodsMsg(boost::shared_ptr<irods::network_object>, char const*, BytesBuf const*, BytesBuf const*, BytesBuf const*, int, iRODSProtocol) () from /lib/libirods_client.so.4.3.1
#4  0x00007ffff7ab9a5e in sendStartupPack () from /lib/libirods_client.so.4.3.1
#5  0x00007ffff7ab89a5 in connectToRhost () from /lib/libirods_client.so.4.3.1
#6  0x00007ffff7a9f3c4 in _rcConnect () from /lib/libirods_client.so.4.3.1
#7  0x00007ffff7a9f102 in rcConnect () from /lib/libirods_client.so.4.3.1
#8  0x00007ffff7b42b00 in irods_init () at hfile_irods.c:139
#9  hopen_irods (filename=0x5555556113f0 "irods:/testZone/home/irods/Illumina::AlnDataObjectTest.5733.19/7915_5#0.cram", mode=0x7fffffffe0d0 "wc") at hfile_irods.c:267
#10 0x00007ffff7ee0cf8 in hopen (fname=fname@entry=0x5555556113f0 "irods:/testZone/home/irods/Illumina::AlnDataObjectTest.5733.19/7915_5#0.cram", mode=mode@entry=0x7fffffffe0d0 "wc") at hfile.c:1274
#11 0x00007ffff7eeada9 in hts_open_format (fn=fn@entry=0x5555556113f0 "irods:/testZone/home/irods/Illumina::AlnDataObjectTest.5733.19/7915_5#0.cram", mode=mode@entry=0x7fffffffe37c "wc", fmt=fmt@entry=0x7fffffffe220) at hts.c:908
#12 0x0000555555568652 in main_samview (argc=7, argv=0x7fffffffe4e0) at sam_view.c:1194
#13 0x00007ffff7bb5d90 in __libc_start_call_main (main=main@entry=0x5555555608b0 <main>, argc=argc@entry=8, argv=argv@entry=0x7fffffffe4d8) at ../sysdeps/nptl/libc_start_call_main.h:58
#14 0x00007ffff7bb5e40 in __libc_start_main_impl (main=0x5555555608b0 <main>, argc=8, argv=0x7fffffffe4d8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe4c8) at ../csu/libc-start.c:392
--Type <RET> for more, q to quit, c to continue without paging--
#15 0x00005555555611a5 in _start ()

Full samtools details:

samtools 1.18
Using htslib 1.18
Copyright (C) 2023 Genome Research Ltd.

Samtools compilation details:
    Features:       build=configure curses=no 
    CC:             gcc
    CPPFLAGS:       -I/usr/include/irods
    CFLAGS:         -Wall -g -O2
    LDFLAGS:        
    HTSDIR:         
    LIBS:           
    CURSES_LIB:     

HTSlib compilation details:
    Features:       build=configure libcurl=yes S3=yes GCS=yes libdeflate=no lzma=yes bzip2=yes plugins=yes plugin-path=/usr/local/libexec/htslib: htscodecs=1.5.1
    CC:             gcc
    CPPFLAGS:       -I/usr/include/irods
    CFLAGS:         -Wall -g -O2 -fvisibility=hidden
    LDFLAGS:        -fvisibility=hidden -rdynamic

HTSlib URL scheme handlers present:
    built-in:    preload, data, file
    Google Cloud Storage:        gs+http, gs+https, gs
    S3 Multipart Upload:         s3w, s3w+https, s3w+http
    Amazon S3:   s3+https, s3+http, s3
    mmap:        mmap
    libcurl:     imaps, pop3, gophers, http, smb, gopher, sftp, ftps, imap, smtp, smtps, rtsp, scp, ftp, telnet, mqtt, rtmp, ldap, https, ldaps, smbs, tftp, pop3s, dict
    iRODS:       irods4.3.1, irods
    crypt4gh-needed:     crypt4gh
    mem:         mem
kjsanger added a commit to kjsanger/npg_irods that referenced this issue Nov 20, 2023
There's a known issue with the htslib plugins. While it's being looked
into, mark the tests as optional.

samtools/htslib-plugins#7
@whitwham whitwham self-assigned this Nov 21, 2023
@whitwham
Copy link

When we built iRODS one of our OpenStack machines it worked fine. That was using boost 1.74 on a Ubuntu Jammy machine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants