Description of problem: par2 create throws SIGSEGV on specific file Version-Release number of selected component (if applicable): How reproducible: Every time on that specific file Steps to Reproduce: 1.par2 create filename 2. 3. Actual results: Starting program: /usr/bin/par2 create filename [Thread debugging using libthread_db enabled] [New Thread 0x7ffff7cc6710 (LWP 11345)] par2cmdline version 0.4, Copyright (C) 2003 Peter Brian Clements. Modifications for concurrent processing, Unicode support, and hierarchial directory support are Copyright (c) 2007-2009 Vincent Tan. Concurrent processing utilises Intel Thread Building Blocks 2.0, Copyright (c) 2007-2008 Intel Corp. Executing using the 64-bit x86 (AMD64) instruction set. par2cmdline comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See COPYING for details. Processing checksums and Reed-Solomon data concurrently. Block size: 8 Source file count: 1 Source block count: 2044 Redundancy: 5% Recovery block count: 102 Recovery file count: 7 Opening: filename Computing Reed Solomon matrix. Constructing: done. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffff7cc6710 (LWP 11345)] loop () at ./reedsolomon-x86_64-mmx.s:64 64 movq 8(%rsi, %rcx, 1), %mm4 # read-ahead next 8 source bytes Current language: auto The current source language is "auto; currently asm". Expected results: No SIGSEGV Additional info: Backtrace Thread 2 (Thread 0x7ffff7cc6710 (LWP 11345)): #0 loop () at ./reedsolomon-x86_64-mmx.s:64 No locals. #1 0x00007ffff7cc5200 in ?? () No symbol table info available. #2 0x0000000000000000 in ?? () No symbol table info available. Thread 1 (Thread 0x7ffff7fcb720 (LWP 11342)): #0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:39 No locals. #1 0x00000034fea0f557 in futex_wakeup_all (futex=<value optimized out>) at ../../include/tbb/machine/linux_common.h:86 No locals. #2 try_update (futex=<value optimized out>) at ../../src/tbb/gate.h:66 old_state = <value optimized out> #3 mark_pool_full (futex=<value optimized out>) at ../../src/tbb/task.cpp:1429 snapshot = <value optimized out> #4 tbb::internal::GenericScheduler::spawn (futex=<value optimized out>) at ../../src/tbb/task.cpp:1979 first_ptr = 0x7ffff7da7940 link = 0x7ffff7da7938 d = <value optimized out> tp = <value optimized out> #5 0x00000034fea0b90a in spawn (child=<value optimized out>, this=<value optimized out>) at ../../include/tbb/task.h:496 No locals. #6 tbb::internal::stage_task::execute (child=<value optimized out>, this=<value optimized out>) at ../../src/tbb/pipeline.cpp:194 next = <value optimized out> #7 0x00000034fea11631 in tbb::internal::CustomScheduler<tbb::internal::IntelSchedulerTraits>::wait_for_all (this=0x7ffff7dbbe80, parent=..., child=0x7fffffff) at ../../src/tbb/task.cpp:2225 t_next = 0x2 t = 0x7ffff7da7ac0 d = 0 parent_ctx = <value optimized out> #8 0x00000034fea0b3d7 in spawn_and_wait_for_all (child=<value optimized out>, this=<value optimized out>) at ../../include/tbb/task.h:506 No locals. #9 tbb::pipeline::run (child=<value optimized out>, this=<value optimized out>) at ../../src/tbb/pipeline.cpp:350 No locals. #10 0x0000000000415af7 in Par2Creator::ProcessData (this=0x83ff00, blockoffset=<value optimized out>, blocklength=8) at par2creator.cpp:1460 s = {<pipeline_state<create_buffer>> = {<pipeline_state_base> = {chunksize_ = 8, missingblockcount_ = 102, blocklength_ = 8, blockoffset_ = 0, inputblocks_ = std::vector of length 2044, capacity 2044 = {0x84a3a0, 0x84a3b8, 0x84a3d0, 0x84a3e8, 0x84a400, 0x84a418, 0x84a430, 0x84a448, 0x84a460, 0x84a478, 0x84a490, 0x84a4a8, 0x84a4c0, 0x84a4d8, 0x84a4f0, 0x84a508, 0x84a520, 0x84a538, 0x84a550, 0x84a568, 0x84a580, 0x84a598, 0x84a5b0, 0x84a5c8, 0x84a5e0, 0x84a5f8, 0x84a610, 0x84a628, 0x84a640, 0x84a658, 0x84a670, 0x84a688, 0x84a6a0, 0x84a6b8, 0x84a6d0, 0x84a6e8, 0x84a700, 0x84a718, 0x84a730, 0x84a748, 0x84a760, 0x84a778, 0x84a790, 0x84a7a8, 0x84a7c0, 0x84a7d8, 0x84a7f0, 0x84a808, 0x84a820, 0x84a838, 0x84a850, 0x84a868, 0x84a880, 0x84a898, 0x84a8b0, 0x84a8c8, 0x84a8e0, 0x84a8f8, 0x84a910, 0x84a928, 0x84a940, 0x84a958, 0x84a970, 0x84a988, 0x84a9a0, 0x84a9b8, 0x84a9d0, 0x84a9e8, 0x84aa00, 0x84aa18, 0x84aa30, 0x84aa48, 0x84aa60, 0x84aa78, 0x84aa90, 0x84aaa8, 0x84aac0, 0x84aad8, 0x84aaf0, 0x84ab08, 0x84ab20, 0x84ab38, 0x84ab50, 0x84ab68, 0x84ab80, 0x84ab98, 0x84abb0, 0x84abc8, 0x84abe0, 0x84abf8, 0x84ac10, 0x84ac28, 0x84ac40, 0x84ac58, 0x84ac70, 0x84ac88, 0x84aca0, 0x84acb8, 0x84acd0, 0x84ace8, 0x84ad00, 0x84ad18, 0x84ad30, 0x84ad48, 0x84ad60, 0x84ad78, 0x84ad90, 0x84ada8, 0x84adc0, 0x84add8, 0x84adf0, 0x84ae08, 0x84ae20, 0x84ae38, 0x84ae50, 0x84ae68, 0x84ae80, 0x84ae98, 0x84aeb0, 0x84aec8, 0x84aee0, 0x84aef8, 0x84af10, 0x84af28, 0x84af40, 0x84af58, 0x84af70, 0x84af88, 0x84afa0, 0x84afb8, 0x84afd0, 0x84afe8, 0x84b000, 0x84b018, 0x84b030, 0x84b048, 0x84b060, 0x84b078, 0x84b090, 0x84b0a8, 0x84b0c0, 0x84b0d8, 0x84b0f0, 0x84b108, 0x84b120, 0x84b138, 0x84b150, 0x84b168, 0x84b180, 0x84b198, 0x84b1b0, 0x84b1c8, 0x84b1e0, 0x84b1f8, 0x84b210, 0x84b228, 0x84b240, 0x84b258, 0x84b270, 0x84b288, 0x84b2a0, 0x84b2b8, 0x84b2d0, 0x84b2e8, 0x84b300, 0x84b318, 0x84b330, 0x84b348, 0x84b360, 0x84b378, 0x84b390, 0x84b3a8, 0x84b3c0, 0x84b3d8, 0x84b3f0, 0x84b408, 0x84b420, 0x84b438, 0x84b450, 0x84b468, 0x84b480, 0x84b498, 0x84b4b0, 0x84b4c8, 0x84b4e0, 0x84b4f8, 0x84b510, 0x84b528, 0x84b540, 0x84b558, 0x84b570, 0x84b588, 0x84b5a0, 0x84b5b8, 0x84b5d0, 0x84b5e8, 0x84b600, 0x84b618, 0x84b630, 0x84b648...}, inputindex_ = 2, inputblock_ = 0x84a3d0, inputblock_mutex_ = {static is_rw_mutex = <optimized out>, static is_recursive_mutex = <optimized out>, static is_fair_mutex = <optimized out>, impl = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}}, totalwritten_ = {<tbb::internal::atomic_impl<unsigned long, unsigned long, 1ul>> = {<tbb::internal::atomic_base<unsigned long>> = { my_value = 0}, <No data fields>}, <No data fields>}, openfiles_ = {<tbb::internal::hash_map_base> = { static n_segment_bits = <optimized out>, static n_segment = <optimized out>, static max_physical_size = <optimized out>}, my_allocator = {<No data fields>}, my_hash_compare = {<No data fields>}, my_segment = 0x7ffff7d9b600}, ok_ = true}, inputbuffers_ = std::vector of length 2, capacity 2 = {{<pipeline_buffer> = {<rcbuffer> = {<buffer> = { buffer_ = 0x7ffff7da3f80 "BZh91AY&"}, refcount_ = {<tbb::internal::atomic_impl<int, int, 1ul>> = {<tbb::internal::atomic_base<int>> = { my_value = 1}, <No data fields>}, <No data fields>}}, aiocb_ = {<aiocb> = {aio_fildes = 64, aio_lio_opcode = 0, aio_reqprio = 6539680, aio_buf = 0x31c72fd160, aio_nbytes = 213725810697, aio_sigevent = {sigev_value = {sival_int = 0, sival_ptr = 0x0}, sigev_signo = -1022951085, sigev_notify = 49, _sigev_un = {_pad = {19, 0, -1019795584, 49, 20, 0, -134234112, 32767, -953168320, 49, -1022945547, 49}, _tid = 19, _sigev_thread = {_function = 0x13, _attribute = 0x31c3372780}}}, __next_prio = 0x63c9a8, __abs_prio = -1019795584, __policy = 49, __error_code = 10, __return_value = 10, aio_offset = 213795196480, __pad = 0x7ffff7d97e98 "\b\n\a\303\061", __unused = "\b\n\a\303\061\000\000\000\200'7\303\061\000\000\000\320\377\203\000\000\000\000\000\n\000\000\000\000\000\000"}, <No data fields>}, inputindex_ = 0, write_status_ = NONE}, sourcefile_ = 0x83feb0, sourceindex_ = 0}, {<pipeline_buffer> = {<rcbuffer> = {<buffer> = { buffer_ = 0x7ffff7da3f00 "SY\211W\263U\001d"}, refcount_ = {<tbb::internal::atomic_impl<int, int, 1ul>> = {<tbb::internal::atomic_base<int>> = { my_value = 2}, <No data fields>}, <No data fields>}}, aiocb_ = {<aiocb> = {aio_fildes = 64, aio_lio_opcode = 0, aio_reqprio = 6539680, aio_buf = 0x31c72fd160, aio_nbytes = 213725810697, aio_sigevent = {sigev_value = {sival_int = 0, sival_ptr = 0x0}, sigev_signo = -1022951085, sigev_notify = 49, _sigev_un = {_pad = {19, 0, -1019795584, 49, 20, 0, -134234112, 32767, -953168320, 49, -1022945547, 49}, _tid = 19, _sigev_thread = {_function = 0x13, _attribute = 0x31c3372780}}}, __next_prio = 0x63c9a8, __abs_prio = -1019795584, __policy = 49, __error_code = 10, __return_value = 10, aio_offset = 213795196480, __pad = 0x7ffff7d97f68 "\b\n\a\303\061", __unused = "\b\n\a\303\061\000\000\000\200'7\303\061\000\000\000\320\377\203\000\000\000\000\000\n\000\000\000\000\000\000"}, <No data fields>}, inputindex_ = 1, write_status_ = NONE}, sourcefile_ = 0x83feb0, sourceindex_ = 1}}, inputbuffersidx_ = 0}, sourcefiles_ = std::vector of length 1, capacity 1 = {0x83feb0}, sourcefile_ = 0x83feb0, sourceindex_ = 2, deferhashcomputation_ = true, shm_ = {<tbb::internal::hash_map_base> = {static n_segment_bits = <optimized out>, static n_segment = <optimized out>, static max_physical_size = <optimized out>}, my_allocator = {<No data fields>}, my_hash_compare = {<No data fields>}, my_segment = 0x7ffff7d9ab80}} cfr = {<filter_read_base<create_filter_read, create_buffer>> = {<tbb::filter> = {_vptr.filter = 0x4332b0, next_filter_in_pipeline = 0x7fffffffe0a0, input_buffer = 0x84a270, my_filter_mode = 3 '\003', prev_filter_in_pipeline = 0x0, my_pipeline = 0x7fffffffe120}, state_ = @0x7fffffffe250}, <No data fields>} cfp = {<filter_process_base<create_filter_process, create_buffer, Par2Creator>> = {<tbb::filter> = {_vptr.filter = 0x4333d0, next_filter_in_pipeline = 0x0, input_buffer = 0x0, my_filter_mode = 2 '\002', prev_filter_in_pipeline = 0x7fffffffe0e0, my_pipeline = 0x7fffffffe120}, delegate_ = @0x83ff00, state_ = @0x7fffffffe250}, <No data fields>} sourceblocks_ = std::vector of length 2044, capacity 2044 = {0x84a3a0, 0x84a3b8, 0x84a3d0, 0x84a3e8, 0x84a400, 0x84a418, 0x84a430, 0x84a448, 0x84a460, 0x84a478, 0x84a490, 0x84a4a8, 0x84a4c0, 0x84a4d8, 0x84a4f0, 0x84a508, 0x84a520, 0x84a538, 0x84a550, 0x84a568, 0x84a580, 0x84a598, 0x84a5b0, 0x84a5c8, 0x84a5e0, 0x84a5f8, 0x84a610, 0x84a628, 0x84a640, 0x84a658, 0x84a670, 0x84a688, 0x84a6a0, 0x84a6b8, 0x84a6d0, 0x84a6e8, 0x84a700, 0x84a718, 0x84a730, 0x84a748, 0x84a760, 0x84a778, 0x84a790, 0x84a7a8, 0x84a7c0, 0x84a7d8, 0x84a7f0, 0x84a808, 0x84a820, 0x84a838, 0x84a850, 0x84a868, 0x84a880, 0x84a898, 0x84a8b0, 0x84a8c8, 0x84a8e0, 0x84a8f8, 0x84a910, 0x84a928, 0x84a940, 0x84a958, 0x84a970, 0x84a988, 0x84a9a0, 0x84a9b8, 0x84a9d0, 0x84a9e8, 0x84aa00, 0x84aa18, 0x84aa30, 0x84aa48, 0x84aa60, 0x84aa78, 0x84aa90, 0x84aaa8, 0x84aac0, 0x84aad8, 0x84aaf0, 0x84ab08, 0x84ab20, 0x84ab38, 0x84ab50, 0x84ab68, 0x84ab80, 0x84ab98, 0x84abb0, 0x84abc8, 0x84abe0, 0x84abf8, 0x84ac10, 0x84ac28, 0x84ac40, 0x84ac58, 0x84ac70, 0x84ac88, 0x84aca0, 0x84acb8, 0x84acd0, 0x84ace8, 0x84ad00, 0x84ad18, 0x84ad30, 0x84ad48, 0x84ad60, 0x84ad78, 0x84ad90, 0x84ada8, 0x84adc0, 0x84add8, 0x84adf0, 0x84ae08, 0x84ae20, 0x84ae38, 0x84ae50, 0x84ae68, 0x84ae80, 0x84ae98, 0x84aeb0, 0x84aec8, 0x84aee0, 0x84aef8, 0x84af10, 0x84af28, 0x84af40, 0x84af58, 0x84af70, 0x84af88, 0x84afa0, 0x84afb8, 0x84afd0, 0x84afe8, 0x84b000, 0x84b018, 0x84b030, 0x84b048, 0x84b060, 0x84b078, 0x84b090, 0x84b0a8, 0x84b0c0, 0x84b0d8, 0x84b0f0, 0x84b108, 0x84b120, 0x84b138, 0x84b150, 0x84b168, 0x84b180, 0x84b198, 0x84b1b0, 0x84b1c8, 0x84b1e0, 0x84b1f8, 0x84b210, 0x84b228, 0x84b240, 0x84b258, 0x84b270, 0x84b288, 0x84b2a0, 0x84b2b8, 0x84b2d0, 0x84b2e8, 0x84b300, 0x84b318, 0x84b330, 0x84b348, 0x84b360, 0x84b378, 0x84b390, 0x84b3a8, 0x84b3c0, 0x84b3d8, 0x84b3f0, 0x84b408, 0x84b420, 0x84b438, 0x84b450, 0x84b468, 0x84b480, 0x84b498, 0x84b4b0, 0x84b4c8, 0x84b4e0, 0x84b4f8, 0x84b510, 0x84b528, 0x84b540, 0x84b558, 0x84b570, 0x84b588, 0x84b5a0, 0x84b5b8, 0x84b5d0, 0x84b5e8, 0x84b600, 0x84b618, 0x84b630, 0x84b648...} max_tokens = <value optimized out> p = {_vptr.pipeline = 0x34fec18770, filter_list = 0x7fffffffe0e0, filter_end = 0x7fffffffe0a0, end_counter = 0x7ffff7da7c40, input_tokens = {<tbb::internal::atomic_impl<unsigned long, unsigned long, 1ul>> = {<tbb::internal::atomic_base<unsigned long>> = { my_value = 0}, <No data fields>}, <No data fields>}, token_counter = 2, end_of_input = false} #11 0x000000000041974a in Par2Creator::Process (this=0x83ff00, commandline=<value optimized out>) at par2creator.cpp:407 blocklength = 8 blockoffset = 0 extrafiles = <value optimized out> redundancy = 5 par2filename = "filename" memorylimit = 2044 #12 0x0000000000404490 in main (argc=<value optimized out>, argv=0x7fffffffe4e8) at par2cmdline.cpp:110 init = {<tbb::internal::no_copy> = {<No data fields>}, my_scheduler = 0x7ffff7dbbe80, static automatic = <optimized out>, static deferred = <optimized out>} result = <value optimized out>
Could you please try again with the latest version of tbb installed? http://koji.fedoraproject.org/koji/buildinfo?buildID=139584
Tried with tbb-2.2-1.20090809.fc13.x86_64.rpm - Similar results (edited for brevity): ... /usr/bin/par2: Symbol `_ZTIN3tbb6filterE' has different size in shared object, consider re-linking ... Constructing: done. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffff7a91710 (LWP 13115)] loop () at ./reedsolomon-x86_64-mmx.s:82 82 movq %mm1, 0(%rdi, %rcx, 1) ... Thread 2 (Thread 0x7ffff7a91710 (LWP 13115)): #0 loop () at ./reedsolomon-x86_64-mmx.s:82 No locals. #1 0x00007ffff7a901b0 in ?? () No symbol table info available. #2 0x0000000000000000 in ?? () No symbol table info available. Thread 1 (Thread 0x7ffff7da8720 (LWP 13112)): #0 loop () at ./reedsolomon-x86_64-mmx.s:66 No locals. #1 0x00007fffffffd1d0 in ?? () No symbol table info available. #2 0x0000000000000000 in ?? () No symbol table info available.
*** Bug 549007 has been marked as a duplicate of this bug. ***
*** Bug 545605 has been marked as a duplicate of this bug. ***
Currently, upstream believes this is due to the file size. Attempting to reproduce issue.
Upstream released new version (20100203) available at http://www.chuchusoft.com/par2_tbb/download.html.
par2cmdline-0.4.tbb.20100203-1.fc12 has been submitted as an update for Fedora 12. http://admin.fedoraproject.org/updates/par2cmdline-0.4.tbb.20100203-1.fc12
par2cmdline-0.4.tbb.20100203-1.fc12 has been pushed to the Fedora 12 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update par2cmdline'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2010-1524
par2cmdline-0.4.tbb.20100203-1.fc12 has been pushed to the Fedora 12 stable repository. If problems still persist, please make note of it in this bug report.