-
Notifications
You must be signed in to change notification settings - Fork 0
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
segfault on createing metadata with --workers=2 (3,4,5,etc too) #2
Comments
==30457== LEAK SUMMARY: |
Program received signal SIGSEGV, Segmentation fault. |
Yes. I've added a mutex to serialize header I/O, which protects ts->dig (returned by pgpDigNew()) for now. Serialization seems to limit the number of worker threads reading packages to ~3, which is likely most of the benefit of multiple threads. Threads formatting XML/SQLITE are unaffected (and that's likely most of the work). A better fix will have to wait for a new version of rpm to add a refcount on ts->dig (but its a very tricky code path to test, including automatically fetching public keys with HKP and more). |
[New LWP 30387]
Program received signal SIGSEGV, Segmentation fault.
[Switching to LWP 30387]
0x00007ffff7f2677b in g_string_chunk_insert_len () from /lib64/libglib-2.0.so.0
(gdb) bt
#0 0x00007ffff7f2677b in g_string_chunk_insert_len () from /lib64/libglib-2.0.so.0
#1 0x00007ffff7fd4277 in cr_package_from_header () from /usr/lib64/libcreaterepo_c.so.0
#2 0x00007ffff7fd4884 in cr_package_from_rpm_base () from /usr/lib64/libcreaterepo_c.so.0
rpm-software-management#3 0x00007ffff7fcc016 in cr_dumper_thread () from /usr/lib64/libcreaterepo_c.so.0
rpm-software-management#4 0x00007ffff7f2a7fc in ?? () from /lib64/libglib-2.0.so.0
rpm-software-management#5 0x00007ffff7f2a296 in ?? () from /lib64/libglib-2.0.so.0
rpm-software-management#6 0x00007ffff6f4402d in start_thread () from /lib64/libpthread.so.0
rpm-software-management#7 0x00007ffff7b3f10f in clone () from /lib64/libc.so.6
The text was updated successfully, but these errors were encountered: