-
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
Some kind of recursion crash #1439
Comments
CUPS.org User: till.kamppeter Is it possible that there are relationships between this CUPS 1.1.x bug and the CUPS 1.2.x bugs STR #1417 and STR #1432. At least according to the error_log output of STR #1417 crashes also happen on timing out remote printers. Links: |
CUPS.org User: mike I'm not able to reproduce this in 1.2, but I'm not aware of any specific fixes we've made for this... What patches have you made, if any, to classes.c, dirsvc.c, or printers.c? |
CUPS.org User: mike OK, a quick update - I ran 1.2 through Valgrind with a variable load of remote classes with multiple servers and was able to identify a possible cause of the problem - the printer MIME type is not getting reassociated when the remote printer/class is renamed, which could cause a crash due to a double-free of the MIME type. I'll be committing a fix for this shortly to trunk that adds a new "cupsdRenamePrinter()" function that the dirsvc.c and ipp.c code can use when renaming printers and classes. Feel free to back-port the fix to your 1.1.23 packages... |
CUPS.org User: mike Till: It is possible; this is the first case where I was able to a) reproduce it, and b) localize the problem to printer timeouts. Tim/Till: I've commited a fix for this in r5164, and attached the patch which you may be able to backport to 1.1.23. Basically, any place we rename a printer we want to update the filetype to point to the new MIME type. I added a function in 1.2, but you might just use:
in all the places where the p->name is set. Please let me know if you continue to have problems... |
CUPS.org User: mike This STR has not been updated by the submitter for two or more weeks and has been closed as required by the CUPS Configuration Management Plan. If the issue still requires resolution, please re-submit a new STR. |
"str1439.patch": Index: ipp.c--- ipp.c (revision 5163)
@@ -864,9 +865,8 @@
/*
@@ -2083,9 +2081,8 @@
/*
+/*
|
Version: 1.1.23
CUPS.org User: twaugh.redhat
See bugzilla bug #178999:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=178999
cupsd can get into a state where it apparently runs out of stack while timing out a browsed printer:
#0 DeletePrinterFromClasses (p=0x5555556e6060) at classes.c:218
#1 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#2 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556e52d0)
#3 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#4 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556eaca0)
#5 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#6 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556e3f90)
#7 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#8 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556e31f0)
#9 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#10 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556e2460)
#11 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#12 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556e16c0)
#13 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#14 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556e0930)
#15 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
---Type to continue, or q to quit---
#16 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556dfbc0)
#17 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#18 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556e4820)
#19 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#20 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556dda80)
#21 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#22 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556dccf0)
#23 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#24 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556dbf50)
#25 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#26 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556db1c0)
#27 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#28 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556da420)
#29 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#30 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556dee50)
---Type to continue, or q to quit---
#31 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#32 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556d8fc0)
#33 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#34 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556d8230)
#35 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#36 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556d74d0)
#37 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#38 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556d6740)
#39 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#40 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556d59a0)
#41 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#42 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556d9920)
#43 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#44 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556d3940)
#45 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#46 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556d2bf0)
---Type to continue, or q to quit---
at classes.c:222
#47 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#48 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556d1e90)
#49 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#50 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556cf960)
#51 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#52 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556cebf0)
#53 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#54 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556c4880)
#55 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#56 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556a2e30)
#57 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#58 0x000055555555eca9 in DeletePrinterFromClasses (p=0x555555712050)
#59 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#60 0x000055555555eca9 in DeletePrinterFromClasses (p=0x555555707fe0)
#61 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
---Type to continue, or q to quit---
#62 0x000055555555eca9 in DeletePrinterFromClasses (p=0x555555707280)
#63 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#64 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555557064f0)
#65 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#66 0x000055555555eca9 in DeletePrinterFromClasses (p=0x555555705740)
#67 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#68 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555557049b0)
#69 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#70 0x000055555555eca9 in DeletePrinterFromClasses (p=0x555555703c10)
#71 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#72 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556fddb0)
#73 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#74 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556fd010)
#75 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#76 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556fc2c0)
---Type to continue, or q to quit---
#77 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#78 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556fb510)
#79 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#80 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556fa780)
#81 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#82 0x000055555555eca9 in DeletePrinterFromClasses (p=0x555555700630)
#83 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#84 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556f5aa0)
#85 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#86 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556f3f20)
#87 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#88 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556eb8f0)
#89 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#90 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556f16c0)
#91 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#92 0x000055555555eca9 in DeletePrinterFromClasses (p=0x5555556a2020)
---Type to continue, or q to quit---
at classes.c:222
#93 0x00005555555804d5 in DeletePrinter (p=Variable "p" is not available.
) at printers.c:632
#94 0x0000555555569923 in SendBrowseList () at dirsvc.c:619
#95 0x000055555556c9e9 in main (argc=Variable "argc" is not available.
) at main.c:889
The text was updated successfully, but these errors were encountered: