-
Notifications
You must be signed in to change notification settings - Fork 467
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
When using poll and many printers cupsd sigsegvs #1828
Comments
CUPS.org User: mike Please attach your /var/cache/cups/remote.cache file so that we can duplicate the problem here. |
CUPS.org User: mike Hmm, I just tested this against trunk on a RH9 system and was not able to reproduce this problem. Can you re-test against the current 1.3.x snapshot or the current 1.2.x SVN code? |
CUPS.org User: SmallOne Still the same problem. killall -HUP cupsd should reload It reloads all and right after it dies. gdb first says SIGHUP wich is right /Johan |
CUPS.org User: SmallOne Forgot. Its the 1.2.x branch im testing atm. |
CUPS.org User: mike OK, after some more testing with a fresh test build I was able to reproduce the reload crashing. Please try the attached patch to see if it corrects the bug on your end (it does for me...) |
CUPS.org User: SmallOne It works. Great job. Ive tested it on several machines. /Johan |
"str1828.patch": Index: dirsvc.c--- dirsvc.c (revision 5721)
@@ -252,10 +253,11 @@
@@ -416,8 +418,8 @@
if (printer->info) Index: printers.c--- printers.c (revision 5721) cupsArrayRemove(Printers, p);
/*
cupsArrayAdd(Printers, p); |
Version: 1.2.1
CUPS.org User: SmallOne
When using poll to fetch 500 printers from two servers cupsd dies with a segfault. The two servers has an identical setup with printers to that the client should build implicit classes.
When we reload cupsd on the client it dies with a segfault.
We use rhel 4 on client and servers. And we have compiled the rpms ourselves from source.
See the backtrace from the client.
#0 0x0069a498 in strcasecmp () from /lib/tls/libc.so.6
#1 0x080811aa in compare_printers ()
#2 0x009a3940 in cups_array_find (a=0x9ae4a98, e=0x9af19a8, prev=499,
#3 0x009a3e09 in cups_array_add (a=0x9ae4a98, e=0x9af19a8, insert=0)
#4 0x0806068c in process_implicit_classes ()
#5 0x08062475 in cupsdLoadRemoteCache ()
#6 0x0805ee96 in cupsdReadConfiguration ()
#7 0x08065752 in main ()
(gdb) bt full
#0 0x0069a498 in strcasecmp () from /lib/tls/libc.so.6
No symbol table info available.
#1 0x080811aa in compare_printers ()
No symbol table info available.
#2 0x004dc940 in cups_array_find (a=0x9042a98, e=0x904f9a8, prev=499,
The text was updated successfully, but these errors were encountered: