Bug 1802969 - Service "cups-browsed" is crashing all the time
Summary: Service "cups-browsed" is crashing all the time
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: cups-filters
Version: 31
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Zdenek Dohnal
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-02-14 08:55 UTC by Attila
Modified: 2020-02-22 01:33 UTC (History)
2 users (show)

Fixed In Version: cups-filters-1.27.1-1.fc31
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-02-22 01:33:58 UTC
Type: Bug


Attachments (Terms of Use)

Description Attila 2020-02-14 08:55:12 UTC
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.

Comment 1 Zdenek Dohnal 2020-02-14 10:10:34 UTC
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.

Comment 2 Attila 2020-02-14 13:52:12 UTC
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)

Comment 3 Zdenek Dohnal 2020-02-14 14:06:21 UTC
(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?

Comment 4 Attila 2020-02-14 14:16:27 UTC
(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)

Comment 5 Zdenek Dohnal 2020-02-17 10:52:48 UTC
Would you mind testing the build https://koji.fedoraproject.org/koji/taskinfo?taskID=41540745 ?

Comment 6 Attila 2020-02-17 14:20:17 UTC
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)

Comment 7 Zdenek Dohnal 2020-02-17 15:14:21 UTC
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.

Comment 8 Attila 2020-02-17 15:48:19 UTC
(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.

Comment 9 Zdenek Dohnal 2020-02-17 17:09:50 UTC
Ok, if nothing happens, I'll send the fix to upstream and build it for Fedora tomorrow.

Comment 10 Attila 2020-02-18 13:58:58 UTC
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.

Comment 11 Zdenek Dohnal 2020-02-18 14:06:15 UTC
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).

Comment 12 Zdenek Dohnal 2020-02-18 14:29:00 UTC
Reported upstream https://github.com/OpenPrinting/cups-filters/pull/204

Comment 13 Fedora Update System 2020-02-18 16:29:15 UTC
FEDORA-2020-54d4e4f123 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-54d4e4f123

Comment 14 Fedora Update System 2020-02-19 02:31:12 UTC
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

Comment 15 Fedora Update System 2020-02-22 01:33:58 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.