IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2015/10/25)20151026 
Robin_Watts TTOTD: When you have a bad back, do not a) manhandle a washing machine around, and then b) go out for food and a film without remembering to take a painkiller with you.12:23.14 
tor8 Robin_Watts: I've uploaded the release candidate source and windows binary and updated the news page.12:55.18 
  I ran into some trouble building the 64-bit windows release; some of the targets don't compile :(12:55.42 
Robin_Watts openssl ones?12:57.22 
tor8 Oh, it's just skipping over the new projects I added.12:59.06 
Robin_Watts has physio appointment at 3:30, so will be heading out at 3:15ish.13:03.29 
ismail is there a high resolution mupdf icon somewhere? (to use in a linux package, desktop menu)13:14.52 
henrys uh oh the dreaded time change...13:50.21 
  we change next week.13:50.42 
kens We changed on Sunday13:50.49 
  Its now 13:4813:50.59 
henrys yup13:51.01 
  being an hour early for the meeting is better than an hour late ;-)13:52.43 
kens Well, we'd generally be here anyway13:53.02 
tor8 ismail: http://ghostscript.com/~tor/mupdf-simplified-logo.png14:09.08 
  ismail: in the source, in 'platform/ios/iTunesArtwork2.png' might also work for you14:09.57 
  but that has the typical iOS rounded corners14:10.06 
mvrhel_laptop we need to change the time earlier here14:10.06 
  its pitch black when the kids walk to school14:10.15 
  since its raining and they have projects to carry in I am going to be a nice guy and drive them though14:10.45 
kens :-)14:11.16 
mvrhel_laptop henrys: so I am going to spend a little time working on http://bugs.ghostscript.com/show_bug.cgi?id=696290 this week. 14:12.18 
henrys mvrhel_laptop: we need to not change the time at all.14:41.07 
  http://www.petition2congress.com/6284/end-daylight-savings-time14:43.39 
  mvrhel_laptop: I think the candy industry lobbied to get it before halloween, unbelievable.14:46.27 
  s/before/after14:46.39 
mvrhel_laptop I do like it in the summer around here though with the time change. otherwise it would be light at 3am15:05.18 
henrys an interesting proposal is to have pacific and central be on dst and mountain and eastern on standard resulting in 2 time zones in the US separated by 2 hours. Your monday morning brain stimulation ...15:05.53 
Robin_Watts goes to physio. back in a bit.15:07.08 
tor8 henrys: if spain can share a time zone with poland despite lying to the west of britain ...15:09.16 
  henrys: what about alaska and hawaii in that proposal?15:09.27 
henrys tor8: I'd really be fine with almost any reasonable proposal that didn't change the damn clocks. Presumably something that optimized energy savings would be best15:10.35 
tor8 henrys: the biggest "problem" is the fixation on keeping 9-5 office hours.15:11.56 
henrys tor8: to me having folks have a little dark in the morning or evening pales in comparison to the madness of changing the time.15:18.05 
kens I seem to be going down with somethign gastric, so I'm heading off, may not make the meeting tomorrow.....15:59.44 
henrys ray, chrisl (for the logs) we can talk about it tomorrow but I think we are really giving up a lot without the shared device in language. The biggest problem is not having 1 output. Really nice to have stream of different PDL jobs and use 1 "OutputFile"16:54.58 
  s/language/the language switch build/16:55.37 
ismail tor8: thanks!16:56.00 
chrisl henrys: well, a) I can't see a way to make it work reliably with a shared device, and b) why should it matter since it isn't for "general" use anyway?16:56.50 
henrys a) gc pcl or fix pdfwrite b) I don't want to constrain it's use if we don't have to.16:58.32 
chrisl a) pdfwrite isn't the problem b) it was *you* that stated that it wasn't for general use16:59.28 
henrys chrisl: we agreed sometime back that devices wouldn't use gc, and for a good amount of stuff they don't. 17:00.46 
  the ls build does work for the most part with low level devices17:01.02 
  chrisl: as for (b) being in the thick of redesigning it I've thought about it some more and think it could be generally useful.17:01.59 
chrisl henrys: no, we agreed that device shouldn't *rely* on gc, but because Postscript can hold a reference to the device (in a ref) having device completely outside gc is incompatible with the Postscript interpreter17:02.10 
henrys chrisl: surely we could have a workaround for that, but I'm also thinking gc'ing pcl may not be that painful.17:03.26 
chrisl So, after all the hostility to the garbage collector.......17:04.11 
henrys chrisl: well Robin did have some ideas about possibly generating the descriptor that would take a lot of the hell out of it17:05.05 
chrisl Then there's the problem of device selection in Postscript 17:05.33 
henrys I have the ls switch stuff working now with separate devices and memory now, and after fiddling with it I wonder why bother? just use separate processes.17:07.18 
chrisl Shared code makes the total footprint smaller17:07.52 
henrys I know that is the advantage, that's it though.17:09.06 
chrisl I think another problem is that Ghostscript's entire device selection is handled in Postscript, and its device management is totally based on information gained during that process.17:10.04 
  I strongly suspect foisting a device from outside the PS environment onto Ghostscript was another source of problems for the original ls implementation17:11.57 
  Especially, but not exclusively, when the device is pdfwrite17:12.49 
henrys chrisl: I haven't seen many problems with raster devices. pdfwrite is all over the gc, and I think most of that comes from the "imager state" - if that could be somehow separated memory-wise from the graphics state I think that would catch a lot of the issues.17:14.24 
chrisl henrys: pdfwrite only relies on garbage collected memory for certain objects that can only come from the Postscript world. For everything else, although allocated in gc memory, pdfwrite does actually manage the memory itself17:15.46 
  But even sorting out those remaining cases doesn't solve the problem of how the device interacts with the Postscript environment17:16.49 
  And, FWIW, I'd much rather get rid of the imager state altogether - it's a horrible source of confusion, IMHO17:19.27 
henrys chrisl: what are some specific things you are thinking about that will not work if we have an api for gs_setdevice?17:19.54 
chrisl mainly setpagedevice/currentpagedevice and currentdevice in Postscript17:21.32 
henrys chrisl: yeah but we have a lot of flexibility with what we choose to do and not do with those.17:22.53 
chrisl Really? I thought we'd want to stick to what the spec requires17:23.39 
henrys maybe you're right about the imager state. I think peter feared folks writing devices would poke at the graphics state ...17:24.28 
chrisl I can see the reasoning behind it, but I don't agree with it.....17:25.21 
  For a concrete of case of a problem: if we take device entirely out of garbage collected memory, and then some Postscript does: "<< new device dict>> setpagedevice /cdev currentdevice def" - we'll encounter problems at the end of job17:27.34 
Robin_Watts I think there are places in the graphics lib where we make a new imager_state and pass that on.17:27.37 
chrisl Robin_Watts: yes, and often doesn't check whether it started with a graphics state or another imager state17:28.08 
Robin_Watts where we are unwilling (or unable) to make a real graphics_state.17:28.09 
chrisl There isn't a massing difference in the size of the two structures17:28.29 
henrys chrisl: I'm also thinking the other way... gc for pcl and xps... but tailoring our entire system to PostScript gc just seems backward.17:29.24 
  Robin_Watts: are you okay?17:29.54 
mvrhel_laptop good grief. So I see the issue with the shading fills with devices like psdcmyk and tiffsep17:29.58 
  The test is_dc_nearly_linear is always returning false17:30.13 
Robin_Watts henrys: I have, apparently, tweaked a disc in my back.17:30.23 
mvrhel_laptop since the device colors are deviceN type17:30.24 
  Robin_Watts: sorry to hear that17:30.31 
henrys Robin_Watts: ugh17:30.39 
mvrhel_laptop I have been down that road before17:30.45 
chrisl henrys: I think that ship sailed with the original implementation - the graphics library was implemented, from the ground up, for Postscript17:30.46 
Robin_Watts Should get better - nothing earth shattering.17:30.56 
mvrhel_laptop the upside is that it does get better17:31.04 
Robin_Watts yeah.17:31.13 
chrisl Robin_Watts: stay mobile, but gentle movement17:31.21 
rayjj actually, the graphics state does have baggage for some stuff besides PostScript -- ROPS and antialiasing17:31.51 
chrisl imager state, surely?17:32.30 
rayjj but as to why those, and not the rest of the PDF ExtGState stuff ...17:32.30 
chrisl Ugh, don't get me started......17:32.43 
henrys rayjj: the entire discussion above may be of interest...17:32.45 
chrisl henrys: I just don't see how we can get around the the way Postscript interacts with the device, and especially, being able to hold a reference to the device in PS VM17:34.39 
rayjj henrys: I just got back from picking up my car. I'll review the logs17:34.40 
chrisl Now, if we could do a bit of re-architecture and API redesign.......17:35.44 
henrys chrisl: I wonder why that didn't come up in the language switch build before, we did beat on quite a bit, at least for low level devices17:36.00 
chrisl henrys: it certainly came up when I tested it, which is why I raised it as a problem when we discussed it two staff meetings ago17:36.38 
henrys chrisl: but we were using .endjob each postscript file should be encapsulated.17:42.47 
chrisl henrys: but you're leaving a reference to a non-garbage collected object in existence17:43.27 
henrys chrisl: and that is not a bug that could be addressed?17:46.03 
chrisl henrys: I'd be interested in a solution for garbage collecting without a garbage collector17:47.06 
Robin_Watts chrisl: I'd be interested in seeing how far we could get by first reducing it so that we never used gc for objects that weren't directly reachable from postscript.17:48.37 
chrisl Robin_Watts: well, we're sort of heading down that road anyway. But that comes with its own problems17:49.31 
Robin_Watts We have to reach devices from PS, so we should keep devices as gc'able. But sub sections of the devices that aren't reachable from PS should not be handled by gc.17:49.51 
  Yeah, it means we have to track usage and free stuff ourselves.17:50.09 
  No 'free ride' like we get from the gc.17:50.20 
chrisl Not only that. To keep memory use under control, we trigger gc sweeps based on how much memory is in use - with loads of memory allocated outside of the garbage collector, we aren't making that decision on full information17:51.13 
  There is (or should be) an open bug for exactly that problem17:52.29 
  henrys: the main thing is, for the primary target audience of language switching, having separate devices is totally irrelevant, so I think we continue on that route, and discuss future/further enhancements as and when resources permit17:57.18 
baegle I'm getting "Error: /typecheck in /findfont" when running ghostscript. I have already removed all WOFFs I can find. I don't know how to further debug the issue. Can anyone help?17:57.46 
chrisl baegle: what version of gs are you using?17:58.19 
rayjj since PCL doesn't use the GC, the device related stuff is properly tracked (doesn't leak), thus doesn't depend on a GC to clean things up17:58.30 
baegle chrisl: 9.06~dfsg-2+deb8u1 (debian stable/Jessie)17:59.02 
rayjj baegle: that's really old17:59.22 
henrys chrisl: well I strongly disagreed with that, just you and rayjj outvoted me. What kind of printer would have 2 devices? bah!17:59.24 
chrisl henrys: I don't recall your argument.....17:59.51 
rayjj having a single device was a mess on the previous l/s. 18:00.16 
chrisl baegle: we released 9.18 not long ago18:00.31 
  henrys: Bear in mind that not sharing the device does *not* imply not sharing raster buffer memory18:01.32 
rayjj chrisl wanted to have the parser each have their own device, and my only objection was making sure that the buffers for the devices for an inactive parser weren't kept around. Chris assured me that wouldn't be the case18:01.43 
henrys chrisl: well the device is an abstaction of the hardware how many printers does a printer have? Which PageCount shall we use, the sum of the 2 devices...18:02.00 
baegle chrisl: sure... I have feeling my issue is something I could debug if I understood how to do so. I don't even know what kind of sanity checks I can run to determine if ghostscript can find the font it's looking for18:02.22 
rayjj henrys: well, to a PS printer, it thinks it "owns" the printer, and any intervening PCL jobs are invisible to it18:02.50 
henrys rayjj: that ain't the way my printer works. It's an HP, pretty popular ...18:03.20 
rayjj baegle: typecheck in findfont is *not* a problem that you can probably diagnose18:03.25 
chrisl henrys: again. not sharing the device does not imply not sharing information18:03.46 
rayjj henrys: so if you send a PS job that prints the currentpagedevice /PageCount, run a PCL job, and send that same PS job, it includes the PCL pages ?18:04.25 
  henrys: if so, we can do that -- it certainly isn't hard18:04.46 
chrisl baegle: you could use strace to possibly see what font file was being read when the error triggered18:06.05 
rayjj The Samsung I have doesn't have PS (just PDF which doesn't let me print the device's PageCount)18:06.06 
henrys rayjj: huh I thougt the status page said postscript18:06.53 
rayjj hmm... I'm not at the printer just now. I'll have to double check (or dig up the scan I did of that page)18:07.32 
chrisl henrys: I feel like I/we are just repeating ourselves - we discussed this at length at the staff meeting and, as far as I'm concerned, nothing (from a technical perspective) has changed18:12.59 
rayjj chrisl: right. I thought we agreed to letting you do it with each parser having its own device as long as the buffers (at least the large ones) weren't kept allocated 18:14.22 
  chrisl: and if you run into problems doing it that way, its also fine with me if you decide to go back to a single (shared) device18:15.03 
chrisl rayjj: Well, I gave up when I looked at the PCL interpreter front end......18:15.18 
rayjj chrisl: basically, as far as I am concerned, do how you think best (as long as you don't create memory usage issues)18:15.52 
chrisl I *thought* henrys was adding an API style front end for PCL, from which I could then move on with ghostpdl18:16.23 
  rayjj: given that for any printer integration, we're looking at custom device(s), I don't see the memory use as a problem18:17.31 
henrys chrisl: I am doing that, I have it working almost, from working on it I see it sucks, that's why I'm bringing it up. You are right nothing has changed technically.18:17.33 
chrisl henrys: we could start up Ghostcript, let it do the device selection, and then grab the device from there - that *might* work......18:18.29 
  But that means keeping a Ghostscript instance in existence all the time, which sucks18:19.35 
mvrhel_laptop 696227 is interesting. psdcmykog has the issue but not psdcmyk18:23.46 
chrisl henrys: Besides, I don't think getting it working with separate devices precludes us from exploring ways to make a single device work in the future. It just gets us another step forward, and something that a printer company could feasibly use18:25.14 
henrys chrisl: I completely agree with that, I'm expecting to have something the same as gs's api for PCL this week.18:26.50 
chrisl henrys: So, we can revisit this in person (which I think is more productive). The problem is, all my current ideas for solving the problem of the shared device(s) would involved API changes18:28.38 
henrys chrisl: right language switching is all over the agenda so I don't think anything need be added18:31.06 
chrisl henrys: TBH, if you want a proper argument: I think the *right* way to have this work would be to have a shared graphics library context, into which all the interpreters feed marking operations - but as the graphics lib context contains (opaque) references to interpreter context(s), that's never going to happen!18:40.21 
henrys chrisl: that was our first design and we weren't able to get it to work.18:41.42 
chrisl henrys: it would need *major* re-engineering of a few things to make it viable18:42.54 
  Just to be clear: I was not suggesting we take that route, but the usual: "if we'd been making these decisions twenty years ago......"18:44.28 
mvrhel_laptop lunch time19:21.56 
rayjj mvrhel_laptop: if you set the -dBandHeight=338 for the psdcmyk device (same as the psdcmykog device uses by default), you get a better comparison of the -ZL output. The interesting thing is that the psdcmyk device does the 'rendering bands' four times from (0,0) to (10,10). The psdcmykog device only does that once 21:09.30 
mvrhel_laptop rayjj: oh interesting. thanks21:24.25 
rayjj mvrhel_laptop: the cmykog device doesn't use the get_bits_rectangle (or downscaler variant) to get single planes. It uses the "process_page" device proc21:26.05 
  in the cmykog_process function, it calls the get_bits_rectangle to get the pointers to the data. The other thing it does is that it uses the gdev_prn_color_usage to decide if it's going to output a plane. It could be that the color_usage is wrong21:28.43 
mvrhel_laptop rayjj: oh I bet gdev_prn_color_usage is a likely problem21:53.30 
  looking at that now21:53.36 
  hmm no that was not the problem.21:58.08 
  I forced it to always process and still have the same thing21:58.50 
baegle Can I send someone a postscript file for review? I just tried opening it in evince and it segfaulted23:19.36 
  This is the file that ghostscript crashed on, which seems to have been happening inside ps2pdf23:20.52 
  well, ok. It looks like it's just debian's super old version that's the problem because the latest 9.18 binary works just fine.23:49.22 
 Forward 1 day (to 2015/10/27)>>> 
ghostscript.com
Search: