Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 637682 - CUPS crashes when using net-print/cndrvcups-lb-3.40 and sys-libs/glibc-2.26
Summary: CUPS crashes when using net-print/cndrvcups-lb-3.40 and sys-libs/glibc-2.26
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Pacho Ramos
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-11-16 14:56 UTC by Joonas Niilola
Modified: 2018-02-27 19:26 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joonas Niilola gentoo-dev 2017-11-16 14:56:43 UTC
Hey, 

after upgrading glibc to 2.26 I can not print anymore using cndrvcups-lb-3.40 and cndrvcups-common-lb-3.40. lp just starts to use 100 % of CPU indefinitely and nothing happens.

It's a common bug and requires one to downgrade glibc back to 2.25. I hope a new release of Canon printer drivers fixes this. I don't know if anything can be done on Gentoo's side? Maybe this bug can work as an informer for people wondering the cause, and how to fix this if they need to print something urgently. 

https://forum.manjaro.org/t/cnpkmoduleufr2-segfaults-unable-to-print/31336/8
https://aur.archlinux.org/packages/cndrvcups-lb

[  196.093109] cnpkmoduleufr2[5389]: segfault at 0 ip 00000000f7d93c72 sp 00000000ffa63340 error 4 in libc-2.26.so[f7d0e000+1d7000]
[  303.342390] cnpkmoduleufr2[5433]: segfault at 0 ip 00000000f7d82c72 sp 00000000ffa29360 error 4 in libc-2.26.so[f7cfd000+1d7000]
[  612.994283] cnpkmoduleufr2[27209]: segfault at 0 ip 00000000f7ddfc72 sp 00000000ffc7a7a0 error 4 in libc-2.26.so[f7d5a000+1d7000]
Comment 1 Techwolf 2017-12-07 13:35:53 UTC
I got nailed by this bug.

[40428.637155] cnpkmoduleufr2[10121]: segfault at 0 ip 00000000f7586d12 sp 00000000ffddc6f0 error 4 in libc-2.26.so[f7500000+1d7000]

Is there a guid to downgrade libc? I got to have this printer working again.
Comment 2 Techwolf 2017-12-07 13:39:33 UTC
die "aborting to save your system";

NOOOOooooo...I need this printer to work. I MUST downgrade glibc.
Comment 3 Techwolf 2017-12-07 13:40:49 UTC
(In reply to Techwolf from comment #2)
> die "aborting to save your system";
> 
> NOOOOooooo...I need this printer to work. I MUST downgrade glibc.

How to downgrade glibc so I can get this printer to work?

"Saving my system" breaks it badly right now. No printer.....
Comment 4 Joonas Niilola gentoo-dev 2017-12-08 15:13:35 UTC
Yeah, I said wrongly there. You definitely should NOT downgrade glibc on Gentoo. Maybe try another distro in VM or set up a chroot environment with older glibc. Im annoyed by this bug, but luckily I have an old computer with openSUSE installed that still can use my network printer. 

Just checked Canon's printer support page, no new version yet...
Comment 5 Techwolf 2018-02-01 01:29:12 UTC
It has been updated. The new URL is: http://gdlp01.c-wss.com/gds/0/0100003440/14/linux-UFRII-drv-v340-02-usen.tar.gz

How I discovered this was I looked at the canon page and notice a date of Nov of last year. I checked my system using genlop and seen where I installed 3.4 several months before that. That lead me farther down the rabbit hole....
Comment 6 Joonas Niilola gentoo-dev 2018-02-01 12:12:05 UTC
That was indeed a nice find! I tried changing SRC_URI to the link you discovered, and emerging net-print/cndrvcups-lb & net-print/cndrvcups-common-lb with the new file, but sadly for me it didn't work. However there's a large thread in reddit about this issue, with a working solution provided!

https://www.reddit.com/r/linux4noobs/comments/7tiemc/canon_mf4320_printer_does_not_print_and_cpu_hangs/

And indeed I downgraded my cndrvcups-lb and cndrvcups-common-lb to 3.20 and printing works again! 

For Gentoo, you need to grab the old ebuilds from Github's history, and find the old driver package from the Internet. Finding the 3.20 drivers was the hardest part since Canon doesn't host them anymore, but after long search I managed to do it...

1: Download the following into /usr/portage/distfiles
http://www2.if.usp.br/~korogui/suporte/driver/canon/linux/Linux_UFRII_PrinterDriver_V320_uk_EN.tar.gz

2: Download the ebuilds into your local repository under net-print/cndrvcups-lb && net-print/cndrvcups-common-lb
https://raw.githubusercontent.com/gentoo/gentoo/0c10a2d5695aad184d6ffa0218cf02833deda417/net-print/cndrvcups-lb/cndrvcups-lb-3.20.ebuild
https://raw.githubusercontent.com/gentoo/gentoo/3f335619f89298fcb01671a5c5049e365a9d300c/net-print/cndrvcups-common-lb/cndrvcups-common-lb-3.20.ebuild

3: Create Manifests for these new files, I checked the hashes from the time they were available in Gentoo's portage and the link for Linux_UFRII_PrinterDriver_V320_uk_EN.tar.gz above is indeed the same package (hashes match)

4: emerge -1av =net-print/cndrvcups-lb-3.20 =net-print/cndrvcups-common-lb-3.20

5: /etc/init.d/cupsd restart

it works! 

I also created entries into package.mask so my world upgrade doesn't accidentally upgrade these working packages. I will monitor the Reddit thread to see when this gets fixed...
Comment 7 Joonas Niilola gentoo-dev 2018-02-27 10:04:36 UTC
Finally there's an update! It's been reported that 3.50 is working with glibc-2.26. Gonna test it!

http://support-asia.canon-asia.com/contents/ASIA/EN/0100924010.html
Comment 8 Pacho Ramos gentoo-dev 2018-02-27 19:26:30 UTC
[master 7df25abdf3a] net-print/cndrvcups-common-lb: Version bump, fixing compat with glibc-2.26 (#637682)
 2 files changed, 115 insertions(+)
 create mode 100644 net-print/cndrvcups-common-lb/cndrvcups-common-lb-3.50.ebuild

[master de59887665e] net-print/cndrvcups-lb: Version bump, fixing compat with glibc-2.26 (#637682)
 2 files changed, 109 insertions(+)
 create mode 100644 net-print/cndrvcups-lb/cndrvcups-lb-3.50.ebuild