IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2014/09/01)2014/09/02 
kens chrisl I can't seem to make this font cache work with non-gc memory :-( I get a crash in gc_validate_object from gs_vmreclaim, at the end of the job.....08:01.01 
chrisl kens: Hmm, that's weird. Even though the font directory has the gc stuff in it, I thought it would only come into effect if allocated in gc memory....08:04.01 
kens I'm very unsure. It works fine in PCL of course, no GC.....08:04.21 
  In GS we allocate the 'dir' in stable memory and the ccache in noin_gc_memory. I'mkk giving that a try, but it means adding GC tracking for the pointer into the pdfwrite structure08:05.07 
  The 'dir' pointer that is, of course08:05.36 
chrisl That should be easy enough, but still rather a pain :-(08:05.53 
kens Yeah, and no guarantgee it'll work beyond 'monkey see, monkey do'08:06.08 
  Ah, and that crashes while freeing the font cache.... Oh, probably because I have teh memory pointer wrong now, oops08:06.58 
  Well, I have a 34 page file working now, time for a cluster test I guess.08:14.23 
chrisl kens: it's not immediately clear to me why it doesn't work in non-gc memory - I can take a look in a while if you like......08:17.03 
kens Let me see how this goes, I'd *much* prefer to do this in non-GC memory, but at least if this works I can pass you something working to look at and poke.08:17.47 
  Having said that, I see that we do GC pointer tracking of the font_dir in GS, and I'm certainly not doign that properly, so I suspect this will fail.08:26.11 
chrisl I thought you were adding the pointer to the gc stuff for pdfwrite?08:27.18 
kens Just for the font_dir itself, I'm not certain that the full GC tracking gets done08:27.39 
  I'll let you know in a minute, the test just finished08:28.10 
chrisl That should be taken care of by the declarations for the font_dir structure08:28.26 
kens 'SHould be' :-)08:28.36 
  I know it ought to work, but I have zero confidence in this stuff08:28.49 
  Yep, still *lots* of seg faults08:29.14 
  Fewer than before though08:29.27 
  Down to 187 now08:29.40 
chrisl Are all the fonts being freed before the cache?08:30.39 
kens They 'should' be, as I free the cache at the end of pdf_close08:31.02 
  But we all know how good pdfwrite is at memory management08:31.16 
chrisl This is the kind of situation where sane reference counting would be helpful!08:31.50 
kens OK the Altona file crashes before I free the cache. In copied_type1_SEAC_DATA08:31.53 
  chrisl, yes :-(08:32.04 
  Seems pfont->dir->global_glyph_code is NULL and the code doesn't check for that08:32.35 
  I admit I have no idea what that is.....08:33.02 
chrisl Ah, was about to ask!08:33.11 
kens Seems to be a function pointer08:33.37 
  It gets set to zfont_global_glyph_code in zfont.c08:34.09 
  Where its a staic, lovely.....08:34.42 
chrisl So, you probably need to pull the value of that from the "real" font cache - which should exist when pdfwrite is initialised08:35.05 
kens Yeah, I think that's the only solution08:35.21 
  I also need to update ccache.mark_glyph going by the code in there08:35.38 
kens heads off to do that....08:35.57 
chrisl Remember that only gs sets the font_dir entry in the graphics lib context, so you'll have to check that before using it08:36.29 
kens I'm asssuming at the moment that the PCL interpreter doesn't set these, and they aren't used for PCL fonts.08:37.18 
chrisl I would suspect not.08:38.12 
kens rebuild....08:40.09 
  OK well that solves the altona file, guess I'll just do another push and see how many more are left08:41.41 
  And check out the PCL implementation while it runs08:41.54 
  Ah, I see you beat me to it with a trio fix :-)08:45.53 
chrisl Oh, sorry, I thought you'd already pushed your test08:46.16 
kens Doens't matter, I need to go check that this works with PCL now, so I've plenty to do08:46.34 
  I also think the PCL implementation of the font cache needs to change, it explicitly uses non-gc memory and I think it ought to use the stored memory pointers when freeing the memory instead, so there's no chance of confusion.08:47.27 
  But I'll probably put that one to Henry ratehr than doing it myself08:47.48 
chrisl You are probably right *but* in practice it is almost certainly benign: PCL is (or should be) consistent in the allocator it uses everywhere08:48.34 
  kens: that complaint about ps2write emitting "huge Postscript output" - I did find something interesting in the acroread output (which I'm not inclined to mention on the bug thread at the moment)......08:49.40 
kens It absolutely is, but I htink it would save confusion if it 'properly' used the stored memory pointer. I need to revamp my own use (because I simply copied the PCL free code) so that it uses the correct memory pointers. It does right now but if I change hte type I have to alter the free code too, and I shouldn't need to....08:49.58 
  OK put it to me privately ?08:50.13 
  I *did* look at it.....08:50.27 
chrisl private chat or e-mail?08:50.33 
kens Either is fine08:50.39 
chrisl You may already know it.....08:50.48 
kens :-)08:50.52 
  OK so with PCL the gs_lib_ctx pointer to font_dir is NULL, so I can indeed use this to check and copy the (PostScript) required members from it08:55.40 
chrisl Yes, which is one of the reason I think the way PCL uses the cache is contrary to the intended use08:56.49 
kens I'm inclined to agree. A 'dummy' font dir would work if placed there of course, but that is also somewhat contrary to expected use I would say. And teh passthrough PCL ugliness makes it pretty well impossible to use it 'properly', as we would still end up throwing the cache away before pdfwrite gets to see it.08:58.12 
chrisl To handle the pcl passthrough case "properly" would have meant a hefty overhaul of the cache machinery - much quicker just to hack it :-(08:59.39 
kens Indeed.... :-((08:59.53 
Robin_Watts_ tor8: (For the logs) 1 more commit on robin/master. Looking at yours now.09:12.39 
  I've pushed yours.09:35.52 
tor8 Robin_Watts_: LGTM.10:08.53 
Robin_Watts_ Ta.10:09.00 
tor8 Robin_Watts_: zero differences with the strtod change, that's reassuring :)10:09.52 
  haven't measured the performance impact though10:10.30 
Robin_Watts_ fz_snprintf makes a huge difference though.10:21.28 
tor8 Robin_Watts_: where?10:33.47 
Robin_Watts_ http://ghostscript.com/regression/cgi-bin/clustermonitor.cgi?report=7e274313904e46cd3cf3f476ceb888ca687d1969&project=mujstest11:55.43 
  tor8: mujstest11:55.49 
  tor8: git revert that commit then clusterpush mujstest and then bmpcmp to do a visual compare?11:56.45 
tor8 Robin_Watts_: yeah, I'll look into it11:56.55 
  do you use pdf_print_token in mujstest?11:59.40 
Robin_Watts_ off the top of my head, I have no idea.12:02.34 
tor8 because that's really the only place that was affected by the snprintf commit12:02.50 
Robin_Watts_ Probably in the forms stuff, it's used to generate AP streams?12:02.56 
  That synthesis uses the pdf_device I think.12:03.29 
tor8 that, and pdfclean's pretty printing of numbers12:03.31 
  which are both more accurate now12:03.50 
Robin_Watts_ so they are probably many many subpixel differences.12:04.09 
  Your bmpcmp should confirm that and we can ignore it then.12:04.25 
tor8 Robin_Watts_: I can't get the bmpcmp to start...12:24.35 
Robin_Watts_ If you look at your report, there were no differences.12:25.14 
  just 48 errors12:25.20 
  hence bmpcmp won't start as it has no files to check.12:25.37 
tor8 right. I was looking at the wrong report.12:27.06 
Robin_Watts_ as to why.... no idea.12:27.20 
  Maybe git checkout back rather than git revert and retest?12:28.24 
tor8 and that's made me even more confused12:28.26 
  Robin_Watts_: I don't think that's going to work... "The following 629 regression file(s) had differences but matched at least once in the previous 25 runs"12:41.50 
Robin_Watts_ ass.12:42.17 
  You may need to resort to running a random sampling of them locally.12:42.30 
  btw, I cocked up when I pushed last night, and pushed a load of commits I shouldn't have.12:42.56 
  I then did a force push to put it right (30 seconds later).12:43.07 
  I then noticed that the cluster hadn't been testing mupdf for a few days because (presumably) you'd done a force push then as well.12:43.32 
  When we do a force push, I need to prod the cluster to get it working again.12:43.44 
tor8 yeah, I think I had to do a force push last week as well due to a slip-up12:44.07 
  pushed from the wrong branch :(12:44.13 
  how do you prod the cluster then? might be handy to know.12:44.24 
Robin_Watts_ tor8: ~regression/cluster/mupdf is the git repo that the clustermaster pulls into12:44.59 
  It pulls into incoming_master, and then stuff gets transferred to master as the jobs are queued for testing.12:45.38 
  hence you need to reset incoming_master and master as appropriate.12:45.49 
  and you mustn't leave it checked out in incoming_master, as if you do, the fetch fails.12:46.13 
tor8 right.12:47.53 
  reset master and incoming_master and leave HEAD pointing to master12:48.20 
Robin_Watts_ yeah.12:51.21 
  I should put that on the twiki or something.12:51.31 
tor8 Robin_Watts_: hm, looking at the scan-build warnings I wonder if there's a way to teach it about fz_rethrow12:59.43 
henrys chrisl, kens the other thing I thought of was not to free the cache for high level devices. That might be simplest and solve norbert's issue. That change would seem less of an upheaval. Thoughts?14:04.22 
kens henrys it would work, but would leave the cache(s) behind so memory leaking. Isn't it better to fix the leaks ?14:04.54 
henrys kens: it would leak for high level devices only which leak like seives anyway last I looked.14:05.27 
kens Well pdfwrite doesn't leak, I spent a lot of time sorting that out.14:05.47 
henrys with PCL it doesn't? There is nothing that depends on GC in pdfwrite?14:06.09 
chrisl henrys: I don't think piling an even worse hack on top of a hack is a good idea14:06.25 
kens I spent *lots* of tim explicitly freeing everything in pdfwrite, for a number of reasons. I won't say absolutely that nothing ever leaks, but it shouldn't14:06.43 
  One reason is for the '%d' output format, another was for PCL.14:07.08 
henrys kens, chrisl okay let's go with what you've got14:07.09 
kens If you are happy with teh patch I can commit it.14:07.20 
  It passes cluster testing without problems.14:07.37 
henrys kens: I'm good14:07.52 
kens OK give me a few minutes to squirrel away what I'm doing, and I'll pull the code fro my stash14:08.17 
tor8 Robin_Watts_: the differences I've looked at manually look very much to be subpixel differences14:08.26 
Robin_Watts_ tor8: cool, then we shouldn't worry about it.14:08.47 
  tor8: Random thought... could we have a hint that says "stop running now"?14:09.37 
  We could short circuit the entire interpretation that way.14:10.16 
tor8 it should be easy to add, but we'd need to take care to pop all the graphics stack operations14:10.17 
Robin_Watts_ The draw device has cleanup code for that, but it wouldn't be used for the draw device.14:10.42 
  All devices should cope with being told to abort early, right?14:11.30 
tor8 yeah, but I think some might depend on the open elements being closed14:11.49 
  I don't remember when FZ_MAINTAIN_CONTAINER_STACK was introduced14:12.24 
Robin_Watts_ That was to allow some logic that we thought would be common to several devices to be moved out into the null device layer, I think.14:13.38 
tor8 as long as the early-abortion from the interpreter is patched up by the null device to maintain the various stack states, which I think it does already but I'm not 100% confident14:13.44 
  then we should be fine14:13.48 
  in the xps interpreter we'd just stop iterating over children in the xml and drop back up the stack closing elements as we go14:14.24 
  and I reckon the same would hold for pdf recursion through XObjects14:14.45 
  we already handle hitting EOF early in pdf so actually, I think you can just ignore my ramblings and add the flag and code to bail out of the interpreter as if we hit EOF in the pdf interpreter14:15.41 
  maybe toss a fz_warn that we were aborted14:15.56 
rayjj Hi, all14:18.08 
Robin_Watts_ Morning rayjj 14:18.19 
rayjj I have to leave at 7:30 -- anything for me this AM ?14:18.30 
henrys rayjj: company C status?14:18.45 
rayjj I'll be back, but it's my youngest's first day of school and he wants me to take him14:19.08 
henrys rayjj: that's a big day!14:19.34 
rayjj henrys: I requested some docs from them -- they're available in a web site, but the docs are password protected PDF's :-(14:19.52 
  so actually, I requested the password.14:20.09 
  I did fire up the M board, and other than the baud rate for the debug port being incorrect in the docs, it works (it said 115200, but it was actually 38400)14:21.04 
  working in linux will be a *LOT* simpler14:21.29 
henrys is the M linux?14:21.48 
rayjj I also registered with company M for their "extranet" -- waiting for them to get back to me with the auth code14:22.19 
  henrys: yes, M is linux :-)14:22.29 
  the company C board is ThreadX :-(14:22.52 
  and the expected "flow" of stuff through their system is arcane14:23.58 
  OK, my son wants to go... bbiaw14:24.11 
henrys rayjj: unfortunately I think C is a bit more important.14:24.15 
  bye14:24.20 
  meeting in 5 minutes14:26.01 
marcosw I like how rayjj and mvrhel_laptop leave just as the meeting starts...14:30.06 
mvrhel_laptop hey. I just had a network goof here14:30.34 
henrys marcosw: ray is missing this one.14:30.39 
mvrhel_laptop although it is the first day of school here too. I will need to head out for a few minutes around 8pm to see them off14:30.59 
marcosw henrys: I was joking, I saw that he's taking his kid to school.14:31.20 
  school started last week for my kids14:31.36 
Robin_Watts_ You're all doing it wrong. Boarding school. Ship 'em off once aged 7 and see 'em again when they are 18.14:32.01 
marcosw my daughter is a senior in high school, so college next year :-(14:32.16 
kens Melanie starts university in < 3 weeks now....14:32.42 
Robin_Watts_ How is Stella coping with that?14:32.56 
kens RIght now ? Happy to see the back of her :-)14:33.12 
marcosw kens: which uni is she going to?14:33.15 
kens Might change in a few weeks14:33.18 
henrys I ddn't have anything beyond what's on the agenda for this meeting. Does anyone else have anything. I believe fredross-perry had some questions for tor8 but he might have solved those problems already.14:33.28 
kens marcosw : UCL (University Colege London)14:33.32 
fredross-perry I had a build-related issue, but that’s solved.14:33.56 
chrisl We are fast approaching release time - I'd like to do a release candidate early next week. Unless there are objections14:34.24 
Robin_Watts_ fredross-perry: If you ever have a question, and we're not here, just ask the question and leave the window open. We check the logs and will reply when we return.14:34.35 
henrys mvrhel_laptop: are you giving fredross-perry some feedback as he goes along here? (review)14:34.49 
fredross-perry ok, groovy.14:34.50 
Robin_Watts_ fredross-perry: Presumably you're happy using git? Do you have git repo somewhere?14:35.13 
mvrhel_laptop henrys: I can do that. Is there a place that I can look over the this fredross-perry/?14:35.18 
fredross-perry I’m happy for anyone to take a look. http://github.com/fredrossperry/mupdf.git14:35.23 
Robin_Watts_ Either we can give you an account on casper, or you... ah, github, great.14:35.30 
mvrhel_laptop ok great.14:35.31 
henrys mvrhel_laptop: or other mupdfers can weigh in on the work14:35.34 
  kens: what is going on with pdfwrite color management? Can we get this off the agenda soon?14:36.11 
mvrhel_laptop that should be done I would think14:36.26 
fredross-perry I haven’t touched mupdf itself. Just been using what’s in pdfapp.{c,h}14:36.33 
kens henrys there is still work to do, I have a bug open to remind me what needs doing. Its not going to get done soon though. You can remove it form teh agenda any time14:36.43 
henrys kens: I'm going to remove the high level device memory ownership entry since you are about to fix that.14:36.48 
mvrhel_laptop fredross-perry: did you build and run the gsview that I made for windows?14:36.57 
kens I think I already did, if that'ts the Norbert bug14:37.01 
mvrhel_laptop we will want to interface to ghostscript also at some point14:37.19 
fredross-perry yes I did, just to get a sense of how that version’s UI works.14:37.20 
henrys kens: which bug I'll add it to the entry before I remove it for archiving?14:37.27 
kens 695017 is the one I just closed14:37.42 
  pcfont_do_reset() leaks memory14:37.56 
fredross-perry I have a basic Qt app into which I am adding everything necessary to make it work similarly to gsview.14:38.20 
henrys kens: no which bug is not going to be fixed for a long time.14:38.29 
  ?14:38.30 
kens Oh the colour management in pdfwrite, just a moment14:38.41 
mvrhel_laptop fredross-perry: ok. If you do see something that should be different in the windows gsview UI, please let me know14:38.49 
kens henrys Bug #69530214:38.58 
fredross-perry I am also adding menu bar items to match the keystroke-driven commands, putting About and Help where they’re expected, that wort of thing.14:40.11 
  *sort*14:40.44 
marcosw chrisl: there is a build issue with 'make uproduct' but I can't find the bug number at the moment. do you recall the problem?14:40.48 
henrys kens, chrisl I'm wondering if you shouldn't be helping ray out with projects. he is a bit backed up. the tmp file stuff would be great to get in for example.14:41.06 
chrisl marcosw: so? It's not supported any more14:41.12 
  henrys: then something else gets shuffled away14:41.36 
kens henrys, its not obvious what I could help Ray with.14:41.37 
marcosw chrisl: http://bugs.ghostscript.com/show_bug.cgi?id=69522014:41.38 
kens and as chrisl says, then I will be dropping something else14:41.53 
  Liek the colour management, which is already on hold because I'm too busy to finish it14:42.09 
marcosw chrisl: okay, I'll stop testing it. Could we take the uproduct target out of the makefile? 14:42.44 
fredross-perry I’ve noticed that when printing to a high-res printer (like 1200 dpi), rendering each page takes a bit of time. I put in a progress/cancel thingy. Concerned?14:42.53 
chrisl marcosw: I'll do that, yeh14:42.58 
henrys okay I didn't realize you were fully occupied with customer or agreed upon projects.14:43.08 
marcosw and probably the documentation (not sure if it's (still) documented).14:43.21 
kens I'd hoped to get back to the form matrix problem from the customer before the release, but that's looking doubtful14:43.44 
chrisl marcosw: I'll check the docs, too14:43.45 
henrys kens: but I was thinking of you pushing along the /tmp file stuff, it seems like that will never go away.14:44.13 
marcosw grep doesn't find any mention of uproduct other than in the Makefile.14:44.22 
kens henrys, I don't think I'm a good person to deal with that, I have no idea what's going on there14:44.35 
Robin_Watts_ fredross-perry: Are you rendering in bands or to a whole page?14:44.37 
mvrhel_laptop fredross-perry: how are you doing the printing in the code? 14:44.41 
  yes14:44.44 
henrys kens: fair enough14:44.48 
  anything else meeting wise?14:46.27 
kens Nope14:46.40 
Robin_Watts_ The mupdf customer with greyscale/color detection...14:46.54 
  I hope they should be happy with the latest version now.14:47.04 
mvrhel_laptop nothing from me. I would like to fix up a couple minor things in the windows gsview and get it thrown up on the gsview.com website at some point14:47.08 
kens Ah, Mr Binks14:47.09 
fredross-perry Calling pdfapp_showpage at the printer’s resolution. Then pushing the produced image data to some Qt objects to move to the printer.14:47.09 
marcosw henrys: I think we are good for a release candidate as far as the open bugs are concerned, no blockers (afaik).14:47.17 
Robin_Watts_ fredross-perry: Wooah!14:47.32 
  You're building the Qt app on top of pdfapp?14:47.47 
fredross-perry Yes, that seemed the simplest thing to do, since pdfapp encapsulates a good deal of necessary logic.14:48.19 
Robin_Watts_ tor8: How do we feel about that?14:48.25 
marcosw Did anyone notice any issues with casper after the 12.04 -> 14.04 update (other than the git issue that tor8 found and fixed)? I assume there were no major problems, since I didn't get any panicky emails.14:48.55 
Robin_Watts_ My impression was that pdfapp is not powerful enough to allow you to do all the stuff that gsview does.14:48.57 
henrys marcosw: okay chrisl do you have a sense when you want to release?14:49.14 
Robin_Watts_ marcosw: The twiki config was broken. I fixed it.14:49.14 
kens marcosw casper seems fine to me14:49.28 
tor8 fredross-perry: pdfapp is not a good example to look at, in fact it's terrible! :)14:49.33 
henrys mvrhel_laptop: so you won't be around for skype?14:49.45 
chrisl henrys: see above...... at 15:34......14:49.46 
Robin_Watts_ marcosw: It was broken cos the new version of apache didn't ignore an error any more.14:49.50 
tor8 fredross-perry: also, please use lowercase path names (or my OCD will rename everything for you)14:49.51 
mvrhel_laptop henrys: I might be out for the first 15 mintues of the skype meeting14:50.02 
  have to go out and take a couple pictures14:50.09 
  etc14:50.10 
henrys chrisl: sorry missed it completely.14:50.25 
Robin_Watts_ tor8: fredross-perry is not just using pdfapp as an example - he's actually building the app using it. That seems very wrong to me.14:50.31 
henrys no objection here chrisl 14:51.09 
tor8 yeah. I would very much advise against that. the pdfapp stuff is a hodge podge of cruft accumulated to work specifically for the x11 and win32 viewers that's never been designed to be good for general use14:51.10 
Robin_Watts_ chrisl: You want to release at 15:34? :)14:51.17 
tor8 there are some useful bits in there, but they should really be pulled out and into the real mupdf api14:51.51 
chrisl Robin_Watts_: I tried, but was too late......14:52.08 
Robin_Watts_ You've got another chance tomorrow.14:52.31 
chrisl Robin_Watts_: I'll try and manage it at 15:34 next Monday.....14:52.58 
marcosw Robin_Watts_: thanks for finding and fixing it, I'll add the twiki to my things to test next time I do an update.14:53.48 
Robin_Watts_ marcosw: It was my fault it was broken, so seems only fair :)14:54.32 
mvrhel_laptop fredross-perry: that is why I was asking about the current gsview app. I wonder if rewritting the c# stuff in c++ makes some sense for you14:55.03 
fredross-perry Sorry about confusion re: gsview. My task as I understood it was to “port” the WIndows viewer, which I thought was the one in platform/win32, which uses pdfapp.14:56.29 
mvrhel_laptop it really should not be too bad. some of the hairier stuff in there had to deal with the boundary between managed and unmanaged code. You would not have any of those issues and we could strip out a lot that deals with the ui. You could just use my API to mupdf 14:56.36 
  gsview is the c# app14:56.56 
Robin_Watts_ fredross-perry: No. The desire is for you to port the "new" windows viewer, which is gsview.14:56.57 
fredross-perry where is that API found? thanks.14:57.06 
Robin_Watts_ gsview is in platform/winrt, I believe.14:57.45 
mvrhel_laptop fredross-perry: yes. on the windows_desktop branch. 14:58.03 
  fredross-perry: are you available this morning.14:58.15 
fredross-perry yes14:58.24 
Robin_Watts_ mvrhel_laptop: Can we merge windows_desktop down to master now?14:58.25 
mvrhel_laptop maybe we can go through that code real quick this morning14:58.25 
  Robin_Watts_: we can do that14:58.34 
Robin_Watts_ would be good to do before the release.14:58.42 
mvrhel_laptop rayjj had me fix a bunch of issues14:58.44 
  and I think it is ready to merge14:58.55 
Robin_Watts_ cool.14:59.02 
mvrhel_laptop I will try to do that today14:59.18 
Robin_Watts_ gsview isn't strictly winrt though, is it?15:00.13 
mvrhel_laptop fredross-perry: lets talk on the phone at 10:30am if that works for you. I have a double kid send of this morning (one now and one at 10am)15:00.14 
  send off15:00.22 
  Robin_Watts_: gsview is not winRT at all15:00.34 
fredross-perry ok, sounds good.15:00.42 
mvrhel_laptop it does share some of the same code though15:00.48 
  so I don't know how best to organize that15:00.59 
Robin_Watts_ so can we rename the dir? platform/windows maybe?15:01.11 
mvrhel_laptop platform wise15:01.11 
  that would be good15:01.17 
Robin_Watts_ tor8 may have a better idea for a name.15:01.27 
mvrhel_laptop brilliant idea :)15:01.28 
  since under windows you have windows, winRT, winphone815:01.47 
  oh 15:02.00 
  one thing though15:02.02 
  you will need vs2013 for this 15:02.13 
  i know how you dislike that Robin_Watts_ 15:02.27 
fredross-perry Right now I have platform/Qt, which I hope can build mac/linux/windows desktop, for starters.15:02.28 
mvrhel_laptop have to go now15:02.47 
  bbiab15:02.49 
Robin_Watts_ mvrhel_laptop: I dislike requiring newer VS than we actually need to, but AIUI, the winrt stuff really won't build on anything earlier, right?15:03.03 
  fredross-perry: Sorry, we should have been clearer about this from the start.15:03.39 
  platform/qt sounds an ideal place.15:03.47 
  but you don't want to be calling pdfapp, you want to be calling the stuff that pdfapp calls.15:04.03 
kens Robin_Watts_ : Mr Binks is back for you again :-)15:04.28 
Robin_Watts_ Possibly you could copy pdfapp into your app and refactor it, but you might get better results working from a clean slate.15:04.55 
fredross-perry It could be that simple.15:04.58 
  It would help if folks who know can say what parts of pdfapp are bad, so I can avoid.15:05.38 
  I’m going to jump out now. mvrhel_laptop, call me at 10:30 Pacific, 415-518-972915:06.43 
Robin_Watts_ fredross-perry: The guy to talk to... bah. was about to point him at tor8.15:07.10 
henrys fredross-perry: this might be largely my fault - I thought you would be looking a michael's new gsview code in the branch we talked about and just port windows stuff to QT15:07.26 
Robin_Watts_ mvrhel_laptop: (when you get back) when you speak to fred, encourage him to come on here and talk to us.15:07.45 
henrys probably wasn't clear.15:07.46 
tor8 Robin_Watts_: platform/qt and platform/windows sound good to me15:08.46 
  platform/dotnet?15:08.52 
henrys I'm not really sure how/if fred is going to get regular review off on github. It just seems it would be simpler to give him an account and a personal repo.15:08.58 
Robin_Watts_ tor8: urgh. mupdf doesn't build. the dtoa.c file dies because we don't have NAN defined.15:09.23 
tor8 henrys: from our point of view, it doesn't matter where his personal repo lives as long as it's a fork from our git repo15:09.27 
  Robin_Watts_: ah, I might've forgotten to copy that bit from jsi.h15:09.58 
  #ifndef NAN #define NAN (INFINITY-INFINITY)15:10.07 
  the NAN define is a c99-ism15:10.18 
henrys tor8: that may be but obviously we aren't reviewing...15:10.27 
tor8 #define INFINITY (DBL_MAX+DBL_MAX) #define NAN (INFINITY-INFINITY)15:10.40 
  henrys: I wasn't even aware he'd set it up (or that fredross-perry was the person we've asked to write the Qt viewer)15:11.13 
  but once we know, we can add it to our list of remotes and see what happens there just as easily as on casper15:11.35 
henrys tor8: I don't care how we do it. Just want to get fred some regular review.15:12.10 
tor8 I already have 10 remote repositories I'm pulling from on my machine15:12.18 
henrys so we don't go astray again15:12.23 
tor8 one more won't break it15:12.27 
henrys tor8: great.15:12.47 
tor8 henrys: what does break it though, is that he didn't fork the mupdf git, he just created a new repository and copied in the code15:13.45 
  that can be fixed, but we'll need his presence here15:14.17 
henrys tor8: I'll tell him.15:15.11 
Robin_Watts_ tor8: fix commit on robin/master then.15:19.22 
tor8 Robin_Watts_: LGTM15:20.06 
Robin_Watts_ tor8: One possible way to fix the fredperry-ross git issues; clone mupdf on github, cherry-pick his commits, put them back on github, then tell him to fork that and continue from there.15:58.13 
  marcosw, kens: re the support mail about tiff stuff. AIUI, the thing is that gs 9.05 would have been writing broken tiff files (for files with compression at least)16:02.02 
  zeniko: Hey.16:02.13 
kens Umm, which mail is this ?16:02.27 
zeniko Robin_Watts: good evening16:02.28 
Robin_Watts_ At least now, we're properly telling people.16:02.43 
zeniko Robin_Watts_: tor8: I'd have two more commits on zeniko/mupdf for the impending(?) release16:03.03 
kens Oh, difference in behaviour ?16:03.06 
Robin_Watts_ kens: yeah.16:03.14 
kens was leaving that one for Marcos16:03.18 
Robin_Watts_ yeah, I figured. ISTR it was chrisl that actually added the error.16:03.45 
kens Maybe they aren't using compression (which would be dumb)16:03.46 
chrisl They say it's using g3 compression16:04.05 
kens So they do (just read it)16:04.13 
Robin_Watts_ some tiff readers probably won't care, cos they may not look at the indexes and might just walk the file looking for chunks.16:04.15 
  and if all the data is in a single chunk the index may even be right.16:04.57 
  cos you can predict where the first chunk will be, but not where subsequent ones will be.16:05.32 
chrisl I actually can't remember if I special cased the non-compressed case......16:05.52 
kens anyone know who owns the tiffsep device ?16:07.58 
  Or I suppose this could be a colour issue, overprinting spot colours.16:08.25 
chrisl tiffsep.dev: ray and henry16:08.46 
kens I'll assign it to Ray then I guess.16:08.59 
  OK night all16:10.39 
rayjj on gsview, is that going to be AGPL or something different (AFPL?)16:14.48 
rayjj reviews the logs from the meeting16:15.03 
  I have "scheduled" power outages between 8am and 2pm today, so things might be up and down.16:28.45 
Robin_Watts_ tor8: Urgh. an abort device hint ain't gonna fly. Would make the pdf_process code horrible.16:42.42 
  I wonder about a specific exception.16:42.49 
rayjj Robin_Watts_: when rendering pages in a viewer, and the page is still being rendered when you need to go to a new "view" (page or zoom), how do you stop the page in process in order to free up CPU+RAM for the new view (or do you) ?16:46.51 
Robin_Watts_ rayjj: When you interpret a page in MuPDF you can pass in a cookie.16:47.31 
  The cookie is a pointer to a structure, in which we have various fields.16:47.51 
  One of these fields is 'abort'.16:47.59 
rayjj so, why doesn't this work for mudraw -T ?16:48.13 
Robin_Watts_ If the caller decides that it doesn't need the interpretation, it can set the 'abort' field in the cookie.16:48.30 
  The interpreter will notice that between processing operators and will then bale out.16:48.47 
  The cookie is not available to the device.16:49.00 
  i.e. the device can't set the cookie.16:49.06 
tor8 Robin_Watts_: let me think about it. can we discuss it tomorrow? I've got sebras here and just started on the epub stuff.16:49.10 
Robin_Watts_ tor8: No worries.16:49.20 
  I'll do some experiments here between SOT compiles :)16:49.30 
rayjj but the device can feed back "hints" or something ?16:49.32 
Robin_Watts_ The device has access to hints, yes.16:49.49 
  but those are more typically used for callers to set and the device to read.16:50.13 
  We are abusing that slightly here by having the device set the hint that says "we don't care about images".16:50.43 
rayjj sounds like the machinery is there to abort page interepretation -- just not the plumbing16:50.59 
Robin_Watts_ The plumbing to use that would be horrible.16:51.16 
rayjj plumbing often smells bad ;-)16:51.42 
Robin_Watts_ because of the abstracted nature of how we process operators.16:51.47 
  Not all operators get processed through a device.16:51.55 
  Or rather, sometimes we can process a page without it going to a device (like when we are doing textual processing on the operator streams)16:52.53 
rayjj Robin_Watts_: true, but those that don't probably aren't the ones that chew up much time16:52.59 
Robin_Watts_ to do this using hints, we'd need to change every single operator handling function (for the run device processor at least)16:53.38 
  Using an exception seems much nicer, cos that jumps straight out using our usual exception handling routines.16:54.08 
  plumbing via hyperspace :)16:54.17 
rayjj aka longjump ?16:55.26 
Robin_Watts_ yeah.16:55.32 
  I dunno if you've seen it, but we have fz_try/fz_always/fz_catch clauses in mupdf, together with fz_throw() etc.16:56.04 
  Makes error handling a lot neater.16:56.12 
  They are implemented in terms of setjmp/longjmp, but the complexity is (largely) hidden from the user.16:56.48 
rayjj oops, problem at home -- something glitched when power came back on -- bbiab (I hope)16:56.58 
  Robin_Watts_: yes, I've seen the try/catch stuff, and recall the discussions on the implementation design16:57.30 
  Robin_Watts_: sure is a *LOT* simpler than gs's approach of having every function have to check for code<0 and return16:58.29 
Robin_Watts_ rayjj: Explicit error passing in C basically throws away the ability of the language to return values from functions.16:58.59 
rayjj I recall going through some code that had bunches of cases missing and adding it.16:59.00 
  bbiab17:00.14 
mvrhel_laptop ok. just had a hour + call with fredrossperry. I have him going in the right direction in terms of what interface/code to use18:45.30 
  I think it will not be too hard and his work will not have been thus far18:45.56 
  work will not have been wasted thus far18:46.08 
  essentially he will be hooking into the c++ interface that I have 18:46.36 
  instead of working with pdfapp18:46.47 
  tor8, Robin_Watts_ he is going to ask you guys at some point about git and getting his repos up properly18:47.15 
Robin_Watts_ cool.18:47.37 
mvrhel_laptop Robin_Watts_: I will work on getting the win_desktop branch merged in18:47.38 
  so should we just rename winrt to windows?18:47.49 
  then we will have windows and win3218:47.54 
Robin_Watts_ That seems reasonable.18:48.01 
mvrhel_laptop ok. 18:48.05 
  grabbing lunch19:27.58 
 Forward 1 day (to 2014/09/03)>>> 
ghostscript.com
Search: