You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(5) |
Dec
(43) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(34) |
Feb
(58) |
Mar
(8) |
Apr
(23) |
May
(9) |
Jun
(23) |
Jul
|
Aug
(15) |
Sep
(7) |
Oct
(10) |
Nov
(2) |
Dec
(3) |
2008 |
Jan
(14) |
Feb
(12) |
Mar
(9) |
Apr
(6) |
May
(13) |
Jun
(2) |
Jul
(18) |
Aug
(5) |
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
(9) |
Apr
(2) |
May
|
Jun
(1) |
Jul
|
Aug
(6) |
Sep
(1) |
Oct
(1) |
Nov
(2) |
Dec
(1) |
2010 |
Jan
|
Feb
(4) |
Mar
(3) |
Apr
(4) |
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
(3) |
Oct
(1) |
Nov
(4) |
Dec
(1) |
2011 |
Jan
|
Feb
(14) |
Mar
(5) |
Apr
|
May
|
Jun
(2) |
Jul
(2) |
Aug
(2) |
Sep
|
Oct
(7) |
Nov
(2) |
Dec
|
2012 |
Jan
(2) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(6) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2013 |
Jan
(1) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(3) |
Oct
|
Nov
(8) |
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(3) |
Oct
(6) |
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Walter H. <wh...@bf...> - 2019-05-16 07:23:31
|
Hello List, lprng is a mature project, so error reports are rare. Today i merged a bugfix for lpr where a crash happened when debug was enabled. I used it as excuse to bump the revision number to 3.9. Please not that other bugfixes where in git already. |
From: Benedikt H. <tic...@gm...> - 2016-06-25 11:22:59
|
Hello List, (FreeBSD 10.3-RELEASE-p4 i386, Lprng 3.8.C and Samba 4.3.8 installed via pkg()) I have set up a PDF converter queue that converts PS input to PDF and puts it on its website. Recently I had samba join the AD domain here, and ever since my pdf converter fails. Upon much trial, error and debugging I found out that when I start the Lprng service BEFORE the Samba service, everything is working. However, the default startup sequence is Samba first, then Lprng (due to dependencies). More debugging revealed that the problem is the input filter spawning fails (ie even a dummy filter that only touches "/tmp/hello" is not executed). In the Log, I get entries like 2016-06-25-12:39:16.710 wagi-util [4827] (Server) pdf: Trim_status_file: ' status.pr' max 10, min 0, size 6197 2016-06-25-12:39:16.710 wagi-util [4827] (Server) pdf: Wait_for_subserver: pid_to_wait_for -1, flags 1 *Make_passthrough: pid 4829, dup2(6,0) failed*2016-06-25-12:39:16.712 wagi-util [4828] (Worker - Print) pdf: Wait_for_pid: returning 'JFAIL', exit status 'exit status 32 (JFAIL)' 2016-06-25-12:39:16.712 wagi-util [4828] (Worker - Print) pdf: setstatus: msg 'IF filter 'pdflpd' filter exit status 'JFAIL'' 2016-06-25-12:39:16.712 wagi-util [4828] (Worker - Print) pdf: setstatus: msg 'printing finished' The spurious "Make_passthrough" statement looks as if it weren't written by the normal logging routine but rather was spit out by some other routine. I have a hunch that samba somehow sits on a file or a process that becomes unavailable for Lprng, UNLESS Lprng is started before samba. I disabled printing in samba, gave it a completely unrelated printcap file, disabled spoolss etc, all to no avail. Of course, setting up a vanilla FreeBSD in Virtualbox and just installing Lprng and Samba worked fine in either start sequence, but then I haven't joined it to a domain nor am I using a modified nsswitch.conf and other settings that are used in a domain context. I now have the workaround of stopping both services and starting them in the correct sequence, but it still bugs me. Any idea where to look next? /etc/printcap: .common: :sd=/var/spool/lpd/%P :lf=log :max_log_file_size=256 :done_status=0 :sh:mx=0:mc=0 pdf:tc=.common:lp=/dev/null:filter=/usr/local/libexec/filters/pdflpd: /usr/local/etc/smb4.conf [global] workgroup = MYDOMAIN netbios name = MYNAME security = ads realm = MYDOMAIN.MYCOMPANY.COM encrypt passwords = yes password server = 10.65.10.220 wins server = 10.65.10.220 client ldap sasl wrapping = plain idmap config * : backend = tdb idmap config * : range = 2000-9999 idmap config DPRDOM : backend = rid idmap config DORDOM : range = 10000-29999 winbind enum users = yes winbind enum groups = yes winbind nested groups = yes dos charset = CP850 unix charset = UTF8 restrict anonymous = 2 server string = "Utility Server" load printers = No printing = bsd printcap name = /usr/local/etc/samba-printcap disable spoolss = Yes local master = no smb ports = 445 map to guest = Bad User read raw = Yes write raw = Yes max xmit = 65535 socket options = TCP_NODELAY IPTOS_LOWDELAY use sendfile = true vfs objects = acl_xattr map acl inherit = Yes store dos attributes = Yes oplocks = Yes Stumped in Zurich -- Ben |
From: Ales N. <al...@su...> - 2016-05-25 10:27:27
|
The random-kill (of pid which previously belonged to some lprng child) could still happen (when plp_waitpid() was called with -1). This is a very obvious improvement of the previous patch. Signed-off-by: Ales Novak <al...@su...> --- src/common/child.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/child.c b/src/common/child.c index 103b1fa..7d594cf 100644 --- a/src/common/child.c +++ b/src/common/child.c @@ -84,7 +84,7 @@ pid_t plp_waitpid (pid_t pid, plp_status_t *statusPtr, int options) report = waitpid(pid, statusPtr, options ); DEBUG2("plp_waitpid: returned %d, status %s", report, Decode_status( statusPtr ) ); - if (report > 0) forget_child(pid); + if (report > 0) forget_child(report); return report; } -- 2.7.0 |
From: Rick C. <rc...@co...> - 2014-10-30 15:04:11
|
Walter, By then I may know more about whether it works or not! Yours, -Rick On 10/30/14, 3:58 AM, walter harms wrote: > many thx for the patch, > i am still out of time, so a new release may take some time > but i plan for next month. > > re, > wg > > > Am 29.10.2014 17:44, schrieb Rick Cochran: >> Walter, >> >> Early reports indicate that the first attached patch (to 3.8.C) solves >> the "closing guarded file descriptor" problem. >> >> The second attached patch seems to be necessary to get 3.8.C to compile >> under OS X (10.9), and also previous versions. >> >> I have not included any conditional compilation code. >> >> Yours, >> -Rick >> >> On 10/25/14, 10:11 AM, Rick Cochran wrote: >>> Broken by a software patent! My joy is complete. >>> >>> On 10/25/14, 5:50 AM, walter harms wrote: >>>> >>>> >>>> Am 24.10.2014 19:40, schrieb Rick Cochran: >>>>> Walter, >>>>> >>>>> Thanks for the quick response! Good to know you are still there. >>>>> >>>>> So the "not implemented" is a red herring? >>>>> >>>>> I get some interesting results by googling 'os x "guarded fd >>>>> exception"'. It looks like Apple is trying to "help" us again. >>>> >>>> it is hard to believe but ... >>>> http://www.google.com/patents/US20130339313 >>>>> >>>> >>>> re, >>>> wh >>>> >>> >>> ------------------------------------------------------------------------------ >>> >>> _______________________________________________ >>> Lprng-devel mailing list >>> Lpr...@li... >>> https://lists.sourceforge.net/lists/listinfo/lprng-devel >>> |
From: Rick C. <rc...@co...> - 2014-10-29 16:44:45
|
Walter, Early reports indicate that the first attached patch (to 3.8.C) solves the "closing guarded file descriptor" problem. The second attached patch seems to be necessary to get 3.8.C to compile under OS X (10.9), and also previous versions. I have not included any conditional compilation code. Yours, -Rick On 10/25/14, 10:11 AM, Rick Cochran wrote: > Broken by a software patent! My joy is complete. > > On 10/25/14, 5:50 AM, walter harms wrote: >> >> >> Am 24.10.2014 19:40, schrieb Rick Cochran: >>> Walter, >>> >>> Thanks for the quick response! Good to know you are still there. >>> >>> So the "not implemented" is a red herring? >>> >>> I get some interesting results by googling 'os x "guarded fd >>> exception"'. It looks like Apple is trying to "help" us again. >> >> it is hard to believe but ... >> http://www.google.com/patents/US20130339313 >>> >> >> re, >> wh >> > > ------------------------------------------------------------------------------ > _______________________________________________ > Lprng-devel mailing list > Lpr...@li... > https://lists.sourceforge.net/lists/listinfo/lprng-devel > |
From: Rick C. <rc...@co...> - 2014-10-25 14:11:27
|
Broken by a software patent! My joy is complete. On 10/25/14, 5:50 AM, walter harms wrote: > > > Am 24.10.2014 19:40, schrieb Rick Cochran: >> Walter, >> >> Thanks for the quick response! Good to know you are still there. >> >> So the "not implemented" is a red herring? >> >> I get some interesting results by googling 'os x "guarded fd >> exception"'. It looks like Apple is trying to "help" us again. > > it is hard to believe but ... > http://www.google.com/patents/US20130339313 >> > > re, > wh > |
From: Rick C. <rc...@co...> - 2014-10-25 14:10:40
|
Walter, Thanks again for your helpful reply. I am Cc'ing the list, so your responses will go out. I wonder if the solution at this link will suffice: https://gitorious.org/libreoffice/core/commit/73a508f574995f09559c003cb810e5d2ff2691c2 I intend to try it. I suppose I could use NFS. Dropbox might be easier if all you want to do is transfer files. Yours, -Rick On 10/25/14, 5:20 AM, walter harms wrote: > > > Am 24.10.2014 19:40, schrieb Rick Cochran: >> Walter, >> >> Thanks for the quick response! Good to know you are still there. > > I am still :) unfortunately i am also low on time, so my answer > will take some time, more over my provider has sourceforge.net > on its blacklist, so feel free to forward the mail to the list also. > >> >> So the "not implemented" is a red herring? >> >> I get some interesting results by googling 'os x "guarded fd >> exception"'. It looks like Apple is trying to "help" us again. > > I am wondering also what apple is intending here. Fortunately there is > a at lease an error message. > >> It is extremely difficult for me to debug this because it occurs only on >> a particular student's laptop. I cannot reproduce it elsewhere. >> >> Oops! I just tried it again on my VM and it crashed nicely. I have >> appended Apple's crash dump. As the google articles state, it died >> closing an FD. > > Thx for you effort, i have no access to an apple system. > I will try to replicate the solution that what proposed in the link i > send you. > > >> I have attached the Apple crash dump, which I had a heck of a time >> getting from my Parallels VM to its host machine. > > Just for my curiosity, could you use nfs ? > > re, > wh > >> >> Yours, >> -Rick >> >> On 10/24/14, 11:56 AM, walter harms wrote: >>> >>> Hello Rich, >>> >>> Am 24.10.2014 17:21, schrieb Rick Cochran: >>>> Hi, >>>> >>>> On one workstation running Yosemite, lpr crashes, producing these >>>> entries in system.log: >>>> >>>> Oct 24 10:31:20 dhcp-hol-1591.redrover.cornell.edu lpr[1972]: >>>> MITKerberosShim: function krb5_auth_con_initivector not implemented >>> seems harmless: >>> http://web.mit.edu/kerberos/krb5-devel/doc/appdev/refs/api/krb5_auth_con_initivector.html >>> >>> >>>> Oct 24 10:31:21 dhcp-hol-1591 kernel[0]: lpr: guarded fd exception: fd 5 >>>> code 0x1 guard 0x982080c8 >>> >>> according to this >>> [https://gitorious.org/libreoffice/core/commit/73a508f574995f09559c003cb810e5d2ff2691c2] >>> >>> it seen 5 is a "guarded fd" (0,1,2 i can understand but why 5 ?) that >>> can not be closed, it seems that OS X >>> need some special safe guards. >>> >>> could you run gdb or strace to give a hint where that crash occurs ? >>> >>> >>>> Oct 24 10:31:21 dhcp-hol-1591.redrover.cornell.edu ReportCrash[1970]: >>>> Saved crash report for lpr[1972] version ??? to >>>> /Library/Logs/DiagnosticReports/lpr_2014-10-24-103121_XXXXX-MacBook-Pro-2.crash >>>> >>>> >>>> >>>> On my own VM running Yosemite, lpr works just fine. >>>> >>>> I'm using LPRng-3.8.B. >>>> >>> >>> re, >>> wh >>> |
From: Rick C. <rc...@co...> - 2014-10-24 17:40:50
|
Walter, Thanks for the quick response! Good to know you are still there. So the "not implemented" is a red herring? I get some interesting results by googling 'os x "guarded fd exception"'. It looks like Apple is trying to "help" us again. It is extremely difficult for me to debug this because it occurs only on a particular student's laptop. I cannot reproduce it elsewhere. Oops! I just tried it again on my VM and it crashed nicely. I have appended Apple's crash dump. As the google articles state, it died closing an FD. I have attached the Apple crash dump, which I had a heck of a time getting from my Parallels VM to its host machine. Yours, -Rick On 10/24/14, 11:56 AM, walter harms wrote: > > Hello Rich, > > Am 24.10.2014 17:21, schrieb Rick Cochran: >> Hi, >> >> On one workstation running Yosemite, lpr crashes, producing these >> entries in system.log: >> >> Oct 24 10:31:20 dhcp-hol-1591.redrover.cornell.edu lpr[1972]: >> MITKerberosShim: function krb5_auth_con_initivector not implemented > seems harmless: http://web.mit.edu/kerberos/krb5-devel/doc/appdev/refs/api/krb5_auth_con_initivector.html > >> Oct 24 10:31:21 dhcp-hol-1591 kernel[0]: lpr: guarded fd exception: fd 5 >> code 0x1 guard 0x982080c8 > > according to this [https://gitorious.org/libreoffice/core/commit/73a508f574995f09559c003cb810e5d2ff2691c2] > it seen 5 is a "guarded fd" (0,1,2 i can understand but why 5 ?) that can not be closed, it seems that OS X > need some special safe guards. > > could you run gdb or strace to give a hint where that crash occurs ? > > >> Oct 24 10:31:21 dhcp-hol-1591.redrover.cornell.edu ReportCrash[1970]: >> Saved crash report for lpr[1972] version ??? to >> /Library/Logs/DiagnosticReports/lpr_2014-10-24-103121_XXXXX-MacBook-Pro-2.crash >> >> >> On my own VM running Yosemite, lpr works just fine. >> >> I'm using LPRng-3.8.B. >> > > re, > wh > |
From: Rick C. <rc...@co...> - 2014-10-24 15:21:55
|
Hi, On one workstation running Yosemite, lpr crashes, producing these entries in system.log: Oct 24 10:31:20 dhcp-hol-1591.redrover.cornell.edu lpr[1972]: MITKerberosShim: function krb5_auth_con_initivector not implemented Oct 24 10:31:21 dhcp-hol-1591 kernel[0]: lpr: guarded fd exception: fd 5 code 0x1 guard 0x982080c8 Oct 24 10:31:21 dhcp-hol-1591.redrover.cornell.edu ReportCrash[1970]: Saved crash report for lpr[1972] version ??? to /Library/Logs/DiagnosticReports/lpr_2014-10-24-103121_XXXXX-MacBook-Pro-2.crash On my own VM running Yosemite, lpr works just fine. I'm using LPRng-3.8.B. Any suggestions would be appreciated. -Rick |
From: Tim M. <Tim...@nd...> - 2014-09-05 16:54:28
|
In regard to: Re: [Lprng-devel] [PATCH] Forget pid of child that have...: > our customer reported an error: on LPRng exit some totally unrelated > processes got killed. The only explanation for that I was able to find was > the LPRng way of handling child processes. It seems to me, that though the > children have been waited for, i.e. their pids are free to be reused, thir > pids are still stored in Process_list. And if they are (and the LPRng > daemon has the right to kill them), they will be killed at exit. That perfectly describes a scenario we've seen many times in the last few years. When LPRng has been running a few weeks or months, doing an sudo /etc/init.d/lpd stop will often kill dozens of unrelated processes, including my shell, my sshd, etc. You've found, and hopefully fixed, a problem that has been an annoyance for us for a long time. Thanks! Tim > On 2014-9-5 10:26, walter harms wrote: > >> thx for the patch, >> how did you notice that bug ? >> >> re, >> wh >> >> Am 03.09.2014 10:51, schrieb Ales Novak: >>> We need to forget about the child that had exited and had already >>> been successfully waited for. Otherwise the LPRng will try to kill >>> that pid on its exit - but the pid may be assigned to completely >>> another process. >>> >>> The patch is adding the function forget_child(pid_t), which walks >>> through the list of childs and tries to find the specified one >>> and remove it. The function is called after successfull waitpid() >>> call. >>> >>> Signed-off-by: Ales Novak <al...@su...> >>> --- >>> src/common/child.c | 31 +++++++++++++++++++++++++++++++ >>> 1 file changed, 31 insertions(+) >>> >>> diff --git a/src/common/child.c b/src/common/child.c >>> index 8c4ee3d..5476c75 100644 >>> --- a/src/common/child.c >>> +++ b/src/common/child.c >>> @@ -34,6 +34,36 @@ >>> # include <sys/ttold.h> >>> #endif >>> >>> +/* >>> + * When the child was successfully waited on, it stayed in the >>> + * Process_list and henceforth the lpd tried to kill it when >>> + * cleaning up. But the pid may have been assigned to another >>> + * process! >>> + * >>> + * So what is neccessary is to walk through the process list, >>> + * and remove the pid which has just exited (or have successfully >>> + * been waited for, to be precise). >>> + * >>> + * The removal is done by replacing the record by the last one in >>> + * the list and decrementing the record count. >>> + */ >>> +static void forget_child(pid_t pid) >>> +{ >>> + int i; >>> + >>> + for( i = 0; i < Process_list.count; ++i ){ >>> + if (pid == Cast_ptr_to_int(Process_list.list[i])) >>> + break; >>> + } >>> + >>> + if (i < Process_list.count) { >>> + DEBUG2("forget_child: found the child with pid %d", pid); >>> + Process_list.list[i] = Process_list.list[Process_list.count-1]; >>> + Process_list.count --; >>> + } else { >>> + DEBUG2("forget_child: child with pid %d not found", pid); >>> + } >>> +} >>> >>> /* >>> * Patrick Powell >>> @@ -51,6 +81,7 @@ pid_t plp_waitpid (pid_t pid, plp_status_t *statusPtr, int options) >>> report = waitpid(pid, statusPtr, options ); >>> DEBUG2("plp_waitpid: returned %d, status %s", report, >>> Decode_status( statusPtr ) ); >>> + if (report > 0) forget_child(pid); >>> return report; >>> } >>> >> > > -- Tim Mooney Tim...@nd... Enterprise Computing & Infrastructure 701-231-1076 (Voice) Room 242-J6, Quentin Burdick Building 701-231-8541 (Fax) North Dakota State University, Fargo, ND 58105-5164 |
From: Ales N. <al...@su...> - 2014-09-05 08:34:16
|
Hello, our customer reported an error: on LPRng exit some totally unrelated processes got killed. The only explanation for that I was able to find was the LPRng way of handling child processes. It seems to me, that though the children have been waited for, i.e. their pids are free to be reused, thir pids are still stored in Process_list. And if they are (and the LPRng daemon has the right to kill them), they will be killed at exit. On 2014-9-5 10:26, walter harms wrote: > thx for the patch, > how did you notice that bug ? > > re, > wh > > Am 03.09.2014 10:51, schrieb Ales Novak: >> We need to forget about the child that had exited and had already >> been successfully waited for. Otherwise the LPRng will try to kill >> that pid on its exit - but the pid may be assigned to completely >> another process. >> >> The patch is adding the function forget_child(pid_t), which walks >> through the list of childs and tries to find the specified one >> and remove it. The function is called after successfull waitpid() >> call. >> >> Signed-off-by: Ales Novak <al...@su...> >> --- >> src/common/child.c | 31 +++++++++++++++++++++++++++++++ >> 1 file changed, 31 insertions(+) >> >> diff --git a/src/common/child.c b/src/common/child.c >> index 8c4ee3d..5476c75 100644 >> --- a/src/common/child.c >> +++ b/src/common/child.c >> @@ -34,6 +34,36 @@ >> # include <sys/ttold.h> >> #endif >> >> +/* >> + * When the child was successfully waited on, it stayed in the >> + * Process_list and henceforth the lpd tried to kill it when >> + * cleaning up. But the pid may have been assigned to another >> + * process! >> + * >> + * So what is neccessary is to walk through the process list, >> + * and remove the pid which has just exited (or have successfully >> + * been waited for, to be precise). >> + * >> + * The removal is done by replacing the record by the last one in >> + * the list and decrementing the record count. >> + */ >> +static void forget_child(pid_t pid) >> +{ >> + int i; >> + >> + for( i = 0; i < Process_list.count; ++i ){ >> + if (pid == Cast_ptr_to_int(Process_list.list[i])) >> + break; >> + } >> + >> + if (i < Process_list.count) { >> + DEBUG2("forget_child: found the child with pid %d", pid); >> + Process_list.list[i] = Process_list.list[Process_list.count-1]; >> + Process_list.count --; >> + } else { >> + DEBUG2("forget_child: child with pid %d not found", pid); >> + } >> +} >> >> /* >> * Patrick Powell >> @@ -51,6 +81,7 @@ pid_t plp_waitpid (pid_t pid, plp_status_t *statusPtr, int options) >> report = waitpid(pid, statusPtr, options ); >> DEBUG2("plp_waitpid: returned %d, status %s", report, >> Decode_status( statusPtr ) ); >> + if (report > 0) forget_child(pid); >> return report; >> } >> > -- Ales Novak |
From: Ales N. <al...@su...> - 2014-09-03 08:51:55
|
We need to forget about the child that had exited and had already been successfully waited for. Otherwise the LPRng will try to kill that pid on its exit - but the pid may be assigned to completely another process. The patch is adding the function forget_child(pid_t), which walks through the list of childs and tries to find the specified one and remove it. The function is called after successfull waitpid() call. Signed-off-by: Ales Novak <al...@su...> --- src/common/child.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/common/child.c b/src/common/child.c index 8c4ee3d..5476c75 100644 --- a/src/common/child.c +++ b/src/common/child.c @@ -34,6 +34,36 @@ # include <sys/ttold.h> #endif +/* + * When the child was successfully waited on, it stayed in the + * Process_list and henceforth the lpd tried to kill it when + * cleaning up. But the pid may have been assigned to another + * process! + * + * So what is neccessary is to walk through the process list, + * and remove the pid which has just exited (or have successfully + * been waited for, to be precise). + * + * The removal is done by replacing the record by the last one in + * the list and decrementing the record count. + */ +static void forget_child(pid_t pid) +{ + int i; + + for( i = 0; i < Process_list.count; ++i ){ + if (pid == Cast_ptr_to_int(Process_list.list[i])) + break; + } + + if (i < Process_list.count) { + DEBUG2("forget_child: found the child with pid %d", pid); + Process_list.list[i] = Process_list.list[Process_list.count-1]; + Process_list.count --; + } else { + DEBUG2("forget_child: child with pid %d not found", pid); + } +} /* * Patrick Powell @@ -51,6 +81,7 @@ pid_t plp_waitpid (pid_t pid, plp_status_t *statusPtr, int options) report = waitpid(pid, statusPtr, options ); DEBUG2("plp_waitpid: returned %d, status %s", report, Decode_status( statusPtr ) ); + if (report > 0) forget_child(pid); return report; } -- 1.8.1.4 |
From: Craig S. <csm...@en...> - 2014-04-18 03:46:23
|
On Thu, Apr 17, 2014 at 01:00:57PM -0700, Joe Feise wrote: > somewhat limited. It supports LPRng as protocol, but it requires a Windows > machine to print, because it only understands the Windows GDI output. In > other words, on a Linux box it is only usable through a Samba print > server. If it's GDI it basically means its a brain-dead printer that offloads all its thinking onto the windows host. If they're saying it supports lpr protocols its a bit cheeky because its like saying my sedan is 4WD because it is now sitting on the back of a 4WD tow-truck. > I ended up with the C242SF, which unlike the C240SF supports Postscript > and PCL, making it a printer usable from everywhere (and still having > LPRng support.) That's a better idea. Avoid things like GDI unless it is you on your single device that wants to print. Sure. there are ways around it but they are work-arounds. - Craig -- Craig Small (@smallsees) http://enc.com.au/ csmall at : enc.com.au Debian GNU/Linux http://www.debian.org/ csmall at : debian.org GPG fingerprint: 5D2F B320 B825 D939 04D2 0519 3938 F96B DF50 FEA5 |
From: Joe F. <jf...@fe...> - 2014-04-17 20:23:14
|
On Mon, November 25, 2013 22:25, Joe Feise wrote: > Craig Small wrote on 11/25/2013 07:55 PM: >> On Mon, Nov 25, 2013 at 07:18:46PM -0800, Joe Feise wrote: >>> CUPS will need to be disabled, and if not already on your system >>> LPRng printing software package will need to be installed. >>> This can be downloaded at www.LPRng.org" >> Wow, I've never seen it that way around before. > > Yeah, this was a new one for me as well ;) > >> Is this a consumer grade printer or some sort of monster-sized one? > > For small/home office use. Color laser multifunction. I don't like ink > printers. > http://www.amazon.com/dp/B00684VF3S Some update to this, now that the dust has settled for me ;) The printer I originally looked at, the Ricoh Aficio SP C240SF, is somewhat limited. It supports LPRng as protocol, but it requires a Windows machine to print, because it only understands the Windows GDI output. In other words, on a Linux box it is only usable through a Samba print server. I ended up with the C242SF, which unlike the C240SF supports Postscript and PCL, making it a printer usable from everywhere (and still having LPRng support.) -Joe |
From: Joe F. <jf...@fe...> - 2013-11-26 05:25:39
|
Craig Small wrote on 11/25/2013 07:55 PM: > On Mon, Nov 25, 2013 at 07:18:46PM -0800, Joe Feise wrote: >> CUPS will need to be disabled, and if not already on your system >> LPRng printing software package will need to be installed. >> This can be downloaded at www.LPRng.org" > Wow, I've never seen it that way around before. Yeah, this was a new one for me as well ;) > Is this a consumer grade printer or some sort of monster-sized one? For small/home office use. Color laser multifunction. I don't like ink printers. http://www.amazon.com/dp/B00684VF3S -Joe |
From: Craig S. <csm...@en...> - 2013-11-26 03:55:37
|
On Mon, Nov 25, 2013 at 07:18:46PM -0800, Joe Feise wrote: > CUPS will need to be disabled, and if not already on your system > LPRng printing software package will need to be installed. > This can be downloaded at www.LPRng.org" Wow, I've never seen it that way around before. Is this a consumer grade printer or some sort of monster-sized one? > And they provide a filter. That's half the battle no matter what software you use. - Craig -- Craig Small (@smallsees) http://enc.com.au/ csmall at : enc.com.au Debian GNU/Linux http://www.debian.org/ csmall at : debian.org GPG fingerprint: 5D2F B320 B825 D939 04D2 0519 3938 F96B DF50 FEA5 |
From: Joe F. <jf...@fe...> - 2013-11-26 03:19:05
|
Tim Mooney wrote on 11/24/2013 10:08 PM: > In regard to: [Lprng-devel] Does LPRng work with Network printers?, Joe...: > >> I am using LPRng with a printer connected to the parallel port. >> But I am thinking of getting a new color printer which connects through the >> network (wired and wireless.) >> I was wondering if LPRng works with such a setup. > > Yes it does. It supports multiple communication protocols for talking to > networked printers, often through filters that handle the actual > communication with the printer. For example, the "ifhp" program for > talking with printers that speak the HP JetDirect/AppSocket protocol on > port 9100. Thanks. For the printer I ended up ordering, a Ricoh, they have this in the *nix instructions: "RedHat Linux Enterprise V4, V5, V6: CUPS will need to be disabled, and if not already on your system LPRng printing software package will need to be installed. This can be downloaded at www.LPRng.org" And they provide a filter. -Joe |
From: Tim M. <Tim...@nd...> - 2013-11-25 06:08:27
|
In regard to: [Lprng-devel] Does LPRng work with Network printers?, Joe...: > I am using LPRng with a printer connected to the parallel port. > But I am thinking of getting a new color printer which connects through the > network (wired and wireless.) > I was wondering if LPRng works with such a setup. Yes it does. It supports multiple communication protocols for talking to networked printers, often through filters that handle the actual communication with the printer. For example, the "ifhp" program for talking with printers that speak the HP JetDirect/AppSocket protocol on port 9100. Tim -- Tim Mooney Tim...@nd... Enterprise Computing & Infrastructure 701-231-1076 (Voice) Room 242-J6, IACC Building 701-231-8541 (Fax) North Dakota State University, Fargo, ND 58105-5164 |
From: Joe F. <jf...@fe...> - 2013-11-25 01:55:59
|
I am using LPRng with a printer connected to the parallel port. But I am thinking of getting a new color printer which connects through the network (wired and wireless.) I was wondering if LPRng works with such a setup. -Joe |
From: walter h. <wh...@bf...> - 2013-11-01 18:10:34
|
Am 01.11.2013 18:39, schrieb Tim Mooney: > In regard to: Welcome to lprng, walter harms said (at 3:00pm on Nov 1, 2013): > >> Hello Tim Mooney, > > Hi Walter & lprng-devel! > > I'm new to the list, but not LPRng. The university where I work has > been using LPRng since the mid 1990s. We used its predecessor, PLP, > before that. You'll find my name scattered throughout the CHANGES > document for various patches, especially to the documentation, and > suggestions over the years. > > I went looking for a fork of LPRng a few years ago, after it was clear > that Patrick Powell was no longer doing maintenance on it. I found your > lprng SourceForge project at that time, but almost no changes had been > made to the source to that point, so I didn't follow the project closely. > > I found the project again because I was looking to see if anyone that > was still using it was experiencing the kinds of issues that we do, > specifically segfaults that appear to be memory corruption. > > We're using Patrick Powell's 3.8.33 (I see that he released a 3.8.35, > but the changes are tiny), and had the same issues under 3.8.24 before > that. > > We use LPRng with GoPrint, a commercial print management and cost-recovery > system primarily targeted at universities and libraries. All queues are > set up with LPRng as hold queues. Users interact with GoPrint at > touch-screen kiosks near the printers, using their campus ID card to check > their printing balance against our ID system and select and release print > jobs they've submitted. It's GoPrint that decides whether they should > be able to actually print the job, and it's that software that ultimately > issues the "lpc move" and "lpc release" commands to LPRng, to get the > selected print jobs to release to the printer. The system receives > anywhere from a few hundred to more than 8,000 print jobs per day, and > page totals printed per day range from 5,000 to more than 35,000. > > The system itself is quite slick, but unfortunately LPRng has been the > weak link. Our system logs and dmesg output on the RHEL 5.10 print > server that hosts GoPrint and LPRng are filled with segfaults from lpd > workers: > > $ dmesg | egrep 'lpd.*segfault' | wc -l > 1498 > > I've just recently spent some time on it, and have been able to identify > a common stack trace: > > Program terminated with signal 11, Segmentation fault. > #0 0x0078905e in malloc_consolidate () from /lib/libc.so.6 > (gdb) where > #0 0x0078905e in malloc_consolidate () from /lib/libc.so.6 > #1 0x0078b2e7 in _int_malloc () from /lib/libc.so.6 > #2 0x0078d27a in calloc () from /lib/libc.so.6 > #3 0x0070c80b in _dl_new_object () from /lib/ld-linux.so.2 > #4 0x00708011 in _dl_map_object_from_fd () from /lib/ld-linux.so.2 > #5 0x00709f71 in _dl_map_object () from /lib/ld-linux.so.2 > #6 0x00713d41 in dl_open_worker () from /lib/ld-linux.so.2 > #7 0x007100d6 in _dl_catch_error () from /lib/ld-linux.so.2 > #8 0x00713742 in _dl_open () from /lib/ld-linux.so.2 > #9 0x0082cbf2 in do_dlopen () from /lib/libc.so.6 > #10 0x007100d6 in _dl_catch_error () from /lib/ld-linux.so.2 > #11 0x0082cda5 in __libc_dlopen_mode () from /lib/libc.so.6 > #12 0x008099b9 in init () from /lib/libc.so.6 > #13 0x00809b53 in backtrace () from /lib/libc.so.6 > #14 0x007829b1 in __libc_message () from /lib/libc.so.6 > #15 0x0078ad35 in _int_free () from /lib/libc.so.6 > #16 0x0078eda9 in free () from /lib/libc.so.6 > #17 0x0805b0a3 in Set_str_value (l=0xffbb5120, key=0x80b214e "user", > value=0x823aff2 "er=er=er.er.er.en.ensens8ns83s83") > at ./common/linelist.c:1053 > #18 0x0807cc7f in Perm_check_to_list (list=0xffbb5120, check=0x80bac00) > at ./common/permission.c:704 > #19 0x08092dd6 in Do_queue_control (user=0x823bbe0 "goprint", action=20, > sock=0xffbb5340, tokens=0xffbb5230, error=0xffbb517c "", errorlen=180) > at ./common/lpd_control.c:448 > #20 0x08093b43 in Job_control (sock=0xffbb5340, input=<value optimized > out>) > at ./common/lpd_control.c:184 > #21 0x0806435e in Service_lpd (talk=5, from_addr=0xffbb537c "127.0.0.1 > port 0") > at ./common/lpd_dispatch.c:341 > #22 0x0806482c in Service_connection (args=0xffbb54b4) > at ./common/lpd_dispatch.c:310 > #23 0x080575a6 in Do_work (name=0x80a60d2 "server", args=0xffbb54b4) > at ./common/linelist.c:3853 > #24 0x080587d8 in Make_lpd_call (name=0x80a60d2 "server", > passfd=0xffbb54c0, > args=0xffbb54b4) at ./common/linelist.c:3823 > #25 0x0805cd8c in Start_worker (name=0x80a60d2 "server", parms=0xffbb54fc, > fd=12) at ./common/linelist.c:3882 > #26 0x0804a989 in Accept_connection (sock=7, lpd_socket=0, unix_socket=1) > at ./common/lpd.c:1015 > #27 0x0804bf61 in main (argc=Cannot access memory at address 0x0 > ) at ./common/lpd.c:693 > > > The segfault is triggered by the call to free() in Set_str_value (frame > #16 and #17), and it's "value" that's corrupt, but I haven't yet had time > to track down where the initial corruption is happening. > > I see that since I first looked at your lprng fork, you have made > significant changes, dropping a lot of the cruft that had accumulated > over the years. That seems like a good direction to take. > > I'll review the your changes document, but how compatible is lprng with > the older LPRng, from a config file and accepted options perspective? Is > it essentially a drop-in replacement for LPRng, or has there been enough > divergence that some things now work differently or e.g. the control > file format is now different? > the current lprng should be a drop-in-replacement. We have done some cleanup work. I use it for some sites, with have some hight volume (100 Jobs/min) without major problems. It would be interesting to see if the current code causes the same problems. re, wh |
From: Tim M. <Tim...@nd...> - 2013-11-01 17:56:07
|
In regard to: Welcome to lprng, walter harms said (at 3:00pm on Nov 1, 2013): > Hello Tim Mooney, Hi Walter & lprng-devel! I'm new to the list, but not LPRng. The university where I work has been using LPRng since the mid 1990s. We used its predecessor, PLP, before that. You'll find my name scattered throughout the CHANGES document for various patches, especially to the documentation, and suggestions over the years. I went looking for a fork of LPRng a few years ago, after it was clear that Patrick Powell was no longer doing maintenance on it. I found your lprng SourceForge project at that time, but almost no changes had been made to the source to that point, so I didn't follow the project closely. I found the project again because I was looking to see if anyone that was still using it was experiencing the kinds of issues that we do, specifically segfaults that appear to be memory corruption. We're using Patrick Powell's 3.8.33 (I see that he released a 3.8.35, but the changes are tiny), and had the same issues under 3.8.24 before that. We use LPRng with GoPrint, a commercial print management and cost-recovery system primarily targeted at universities and libraries. All queues are set up with LPRng as hold queues. Users interact with GoPrint at touch-screen kiosks near the printers, using their campus ID card to check their printing balance against our ID system and select and release print jobs they've submitted. It's GoPrint that decides whether they should be able to actually print the job, and it's that software that ultimately issues the "lpc move" and "lpc release" commands to LPRng, to get the selected print jobs to release to the printer. The system receives anywhere from a few hundred to more than 8,000 print jobs per day, and page totals printed per day range from 5,000 to more than 35,000. The system itself is quite slick, but unfortunately LPRng has been the weak link. Our system logs and dmesg output on the RHEL 5.10 print server that hosts GoPrint and LPRng are filled with segfaults from lpd workers: $ dmesg | egrep 'lpd.*segfault' | wc -l 1498 I've just recently spent some time on it, and have been able to identify a common stack trace: Program terminated with signal 11, Segmentation fault. #0 0x0078905e in malloc_consolidate () from /lib/libc.so.6 (gdb) where #0 0x0078905e in malloc_consolidate () from /lib/libc.so.6 #1 0x0078b2e7 in _int_malloc () from /lib/libc.so.6 #2 0x0078d27a in calloc () from /lib/libc.so.6 #3 0x0070c80b in _dl_new_object () from /lib/ld-linux.so.2 #4 0x00708011 in _dl_map_object_from_fd () from /lib/ld-linux.so.2 #5 0x00709f71 in _dl_map_object () from /lib/ld-linux.so.2 #6 0x00713d41 in dl_open_worker () from /lib/ld-linux.so.2 #7 0x007100d6 in _dl_catch_error () from /lib/ld-linux.so.2 #8 0x00713742 in _dl_open () from /lib/ld-linux.so.2 #9 0x0082cbf2 in do_dlopen () from /lib/libc.so.6 #10 0x007100d6 in _dl_catch_error () from /lib/ld-linux.so.2 #11 0x0082cda5 in __libc_dlopen_mode () from /lib/libc.so.6 #12 0x008099b9 in init () from /lib/libc.so.6 #13 0x00809b53 in backtrace () from /lib/libc.so.6 #14 0x007829b1 in __libc_message () from /lib/libc.so.6 #15 0x0078ad35 in _int_free () from /lib/libc.so.6 #16 0x0078eda9 in free () from /lib/libc.so.6 #17 0x0805b0a3 in Set_str_value (l=0xffbb5120, key=0x80b214e "user", value=0x823aff2 "er=er=er.er.er.en.ensens8ns83s83") at ./common/linelist.c:1053 #18 0x0807cc7f in Perm_check_to_list (list=0xffbb5120, check=0x80bac00) at ./common/permission.c:704 #19 0x08092dd6 in Do_queue_control (user=0x823bbe0 "goprint", action=20, sock=0xffbb5340, tokens=0xffbb5230, error=0xffbb517c "", errorlen=180) at ./common/lpd_control.c:448 #20 0x08093b43 in Job_control (sock=0xffbb5340, input=<value optimized out>) at ./common/lpd_control.c:184 #21 0x0806435e in Service_lpd (talk=5, from_addr=0xffbb537c "127.0.0.1 port 0") at ./common/lpd_dispatch.c:341 #22 0x0806482c in Service_connection (args=0xffbb54b4) at ./common/lpd_dispatch.c:310 #23 0x080575a6 in Do_work (name=0x80a60d2 "server", args=0xffbb54b4) at ./common/linelist.c:3853 #24 0x080587d8 in Make_lpd_call (name=0x80a60d2 "server", passfd=0xffbb54c0, args=0xffbb54b4) at ./common/linelist.c:3823 #25 0x0805cd8c in Start_worker (name=0x80a60d2 "server", parms=0xffbb54fc, fd=12) at ./common/linelist.c:3882 #26 0x0804a989 in Accept_connection (sock=7, lpd_socket=0, unix_socket=1) at ./common/lpd.c:1015 #27 0x0804bf61 in main (argc=Cannot access memory at address 0x0 ) at ./common/lpd.c:693 The segfault is triggered by the call to free() in Set_str_value (frame #16 and #17), and it's "value" that's corrupt, but I haven't yet had time to track down where the initial corruption is happening. I see that since I first looked at your lprng fork, you have made significant changes, dropping a lot of the cruft that had accumulated over the years. That seems like a good direction to take. I'll review the your changes document, but how compatible is lprng with the older LPRng, from a config file and accepted options perspective? Is it essentially a drop-in replacement for LPRng, or has there been enough divergence that some things now work differently or e.g. the control file format is now different? Thanks, Tim -- Tim Mooney Tim...@nd... Enterprise Computing & Infrastructure 701-231-1076 (Voice) Room 242-J6, IACC Building 701-231-8541 (Fax) North Dakota State University, Fargo, ND 58105-5164 |
From: walter h. <wh...@bf...> - 2013-11-01 14:26:25
|
Hello Tim Mooney, welcome to the lprng mailing list. You will notice that there is very few traffic as lprng is a mature project. If you are interested feel free to ask questions we will try to answer them. The only know issue with lprng so far is the lack of ipv6 support. If you are interested; patches are welcome. re, walter (Maintainer) |
From: Joe F. <jf...@fe...> - 2013-09-18 07:51:11
|
Well, if my time allows... I'm pretty busy right now, upgrading my Linux box, traveling, etc., but I'll see if I can get at least the basics done. I think I don't have the latest code, I've been using the last lprng code (3.8.35) that Slackware provided before they dropped it from the distro. But my guess is that the IPv6-related code hasn't changed much if at all. From what I've seen so far, while the code has some IPv6-related stuff with #ifdefined IPV6, it doesn't use IPv6 structures. For example, it uses struct sockaddr_in, even if the family is set to AF_INET6, which of course doesn't work (IPv6 needs struct sockaddr_in6.) The binding to 0.0.0.0 means it is using INADDR_ANY, for IPv6 it needs to use in6addr_any, etc. etc. Luckily, listening/binding seems to be done in only a couple of places, in common/linksupport.c and common/monitor.c. -Joe On 9/10/2013 3:10 AM, walter harms wrote: > hi Jow, > sorry for the delay. thx for the test. > > are you willing to take this further and fix this ? > > re, > wh > > > Am 08.09.2013 22:15, schrieb Joe Feise: >> Checking the issue with IPv6 support, it is not a surprise that it >> fails: lpd tries to bind to the IPv4 port. >> Running lpd with -D network+4 shows >> "Link_listen: bind to IP '0.0.0.0' port 515" >> That's an IPv4 address. >> For IPv6, the "listen on all interfaces" address is "::". >> I've tested this on a dual-stack machine, with both IPv4 and IPv6 >> interfaces. >> Looks as if getting the interface to listen on doesn't check for IPv6. >> >> -Joe >> >> ------------------------------------------------------------------------------ >> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more! >> Discover the easy way to master current and previous Microsoft technologies >> and advance your career. Get an incredible 1,500+ hours of step-by-step >> tutorial videos with LearnDevNow. Subscribe today and save! >> http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk >> _______________________________________________ >> Lprng-devel mailing list >> Lpr...@li... >> https://lists.sourceforge.net/lists/listinfo/lprng-devel > > ------------------------------------------------------------------------------ > How ServiceNow helps IT people transform IT departments: > 1. Consolidate legacy IT systems to a single system of record for IT > 2. Standardize and globalize service processes across IT > 3. Implement zero-touch automation to replace manual, redundant tasks > http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk > _______________________________________________ > Lprng-devel mailing list > Lpr...@li... > https://lists.sourceforge.net/lists/listinfo/lprng-devel > > |
From: walter h. <wh...@bf...> - 2013-09-10 10:27:38
|
hi Jow, sorry for the delay. thx for the test. are you willing to take this further and fix this ? re, wh Am 08.09.2013 22:15, schrieb Joe Feise: > Checking the issue with IPv6 support, it is not a surprise that it > fails: lpd tries to bind to the IPv4 port. > Running lpd with -D network+4 shows > "Link_listen: bind to IP '0.0.0.0' port 515" > That's an IPv4 address. > For IPv6, the "listen on all interfaces" address is "::". > I've tested this on a dual-stack machine, with both IPv4 and IPv6 > interfaces. > Looks as if getting the interface to listen on doesn't check for IPv6. > > -Joe > > ------------------------------------------------------------------------------ > Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more! > Discover the easy way to master current and previous Microsoft technologies > and advance your career. Get an incredible 1,500+ hours of step-by-step > tutorial videos with LearnDevNow. Subscribe today and save! > http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk > _______________________________________________ > Lprng-devel mailing list > Lpr...@li... > https://lists.sourceforge.net/lists/listinfo/lprng-devel |
From: Joe F. <jf...@fe...> - 2013-09-08 20:39:41
|
Checking the issue with IPv6 support, it is not a surprise that it fails: lpd tries to bind to the IPv4 port. Running lpd with -D network+4 shows "Link_listen: bind to IP '0.0.0.0' port 515" That's an IPv4 address. For IPv6, the "listen on all interfaces" address is "::". I've tested this on a dual-stack machine, with both IPv4 and IPv6 interfaces. Looks as if getting the interface to listen on doesn't check for IPv6. -Joe |