Description of problem: The service cups-browsed doesn't run after booting the computer. Version-Release number of selected component (if applicable): cups-2.2.12-3.fc31.x86_64 How reproducible: Always Steps to Reproduce: 1. Turn on the comnputer 2. Make sure that the service "cups-browsed" is enabled. Actual results: systemctl status cups-browsed.service ● cups-browsed.service - Make remote CUPS printers available locally Loaded: loaded (/usr/lib/systemd/system/cups-browsed.service; enabled; vendor preset: disabled) Active: failed (Result: core-dump) since Fri 2020-02-14 07:09:57 CET; 2h 21min ago Process: 1033 ExecStart=/usr/sbin/cups-browsed (code=dumped, signal=ABRT) Main PID: 1033 (code=dumped, signal=ABRT) CPU: 2.793s Feb 14 07:09:53 mycomputer systemd[1]: Started Make remote CUPS printers available locally. Feb 14 07:09:56 mycomputer cups-browsed[1033]: *** buffer overflow detected ***: /usr/sbin/cups-browsed terminated Feb 14 07:09:57 mycomputer systemd[1]: cups-browsed.service: Main process exited, code=dumped, status=6/ABRT Feb 14 07:09:57 mycomputer systemd[1]: cups-browsed.service: Failed with result 'core-dump'. Feb 14 07:09:57 mycomputer systemd[1]: cups-browsed.service: Consumed 2.793s CPU time. Expected results: cups-browsed should run without any crash.
Hi Attila, thank you for reporting the issue! Unfortunately, I'm not able to reproduce the issue. Would you mind providing full backtrace of the crash? coredumpctl or abrt could help with that. You can try cleaning /var/cache/cups/cups-browsed* files and /var/cache/cups/*.data files too.
Hi, here you go. The coredumpctl: coredumpctl info PID: 5489 (cups-browsed) UID: 0 (root) GID: 0 (root) Signal: 6 (ABRT) Timestamp: Fri 2020-02-14 09:49:09 CET (4h 53min ago) Command Line: /usr/sbin/cups-browsed Executable: /usr/sbin/cups-browsed Control Group: /system.slice/cups-browsed.service Unit: cups-browsed.service Slice: system.slice Boot ID: 03422f3549ca4a23b4f9bfc470dd9a3d Machine ID: 0c5c0428250445d39adf4882745bb004 Hostname: mycomputer Storage: /var/lib/systemd/coredump/core.cups-browsed.0.03422f3549ca4a23b4f9bfc470dd9a3d.5489.1581670149000000000000.lz4 Message: Process 5489 (cups-browsed) of user 0 dumped core. Stack trace of thread 5489: #0 0x00007fa39a43a625 raise (libc.so.6) #1 0x00007fa39a4238d9 abort (libc.so.6) #2 0x00007fa39a47e4af __libc_message (libc.so.6) #3 0x00007fa39a50f5d5 __GI___fortify_fail_abort (libc.so.6) #4 0x00007fa39a50f607 __fortify_fail (libc.so.6) #5 0x00007fa39a50de56 __chk_fail (libc.so.6) #6 0x000055bc9e07fc9d check_printer_with_options (cups-browsed) #7 0x000055bc9e080472 generate_cluster_conflicts (cups-browsed) #8 0x000055bc9e08b1d3 update_cups_queues (cups-browsed) #9 0x00007fa39a75d021 g_timeout_dispatch (libglib-2.0.so.0) #10 0x00007fa39a75c510 g_main_context_dispatch (libglib-2.0.so.0) #11 0x00007fa39a75c8a0 g_main_context_iterate.isra.0 (libglib-2.0.so.0) #12 0x00007fa39a75cb93 g_main_loop_run (libglib-2.0.so.0) #13 0x000055bc9e077f1e main (cups-browsed) #14 0x00007fa39a4251a3 __libc_start_main (libc.so.6) #15 0x000055bc9e078b5e _start (cups-browsed) Stack trace of thread 5491: #0 0x00007fa39a4f4a6f __poll (libc.so.6) #1 0x00007fa39a75c80e g_main_context_iterate.isra.0 (libglib-2.0.so.0) #2 0x00007fa39a75cb93 g_main_loop_run (libglib-2.0.so.0) #3 0x00007fa39a9abe9a gdbus_shared_thread_func (libgio-2.0.so.0) #4 0x00007fa39a785fc2 g_thread_proxy (libglib-2.0.so.0) #5 0x00007fa39a5d04e2 start_thread (libpthread.so.0) #6 0x00007fa39a4ff6d3 __clone (libc.so.6) Stack trace of thread 5490: #0 0x00007fa39a4f4a6f __poll (libc.so.6) #1 0x00007fa39a75c80e g_main_context_iterate.isra.0 (libglib-2.0.so.0) #2 0x00007fa39a75c943 g_main_context_iteration (libglib-2.0.so.0) #3 0x00007fa39a75c991 glib_worker_main (libglib-2.0.so.0) #4 0x00007fa39a785fc2 g_thread_proxy (libglib-2.0.so.0) #5 0x00007fa39a5d04e2 start_thread (libpthread.so.0) #6 0x00007fa39a4ff6d3 __clone (libc.so.6)
(In reply to Zdenek Dohnal from comment #1) > Would you mind providing full backtrace of the crash? ---- Unfortunately, I cannot do much when I do not know variable values and line numbers where the crash happened. Would you mind running 'coredumpctl debug' for the coredump, installing requested debuginfos and run 'bt f' in gdb console?
(gdb) bt f #0 0x00007fa39a43a625 in raise () from /lib64/libc.so.6 No symbol table info available. #1 0x00007fa39a4238d9 in abort () from /lib64/libc.so.6 No symbol table info available. #2 0x00007fa39a47e4af in __libc_message () from /lib64/libc.so.6 No symbol table info available. #3 0x00007fa39a50f5d5 in __fortify_fail_abort () from /lib64/libc.so.6 No symbol table info available. #4 0x00007fa39a50f607 in __fortify_fail () from /lib64/libc.so.6 No symbol table info available. #5 0x00007fa39a50de56 in __chk_fail () from /lib64/libc.so.6 No symbol table info available. #6 0x000055bc9e07fc9d in strcat (__src=0x7ffe34aeff5c ".Borderless", __dest=0x55bc9fae8660 "\220\211\256\237\274U100.19x100.19mm") at /usr/include/bits/string_fortified.h:128 No locals. #7 check_printer_with_options (cluster_name=0x55bc9e220cc0 "EPSON7900", idx_option1=<optimized out>, option1=0x55bc9f85aff0 "100.19x100.19mm", idx_option2=10, option2=0x55bc9f9813b0 "False") at utils/cups-browsed.c:2509 p = <optimized out> first_attributes_value = <optimized out> second_attributes_value = <optimized out> borderless_pagesize = 0x55bc9fae8660 "\220\211\256\237\274U100.19x100.19mm" option1_is_size = 0 option2_is_size = 0 t = ".Borderless" #8 0x000055bc9e080472 in generate_cluster_conflicts (cluster_name=<optimized out>, merged_attributes=<optimized out>) at utils/cups-browsed.c:2687 --Type <RET> for more, q to quit, c to continue without paging--c p = 0x55bc9f6dea70 conflict_pairs = 0x55bca099ae50 i = 0 k = 10 j = 8 no_of_printers = <optimized out> no_of_ppd_keywords = <optimized out> printer_first_options = 0x55bca09d8940 printer_second_options = 0x55bca09d9120 opt1 = <optimized out> opt2 = 0x55bc9f9813b0 "False" constraint = "op-margin=318 media-source=RollCutDouble media-type=Postcard},{media-size={x-dimension=5468 y-d\000\020:\257\064" ppdsizename = 0x55bc9f6f5450 "Tabloid" temp = <optimized out> sizes = <optimized out> pagesizes = <optimized out> size = <optimized out> cluster_options = <optimized out> #9 0x000055bc9e08b1d3 in update_cups_queues (unused=<optimized out>) at utils/cups-browsed.c:8317 p = 0x55bc9e1cc920 q = <optimized out> r = <optimized out> s = <optimized out> master = <optimized out> http = 0x55bc9e1d4400 uri = "ipp://localhost/printers/EPSON7900", '\000' <repeats 989 times> device_uri = "implicitclass://EPSON7900/", '\000' <repeats 997 times> buf = '\000' <repeats 1023 times> line = '\000' <repeats 1023 times> num_options = <optimized out> options = 0x0 num_jobs = <optimized out> jobs = 0x0 request = <optimized out> current_time = <optimized out> i = <optimized out> ap_remote_queue_id_line_inserted = <optimized out> want_raw = <optimized out> num_cluster_printers = <optimized out> disabled_str = <optimized out> ptr = <optimized out> ppdfile = <optimized out> ifscript = <optimized out> fd = <optimized out> tempfile = '\000' <repeats 1023 times> buffer = '\000' <repeats 1512 times>... bytes = <optimized out> cups_serverbin = <optimized out> attr = <optimized out> count = <optimized out> left = <optimized out> right = <optimized out> bottom = <optimized out> top = <optimized out> default_page_size = <optimized out> best_color_space = 0x0 color_space = <optimized out> loadedppd = 0x0 ppd = <optimized out> choice = <optimized out> in = <optimized out> out = <optimized out> keyword = '\000' <repeats 1023 times> keyptr = <optimized out> customval = <optimized out> val = <optimized out> dest = <optimized out> is_shared = <optimized out> conflicts = <optimized out> printer_attributes = 0x55bc9e1fc0f0 sizes = <optimized out> printer_ipp_response = <optimized out> make_model = 0x55bc9f6e70a0 "0\313m\237\274U" pdl = 0x0 color = <optimized out> duplex = <optimized out> default_pagesize = 0x55bc9f6f1040 "@*\"\236\274U" default_color = 0x0 cups_queues_updated = <optimized out> #10 0x00007fa39a75d021 in g_timeout_dispatch () from /lib64/libglib-2.0.so.0 No symbol table info available. #11 0x00007fa39a75c510 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0 No symbol table info available. #12 0x00007fa39a75c8a0 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0 No symbol table info available. #13 0x00007fa39a75cb93 in g_main_loop_run () from /lib64/libglib-2.0.so.0 No symbol table info available. #14 0x000055bc9e077f1e in main (argc=1, argv=<optimized out>) at utils/cups-browsed.c:12333 ret = 1 http = <optimized out> i = <optimized out> val = <optimized out> p = <optimized out> proxy = 0x55bc9e209c60 error = 0x0 subscription_id = 604 action = {__sigaction_handler = {sa_handler = 0x55bc9e0837e0 <sigusr2_handler>, sa_sigaction = 0x55bc9e0837e0 <sigusr2_handler>}, sa_mask = {__val = {2048, 0 <repeats 15 times>}}, sa_flags = 0, sa_restorer = 0x0} (gdb)
Would you mind testing the build https://koji.fedoraproject.org/koji/taskinfo?taskID=41540745 ?
I have updated the following packages: cups-filters x86_64 1.27.0-2.fc31 @commandline 814 k cups-filters-debuginfo x86_64 1.27.0-2.fc31 @commandline 2.1 M cups-filters-debugsource x86_64 1.27.0-2.fc31 @commandline 397 k cups-filters-libs x86_64 1.27.0-2.fc31 @commandline 137 k "cups-browsed" has been crashed three seconds after restart. systemctl status cups-browsed.service ● cups-browsed.service - Make remote CUPS printers available locally Loaded: loaded (/usr/lib/systemd/system/cups-browsed.service; enabled; vendor preset: disabled) Active: failed (Result: core-dump) since Mon 2020-02-17 15:13:01 CET; 3s ago Process: 13462 ExecStart=/usr/sbin/cups-browsed (code=dumped, signal=SEGV) Main PID: 13462 (code=dumped, signal=SEGV) CPU: 2.154s Feb 17 15:12:58 mycomputer systemd[1]: Started Make remote CUPS printers available locally. Feb 17 15:13:01 mycomputer systemd[1]: cups-browsed.service: Main process exited, code=dumped, status=11/SEGV Feb 17 15:13:01 mycomputer systemd[1]: cups-browsed.service: Failed with result 'core-dump'. Feb 17 15:13:01 mycomputer systemd[1]: cups-browsed.service: Consumed 2.154s CPU time. coredumpctl debug (gdb) bt f #0 0x00007fdb158c5d17 in __strcat_avx2 () from /lib64/libc.so.6 No symbol table info available. #1 0x0000561738eb9e4a in strcat (__src=0x56173a9447f0 "100.19x100.19mm", __dest=0x0) at /usr/include/bits/string_fortified.h:128 No locals. #2 check_printer_with_options (cluster_name=0x5617392eff00 "EPSON7900", idx_option1=<optimized out>, option1=0x56173a9447f0 "100.19x100.19mm", idx_option2=10, option2=0x56173aa6abb0 "False") at utils/cups-browsed.c:2525 p = <optimized out> first_attributes_value = <optimized out> second_attributes_value = <optimized out> borderless_pagesize = 0x0 option1_is_size = 0 option2_is_size = 0 max_length = 42 option1_len = 15 option2_len = 5 t_len = 11 t = ".Borderless" #3 0x0000561738eba412 in generate_cluster_conflicts (cluster_name=<optimized out>, merged_attributes=<optimized out>) at utils/cups-browsed.c:2707 p = 0x5617392ee030 conflict_pairs = 0x56173ba845f0 i = 0 --Type <RET> for more, q to quit, c to continue without paging--c k = 10 j = 7 no_of_printers = <optimized out> no_of_ppd_keywords = <optimized out> printer_first_options = 0x56173bac20e0 printer_second_options = 0x56173bac28c0 opt1 = <optimized out> opt2 = 0x56173aa6abb0 "False" constraint = "op-margin=318 media-source=RollCutDouble media-type=Postcard},{media-size={x-dimension=5468 y-d\000Я U" ppdsizename = 0x56173a7df410 "Tabloid" temp = <optimized out> sizes = <optimized out> pagesizes = <optimized out> size = <optimized out> cluster_options = <optimized out> #4 0x0000561738ec5173 in update_cups_queues (unused=<optimized out>) at utils/cups-browsed.c:8337 p = 0x5617392bd940 q = <optimized out> r = <optimized out> s = <optimized out> master = <optimized out> http = 0x5617392c5400 uri = "ipp://localhost/printers/EPSON7900", '\000' <repeats 989 times> device_uri = "implicitclass://EPSON7900/", '\000' <repeats 997 times> buf = '\000' <repeats 1023 times> line = '\000' <repeats 1023 times> num_options = <optimized out> options = 0x0 num_jobs = <optimized out> jobs = 0x0 request = <optimized out> current_time = <optimized out> i = <optimized out> ap_remote_queue_id_line_inserted = <optimized out> want_raw = <optimized out> num_cluster_printers = <optimized out> disabled_str = <optimized out> ptr = <optimized out> ppdfile = <optimized out> ifscript = <optimized out> fd = <optimized out> tempfile = '\000' <repeats 1023 times> buffer = '\000' <repeats 1512 times>... bytes = <optimized out> cups_serverbin = <optimized out> attr = <optimized out> count = <optimized out> left = <optimized out> right = <optimized out> bottom = <optimized out> top = <optimized out> default_page_size = <optimized out> best_color_space = 0x0 color_space = <optimized out> loadedppd = 0x0 ppd = <optimized out> choice = <optimized out> in = <optimized out> out = <optimized out> keyword = '\000' <repeats 1023 times> keyptr = <optimized out> customval = <optimized out> val = <optimized out> dest = <optimized out> is_shared = <optimized out> conflicts = <optimized out> printer_attributes = 0x561739311b80 sizes = <optimized out> printer_ipp_response = <optimized out> make_model = 0x56173a7983f0 "0\244}:\027V" pdl = 0x0 color = <optimized out> duplex = <optimized out> default_pagesize = 0x56173a4ca400 "\240\235{:\027V" default_color = 0x0 cups_queues_updated = <optimized out> #5 0x00007fdb15ac3021 in g_timeout_dispatch () from /lib64/libglib-2.0.so.0 No symbol table info available. #6 0x00007fdb15ac2510 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0 No symbol table info available. #7 0x00007fdb15ac28a0 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0 No symbol table info available. #8 0x00007fdb15ac2b93 in g_main_loop_run () from /lib64/libglib-2.0.so.0 No symbol table info available. #9 0x0000561738eb1f1e in main (argc=1, argv=<optimized out>) at utils/cups-browsed.c:12353 ret = 1 http = <optimized out> i = <optimized out> val = <optimized out> p = <optimized out> proxy = 0x5617392fa460 error = 0x0 subscription_id = 618 action = {__sigaction_handler = {sa_handler = 0x561738ebd780 <sigusr2_handler>, sa_sigaction = 0x561738ebd780 <sigusr2_handler>}, sa_mask = {__val = {2048, 0 <repeats 15 times>}}, sa_flags = 0, sa_restorer = 0x0} (gdb)
Damn it, I initialized the string badly - would you mind trying these rpms? https://koji.fedoraproject.org/koji/taskinfo?taskID=41549587 they have the same NVR - you need to do 'dnf reinstall' with them. I'm sorry for inconvenience and hope it helps now.
(In reply to Zdenek Dohnal from comment #7) > Damn it, I initialized the string badly - would you mind trying these rpms? > https://koji.fedoraproject.org/koji/taskinfo?taskID=41549587 they have the > same NVR - you need to do 'dnf reinstall' with them. > > I'm sorry for inconvenience and hope it helps now. Don't worry. Thanks for the quick fix. cups-browsed.service is now still alive. Will monitor it.
Ok, if nothing happens, I'll send the fix to upstream and build it for Fedora tomorrow.
It seems to be OK. "cups-browsed.service" is running, no more crash. I think you can close this bug report. Are you going to build it for Fedora 30 as well? Thank you again for your excellent support.
Thank you for letting me know - I'll build it for all releases, but F30 will need some pushes from community, because it takes long now (it will be EOL soon IIRC).
Reported upstream https://github.com/OpenPrinting/cups-filters/pull/204
FEDORA-2020-54d4e4f123 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-54d4e4f123
cups-filters-1.27.1-1.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-54d4e4f123
cups-filters-1.27.1-1.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.