IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2014/06/25)2014/06/26 
kens chrisl ping07:10.01 
chrisl kens: pong07:13.23 
kens Got a strange one lookin the new report 695334g at07:13.54 
  I am seeing a seg fault, though I'm not convinced its the one the customer has reported (of course a file with some 20 missing fonts is an *ideal* test case....)07:14.29 
  I'm seeing a seg afult in release_subst_CID_on_WMode, possibly because I haven't used their cidfmap (not having all the fonts on my system)07:15.18 
  The problem seems to occur because the ref count of 'subst' is already 0, so adjusting it by 2 causes it to go negative, which makes the rc_adjust code try to free the body, with predictably bad results07:15.58 
chrisl I wonder why it decrements by 2......07:16.46 
kens Well any decrement would be bad, since its already 007:17.02 
  Well, I think it is....07:17.15 
  Its all the usual macro hell07:17.24 
chrisl Does it go wrong with something other than pdfwrite?07:17.37 
kens Well it doesn't with the display device07:17.47 
chrisl That's....um..... strange......07:18.10 
kens Well it gets called *many* tiems, because there are so many missing fonts. ALl except one is fine07:18.27 
  Its the call on exit that kills it07:18.57 
  Part of garbage collection07:19.04 
  It appears to be 'Adobe-Japan1'07:20.05 
  AH, which is the first fontthat get set. Possibly if I was to get past this one, there would be more07:20.45 
chrisl kens: I'll need to look at this properly - if you want to leave it with me, I'll look at it later07:21.52 
kens Great, lots of the substitutes end up being called Adobe-Japan107:21.53 
  OK I'll leave it just now.07:22.02 
  I have other font related things to look at regarding the performance thing07:22.14 
  Hmm, actually it doesn't look like its trying to free the memory, so I'm puzzled as to why it seg fualts now....07:24.12 
chrisl Oh, that. I looked at the FAPI end of things a bit yesterday - it does seem to be down to the cost of creating the Freetype end of things. There's quite a cost in setting up the freetype "face", which we almost immediately claw back when we rendering anything - but that file forces us through the creation many times without actually drawing any glyphs07:24.23 
  back in a minute....07:24.58 
kens Umm, OK but I was seeing a weird result. I set up a few blank page files (100 pages, 1000, 1000 and 100000) and ran those. The time taken by 9.15 actually got better as the number of pages increased, when compared to 8.71, so its no the sheer number of pages causing the problem.07:25.50 
  Then I added in a '/Helvetica findfont 20 scalefotn setfont (Test) show' and tried that. Still lightning fast.07:26.23 
  SO I tried Times-Bold (because that was one font that the job used) and it got *really* slow. Also, due to my usual terrible typing, I had actually used TImes-Bold, so I got a substitute font. Both 32-bit executables threw an error. 8.71 limitcheck at 44k pages, 9.15 VMerror at 89k pages.07:27.41 
  So clearly there was a lot more memory use going on. I wanted to see if 9.15 also got progressively slower so I'm running a modified version of the test (top pages at 50000) now.07:28.17 
chrisl kens: And is that with a rendering device, or with pdfwrite?07:33.02 
kens pdfwrite07:33.08 
  The timings get stranger. 10000 pages is quick, 50000 is not07:33.26 
chrisl It could be that the way we do substitution defeats pdfwrite's font recognition07:33.48 
kens I did think it might be something like that. But the timing for 10000 pagesis 20 seconds, 50000 is 11 minutes07:34.18 
  Isn't there some -Z switch that prints the peak memory used ?07:34.40 
chrisl Erm, probably......07:34.51 
kens Yeah that was my feeling, I'll go look in the docs07:35.03 
chrisl Possibly -ZA07:35.26 
kens That's all the allocater calls, that'll be huge07:35.47 
chrisl Yes, but I think that's the one that prints memory use at the end of the job07:36.17 
kens Oh well I don't want to use that one. I'd rather sit and watch the process monitor07:36.34 
chrisl Possibly it available in the long-form flags Robin added - but I don't any docs on that07:40.06 
kens 9.15 seems to use lots more memory than 8.7107:42.04 
chrisl What's "lots more"?07:43.14 
kens maybe 4 or 5 times as much07:43.22 
  Say around 400Mb for a 20k page file07:43.36 
  Doing 30k pages now....07:43.53 
  8.71 peaked about 148Mb with 30k pages, 9.15 running now07:47.05 
chrisl kens: -Z: will spit out memory usage07:47.34 
kens Ah, OK thanks chrisl I'll try that next07:47.45 
chrisl kens: so, again, are these differences only with pdfwrite?07:48.11 
kens I haven't tried rendering yet, that's an obvious next move07:48.25 
  sadly these tests take time.....07:48.37 
chrisl Because I strongly suspect you're tracking a lot more stuff in pdfwrite now than 8.71 did07:48.59 
kens Which is why -Z: is good, I can set the test going and do something else07:49.07 
chrisl Hmm, I don't get a crash on the 695334 file.....07:49.21 
kens chrisl yes could be, but that's a *lot* more for such a simple job07:49.22 
  chrisl I do :-(07:49.29 
  On Windows 32-bit debug build07:49.34 
chrisl Okay, I'll try 32 bit on Linux before resorting to Windows......07:49.52 
kens Linux would be better with all the macros07:50.07 
chrisl Only if I get it to go wrong!07:50.26 
kens I can't see what exactly is failing on Windows07:50.39 
chrisl Oh, are you using up to date code?07:50.51 
kens 9.15 peaked at around 660Mb07:50.54 
  chrisl up to date as of last night I can give you the SHA in a second07:51.07 
chrisl Do you have my two commits from yesterday?07:51.26 
kens SHA is d936f1907:51.32 
  I think I don't no07:51.42 
  Last one in my repo is my pdfwrite changes 'more changes to better handle....'07:52.03 
  Let me ujpdate07:52.10 
  and rebuild of course07:52.24 
chrisl Yeh, it's just my changes were in the memory management, so might just have an influence.....07:52.27 
kens Yeah I realised, give me a minute07:52.37 
  building new bianry now07:52.49 
  Oh this pulled in Michael's code too of course07:53.32 
chrisl I have that, too07:53.48 
kens OK well that's the last commit I have here, still building (looks like VS decided on a full rebuild)07:54.13 
  Fails in exactly the same way07:54.41 
chrisl OKay, I'll try on 32 bit - just trying to remember runes to build it07:55.02 
kens nmake -f psi/msvc.mak DEVSTUDIO=07:55.25 
  ?07:55.27 
chrisl Not on LInux......07:55.34 
kens Ah... :-)07:55.40 
  I can build it here, I have a 32-bit Linux, it'll take me a few mintues to do as I need to launch the VM first, let me know if you want me to try it07:56.09 
chrisl Nope, doesn't crash on 32 bit Linux either :-(08:00.37 
chrisl_r500 kens: did you use any customisations in cidfmap?08:10.18 
kens I didn't use any cidfmap at all08:10.28 
  crashed for me without it08:10.36 
chrisl_r500 Not for me, even on Windows08:10.47 
kens I'm still trying to figure out if I have all teh fonts the customer's cidfmap uses08:10.53 
  Hmm, that's strange :-(08:11.06 
  The release binary (built using nmake) crashes for me as well08:12.23 
chrisl_r500 What version of VS?08:12.33 
kens 200808:12.36 
chrisl_r500 I'll try that08:13.43 
kens OK.08:13.49 
  FWIW I do see a progressive slowdownwith both 8.71 and 9.15 as the number of pages increases, but nothign like the customer's actual job. I'm going to add in -Z: and a rendering test at 72 dpi08:14.45 
chrisl_r500 If you look at how the customer's job implmenents the ISOfindfont procedure - it almost have been designed to defeat a font cache]08:16.42 
kens I wondered if that might be the problem08:16.55 
  I was going to add that in next but got diverted08:17.03 
  I assume this is a file they get fomr their customer (since they won't send ujs the original) and so they can't change it.08:17.56 
  We might be able to suggest an Idiom if we can figure a way to make it work better, I haven't looked yet08:18.28 
chrisl_r500 Even replacing the body of the procedure with a simple findfont, it still causes the "problem" with FAPI - and I can't fathom why......08:20.26 
kens :-(08:20.36 
chrisl_r500 Still no crash even with VS200808:21.30 
kens THat's really weird08:21.42 
  Maybe I should send you my binary to see if it will crash for you08:21.54 
chrisl_r500 Oh, crap - wrong exe.... hang on08:23.42 
  No, still no crash :-(08:28.31 
kens I'm baffled, let me try a clean rebuild of my release binary with nmake08:29.05 
Robin_Watts chrisl_r500: Use --debug, and it will list all the flags.08:29.49 
chrisl_r500 Robin_Watts: thanks08:30.51 
kens chrisl a freshly built release executable, built using nmake -f psi/msvc.mak, crashes on exit for me with "gswin32c -sDEVICE=pdfwrite -sOutputFile=out.pdf 2pages_not_embedded_font_test.pdf"08:36.17 
  Hmm, let me try the 9.14 release08:37.07 
  The 9.14 release works for me, whichdoes sort of suggest something different in our builds08:38.03 
  I'll try and find out if the customer's cidfmap can be used with standard WIndows fonts and see if that fails using the 9.14 release08:38.54 
chrisl_r500 The debug exe I just tried, I bulit from the VS2008 GUI08:39.03 
  or even built.....08:39.19 
kens My VS solution isn't the stock one, which is why I was using the makefiles08:39.27 
  OK well I can't use his cidfmap as 9 of the fonts in it are not present on my system. I'mgoing to tell him to simplify the file,08:48.39 
  I do notice that he claims he gets the error with earlier versionof Ghostscript, which I don't. OK lots of questions for him to answer08:52.46 
  Back to performance weirdness09:02.15 
kens crawls off for a coffee09:02.26 
mattchz morning09:07.46 
Robin_Watts morning09:07.52 
kens Hi Matt09:07.53 
pedro_mac hi mattchz 09:07.55 
chrisl Good morning09:07.56 
  kens: okay, I realised why my hacking of ISOfindfont didn't work as expected - I didn't realise it was defined in *loads* of places :-(09:15.53 
kens Oh yeah, the file looks like its been created by something like 'cat' of lots of smaller files, which is a bad idea straight away09:16.22 
  Plus,of course, we *still* don't know what the original looked like before the customer 'cleansed' it :-(09:16.54 
  So anything we do suggest could easily be tharted by the fact that the original file is different09:17.11 
chrisl True, but we can only work with what we've got09:18.28 
kens I know, I just worry that we'll come up with seomthing which works 'well enough' for this file, send it to the customer and tehy'll say oh yeah, that's nice, but it doesn't help09:18.58 
chrisl Well, that'll be tough - we can only fix what we can see09:19.20 
kens Which I will be amphasising....09:19.33 
chrisl kens: bugger! ISOfindfont isn't bound :-(09:22.00 
kens Well that puts paid to that then :-(09:22.14 
mattchz regarding PDF annotations, are those displayed by the core, or by the native apps? Or is it the case that the apps display them while they are being drawn, then the core renders them once they are final?09:22.57 
Robin_Watts mattchz: They are always displayed by the core, AIUI.09:28.19 
mattchz Ta.09:32.15 
chrisl kens: So, I replaced ISOfindfont with code that only creates the ISOLatin1Encoding encoded font once, then reuses the same reencoded font over and over......09:41.01 
kens OK....09:41.10 
  I bet that's better09:41.14 
chrisl The pdfwrite time drops from 6mins 33 secs to 46 seconds09:41.35 
kens Wow!09:41.40 
chrisl and memory use drops from ~171Mb to 18Mb09:41.57 
kens Nearly a factor of 10.....09:42.01 
  So is that because we don't end up with new fonts all the time being crfeated by FAPI, or because pdfwrite doesn't have to check the damn things so much ?09:42.56 
chrisl A combination of both, I think - with ppmraw @ 72dpi the time drops from 1min 5sec to 24sec09:43.41 
kens That's a pretty good improvement as well. THough at higher resolution it matters much less09:44.05 
  So basically we're saying what I hinted at to the cusotmer already, their file is daft and does stupid things, which we can't really work around09:44.39 
chrisl If each findfont actually used any glyphs, the problem goes away09:44.40 
kens Yeah well I already mentioned that.....09:44.51 
  14 findfonts to create one font.....09:45.05 
chrisl I'm just running a test with DisableFAPI09:46.37 
kens I'm doing that here too, it'll be intersting to see wht you come up with09:46.52 
  I'm just on the last rendering tests now09:47.13 
chrisl Okay, without FAPI, and my definition of ISOfind font pdfwrite takes 35 seconds, with the original ISOfindfont it takes 5m24s09:53.50 
kens OK so its pretty much the file that's a killer.09:54.22 
  And FAPI is not that big a problem09:54.38 
chrisl kens: not if you render at "normal" resolutions09:55.06 
kens Yeah, though pdfwrite doesn't render, so these things show up more09:55.26 
  If the dratted ISOfindfont was bound we oculd fix this :-(09:55.59 
chrisl Yeh :-(09:56.14 
  kens: the definition of ISOfindfont I tried: http://pastebin.com/LUU3GcdE09:56.40 
kens OK so you only define a new version of the font if the ENcoding is not already ISOLatin1, makes sense09:58.35 
chrisl Yep - not what you'd call rocket science!09:59.03 
kens This file shows clear evidence oof being created by the 'cat the PS files together' approach, so its a dumb thing to do anyway10:00.10 
  I do wonder why the 8.71 pdfwrite code doesn't suffer from this, but I'm not sanguine about the prospect of searching through 4 years of commits to try and figure out what the difference is.10:01.32 
chrisl kens: You've improved the font amalgamation code considerably since 8.71, could be that?10:02.32 
kens It coudl be, certainly10:02.45 
chrisl Didn't you have a parameter that disabled that code?10:03.05 
kens Like I said, after 4 years I'm not keen on trying to figure out why there's a difference, not when its a stupid input file10:03.12 
  chrisl I'm pretty sure I don't10:03.20 
chrisl kens: we could provide a hacked definition of def that automagically binds procedures and an idiom10:05.46 
kens OMG. Well yes I guess that would work, horrifying though10:06.07 
  Maybe we could suggest they glue it on the front of these jobs10:06.34 
chrisl I'm fairly sure it's how HQN's "def" works - I seem to remember they were able to idiom recognise non-bound procedures10:06.47 
kens Hmm, but that rather defeats the point of unbound procedures, though in truth I doubt anyone uses that10:07.18 
chrisl I suspect that's how I heard about the HQN thing - probably caused some problem or other10:07.58 
kens :-D10:08.04 
  OK I'll try that here and see, if it works I'll send it to the customer.10:08.27 
chrisl I was wondering if there was a way to only do the bind if there is a recognised idiom.....10:13.11 
kens Umm, I don't think so, because the idiom recognitrion is done as part of bind10:15.25 
chrisl kens: I wondered if we could dup the procedure, do a bind, see if the result of the bind differs from the original - if it does keep the bound version, if it doesn't, keep the non bound version10:18.55 
kens Cunning, but I'm not inclined to consider it for this customer, they are a 'low support' customer after all10:19.31 
chrisl It would only be a hack for a specific purpose - it's too horrid a hack for "general purpose use"10:20.20 
kens I think I'll stick to the simpler horrible hack of redefining def :-)10:20.58 
mattchz I've removed the iOS tag on this bug: http://bugs.ghostscript.com/show_bug.cgi?id=69525710:22.02 
  I think it sounds like a core issue, as the problem happens in x11 builds too10:22.11 
Robin_Watts mattchz: Fair enough.10:25.17 
kens chrisl redefining def as bind def causes an infinte loop in findfont for me :-(10:39.06 
chrisl kens: I did this: http://pastebin.com/pDKtKt4p - disclaimers apply......10:40.10 
kens Hmm, OK let me try that, the simple-minded approach certainly didn't work10:40.30 
  OK well that doesn't lock up now, but it doesn't find my Idiom, nothing new there, it always takes ages to get teh Idiom right10:41.53 
chrisl kens: can't you do the redef of bind and the definition of the idiom all in a PS "prefix"10:45.01 
kens Yeah I'm trying that now. GOt a simplified version to recognise, back tot he original again10:45.25 
Robin_Watts jogux, pedro_mac: So I've been following the layout process through for shapes etc.10:48.24 
  and there is a call "getShapeGeo", which is supposed to "Get internal geometry bounds"10:48.46 
  I wonder if that's just broken...10:48.51 
mattchz would someone mind reviewing my most recent 3 commits please?10:52.54 
  http://git.ghostscript.com/?p=user/matt/mupdf.git;a=summary10:52.54 
jogux I wonder how much, if any, of this stuff works with AUTOSHAPES=IN=LAYOUT disabled10:53.11 
Robin_Watts mattchz: commit message on the first is screwy. did you forget a blank line ?10:54.22 
mattchz Oh, hmm, yeah.10:54.34 
  Let me fix that.10:54.36 
Robin_Watts mattchz: Do you understand the fz_var stuff?10:56.33 
mattchz fz_var?10:56.41 
  I don't think so.10:56.47 
Robin_Watts It's the one wrinkle in the fz_try/fz_catch stuff.10:57.00 
  fz_try/fz_catch is implemented using setjmp/longjmp.10:57.17 
  and the bug gotcha with that stuff is that any local variable that is written between the setjmp and the longjmp has an undefined value after the longjmp takes place.10:57.58 
  s/bug/big/10:58.03 
  so if I do: fred = 1; fz_try { .... fred = 2; fz_throw(); ... } fz_catch { ... }10:58.50 
  then at the end there is no guarantee what value fred might have.10:59.05 
kens chrisl I see that the ISOfindfont definition leaves the font name on the stack. Presumably this is why when their job ends there are 5000+ objects on the operand stack.10:59.15 
chrisl kens: I didn't notice that - likely mine does the same....10:59.50 
kens It does, I'm going to fix it, they do dup dup, which leaves 3 copies on the stack, but only consume 211:00.11 
Robin_Watts (If you want a more low-level reason, it's because the value for fred might have been held in a register when we did the longjmp and that value doesn't get written back to memory before the longjmp takes place)11:00.13 
  Does that make sense?11:00.21 
mattchz I think so.11:00.27 
  So fred will at least be 111:00.33 
  but may or may not be 211:00.37 
Robin_Watts Indeed.11:00.42 
mattchz eww11:00.46 
  ok11:00.48 
chrisl kens: I just tried to preserve the stack state in mine - probably should read code more carefully!11:00.48 
Robin_Watts Though according to the c-spec it could be 123 :)11:00.54 
mattchz :)11:01.01 
Robin_Watts So, we have a crufty trick to solve this.11:01.06 
kens chrisl I was just puzzled because my idiom seemed to be leaving a name behind, so I had to go figure it out. Talk about crap PostScript though11:01.29 
Robin_Watts If we pass the address of fred out of scope, then the compiler can't know that it isn't updated elsewhere in the code.11:01.36 
pedro_mac Robin_ Watts: I don’t see geoLeft or geoTop being set anywhere; it looks as if the only time we explicitly set the geometry is in ooxml/drawingml/drml-pathlst.c where we set the geoRight, geoBottom based on a path width/height property.11:01.44 
  Robin_Watts: not sure if that actually expleins your problem, but its certainly far from complete11:02.04 
Robin_Watts as such it has to write it back before each and every function call.11:02.05 
mattchz ok11:02.14 
Robin_Watts or at least, has to ensure that it *has* been written back.11:02.25 
  So we have this magic macro: fz_var(x);11:02.38 
  and that just calls a dummy function with &x.11:02.51 
mattchz doesn't know whether to be amazed or disgusted ;)11:03.12 
Robin_Watts Ignore the man behind the curtain!11:03.27 
jogux mattchz : I dare you to ask about compilers that optimise in the linker ;-)11:03.37 
mattchz :)11:03.51 
Robin_Watts jogux: It'll all be fine. Trust me.11:04.02 
  So in functions like setFocussedWidgetChoice (in MuPageViewNormal.h) we might be tempted to do: fz_var(accepted);11:04.43 
  normally we put that just before the fz_try.11:04.55 
  Now, in this case, it doesn't actually matter, cos by the time accepted is written in the fz_try we know we can't get another throw.11:05.25 
  but it's one of the two common gotchas with the try/catch stuff.11:05.43 
  (the other one being not to return within the fz_try).11:05.52 
mattchz nods.11:06.04 
  I was thinking about that :)11:06.37 
  so, have I broken any of these cases?11:06.50 
Robin_Watts I don't think so, just checking them now.11:07.01 
mattchz I think I was pretty much just setting the initial values.11:07.21 
Robin_Watts yeah.11:07.25 
  but it seemed a good point to give you your daily dose of "ew!!!" :)11:07.41 
mattchz hehe11:07.51 
Robin_Watts Ok, that one looks fine to me.11:08.00 
mattchz tbf, I *think* the wins outweight the ewws11:08.01 
Robin_Watts I've got to run helen to the station. will look at others when I return.11:08.15 
mattchz np11:08.18 
  thanks11:08.20 
Robin_Watts pedro: Ta. Will talk more when I'm back!11:08.23 
mattchz i'll push the fixed commit message11:08.25 
paulgardiner jogux, pedro_mac, Robin_Watts:That problem with the top menu that Pete found is a regression. Old app moves the rulers too. So I'm thinking I should chase it down. Is this something I can do on the Windows build?11:09.38 
mattchz robin_watts: possibly we should fz_var() some of these things anyway then, if we take the C specs strict definition that the value can be undefined even in the initialisation case.11:11.21 
  and in fact create_page_list looks like it has a memory leak of 'list' if fz_new_list_device fails.11:13.48 
pedro_mac paulgardiner: not sure. Probably worth a try anyway11:15.33 
jogux paulgardiner: I’d imagine so11:16.45 
paulgardiner It's going to be in some weird part of the code because the menu and rulers seem to move exactly in step although AFAIK the rulers aren't properly represented in UE2. At least it should be in an area of the code I know though.11:17.38 
  Oh that was quick: Google have moved the Android app between accounts11:19.50 
  Hmmm. Showing as Unpublished and I can't find us on the store.11:21.53 
pedro_mac paulgardiner: regarding the good support stuff, we could set up GoodShare locally. I have a download but its a bit of work to install so I haven’t tackled that as yet (preferring to go with Good’s own pre-configured setup)11:25.14 
  paulgardiner: I do think we would benefit no end from being able to skype a decent developer. Round trip time and partial communication is costing weeks :(11:26.13 
paulgardiner pedro_mac: oh right. That may well be worth doing. We would free from the reliance on Di^H^HFu^H^H can't find the words.11:26.16 
pedro_mac we’d probably also need a licence fo any local installation11:27.31 
paulgardiner pedro_mac: yeah for the Android problems that look harder and still have more work in them, I think you are definitely right. For iOS, I'm pretty sure I just need to test communication with GS and I'm done.11:27.46 
pedro_mac can’t believe there are no test apps (polished or otherwise) for all of the Good services11:28.14 
paulgardiner There are so so many things I can't believe I don't know where to start.11:28.40 
  How many developers must there be in exactly the same position. Why isn't there a general working strategy11:29.11 
  ?11:29.13 
pedro_mac to be honest, I don’t think many of our issues have been significnt technical problems. Almost all are partially described processes, undocumented incompatibilities between components or lack of access to relevant infrastructure 11:30.54 
pedro_mac stops bleating and gets back to ‘work’ ;)11:31.29 
jogux vaguely wonders if we could find someone that’s actually a good customer, that wants smartoffice, and would be prepared to betatest or get a reduced rate in turn for giving us some test accounts on their system.11:32.27 
  ie. someone that already has all the infrastructure setup, and presumably has an IT department that know how to drive it.11:33.09 
pedro_mac jogux> we just need some decent support from some engineers who know the system and are prepared to be more proactive and methodical imho11:33.35 
paulgardiner The testing remaining on iOS is actually very minor. Would take a minute or two with the correct setup... assuming the current problems are actually setup not our app (which I'm say 90% sure)11:33.40 
jogux (or alternatively going to spend a few days in good’s london office or something, they must have an internal setup?)11:33.42 
pedro_mac gets some food11:34.00 
paulgardiner Yes support from people that actually undertand the working of the system11:34.05 
jogux there must be a way they get customers to eval the system without all the pain, or something.11:34.35 
paulgardiner It's not wasting a huge amount of my time now. Each day, try a quick test, write an email, work on other things until next day11:35.28 
jogux :)11:35.42 
pedro_mac jogux: trygoodnow is an evaluation system. It’s targetted at end users, not developers/partners11:48.35 
jogux ah. mm.11:49.01 
pedro_mac what they’re lacking is just a bit of proactive dev support11:49.04 
  none of this is rocket science, but we need access to other apps which can only be done by them granting us access rights to those apps on a domain where we have sufficient rights. 11:49.56 
  from my perspective the only workable model is do it yourself, since we need to test against different policy sets (and we can’t change other domains’ policies)11:50.38 
paulgardiner Quite11:50.48 
  Maybe if we had our own user trial, we'd have the access we need11:51.06 
pedro_mac paulgardiner: I applied but its through their bizdev folks and they said we should be doing it through the partner network…11:52.18 
  paulgardiner: it just gets you a trygoodnow account though, so not much better really11:53.09 
paulgardiner But perhaps one you can administer your self?11:53.27 
pedro_mac no, the domain is administered by them unfortunately11:53.55 
  the ideal (imho) would be for them to provide VM appliances for each service11:54.29 
  which developers could then host internally11:54.43 
  (rather than having to set up like we did)11:54.52 
paulgardiner That would be far too sensible. 11:55.54 
  Gah! I wish we would all remove all the unnecessary extra branches from our repos so that I could get sensible results out of gitk.11:57.09 
pedro_mac paulgardiner: can we do that selectively?11:58.54 
pedro_mac needs some git-fu for that11:59.11 
pedro_mac would settle for a ‘filter branches’ option in sourcetree12:01.44 
paulgardiner I guess I should check sometime that it would actually work. My suspicion is that gitk can handle the number of branches in golden, but it is having trouble with that x 512:03.06 
  I've been using sourcetree for a while now but I still prefer gitk12:06.21 
  one tiny commit on my master branch12:10.57 
paulgardiner tries out Robin_Watts' VS solution for the first time12:12.45 
mattchz In mupdf, what format is the text expected in when filling out a form?12:14.53 
  We're passing in utf-8, but special characters are getting corrupted.12:15.13 
  s/special/accented/12:15.19 
paulgardiner mattchz: yeah, that's all messed up12:15.46 
mattchz (there's a bug open for it, which I'm looknig at)12:16.01 
paulgardiner mattchz: all the library APIs should be called with utf8. Internally there should be various conversions that we currently don't do12:16.19 
pedro_mac paulgardiner: LGTM - just going to testflight it?12:16.35 
mattchz ok, so just remove the android tag?12:16.39 
paulgardiner pedro_mac: not yet. Going to look at the top menu problem12:17.06 
pedro_mac nods12:17.14 
paulgardiner mattchz: yeah. Makes sense12:17.30 
mattchz cool, ta.12:18.18 
pedro_mac notices that commit has your glidos email rather than artifex12:18.29 
paulgardiner Oh. I better fix that12:21.37 
Robin_Watts back, now, reading logs.12:22.03 
  paulgardiner: If it's a regression, we should fix it. Possibly it's a misapplication of reviews from branch->trunk. Some of those were to do with rulers.12:22.41 
paulgardiner Robin_Watts: interesting. I'll check for those12:23.10 
Robin_Watts mattchz: Putting fz_var in doesn't hurt much (just a function call) even if it's not needed.12:23.24 
  Yes, there looks like a problem with fz_new_list_device.12:24.41 
  fz_new_list_device *should* take instant ownership of the list, and destroy it if there is an error while the device is being set up.12:25.14 
  but it doesn't.12:25.22 
mattchz dumb question: should the be an fz_var after any write, or is just once in the function enough?12:27.54 
Robin_Watts just once in the function.12:28.24 
  Think of it as a declaration, hence why we do them (generally) at the top of the function.12:28.39 
  Your commits lgtm.12:28.46 
mattchz so a variable can't get moved back into a register, presumably.12:28.47 
Robin_Watts mattchz: Once the address of the variable has been passed out of scope, the compiler has to assume that it might change on any function call.12:29.23 
mattchz nod12:29.37 
Robin_Watts (or at least any function call that goes outside it's scope of optimisation).12:29.45 
  longjmp is such a function call :)12:29.52 
paulgardiner It's like declaring "the value of this variable is changed withing the try clause12:29.57 
mattchz nod12:30.16 
Robin_Watts hence we are guaranteed that the value of that variable will always be safely pushed back to memory before longjmp is called.12:30.28 
mattchz cool12:31.33 
  robin> so there's a bug in fz_new_list_device?12:32.44 
  while the ios code looks fine?12:33.13 
  and also, we don't need an fz_var(list) there, because in all exception cases we return NULL directly.12:34.07 
paulgardiner Strange! The Windows build doesn't exhibit the problem.12:42.40 
Robin_Watts mattchz: yeah12:42.45 
mattchz ok, I'll fix these bits separately.12:43.10 
Robin_Watts paulgardiner: different options?12:43.32 
paulgardiner The menu self closes, but the ruler moves with it12:44.06 
  but still I guess it could be to do with options12:44.22 
Robin_Watts built from the same git tag?12:44.31 
paulgardiner almost. One further on and the extra is just the addition of a new release config... so yes really12:45.54 
Robin_Watts different alien behaviour somehow ?12:47.27 
paulgardiner I think this stuff is all within the library12:47.57 
  I haven't tried iOS debug on my iTouch12:48.11 
  I'll try that12:48.15 
Robin_Watts pedro_mac: Looking at http://www.digitalpreservation.gov/formats/digformatspecs/OfficeDrawing97-2007BinaryFormatSpecification.pdf it looks like it's dxText{Left,Top,Right,Bottom} that we should be dealing with, rather than the geo stuff.12:51.33 
pedro_mac agreed - that seems quite specific12:54.03 
Robin_Watts So I think the next problem is that there should be default values for such things, and we don't have them.12:54.53 
pedro_mac we should only use geoX to identify the bounds of our own definition of the shape type vertices12:54.54 
  paulgardiner: app/libraries/ue2fileviewer/ue2fileviewer.c may be worth a look as a starting point; handles some of the auto-hide config for the topbar12:56.47 
paulgardiner pedro_mac: right. Thanks12:57.13 
Robin_Watts paulgardiner: Random idea: Test the branch point between master and branch12:57.31 
  then bisect up one or the other ?12:57.40 
paulgardiner I wondered about bisecting but I think I'll have trouble building, unless I can find an early point at which we made Xcode5 work12:58.44 
pedro_mac Robin_Watts: the Edr_DrawingInfo has a default geometry set which is a square gemetry anchored at 0,0 with a width and height of either Ppt2007_size or Ppt97_size (based on binary or XML doctypes) - libraries/edr/drawing/drawing.c:18513:00.18 
kens chrisl looking at this CID font substitution problem....13:00.38 
jogux paul: you could just use xcode 4 to build, that should work relatively reliably13:00.52 
  I’m fairly certain master was broken before robin started reapplying13:01.08 
paulgardiner I'll give it a go. I'm just checking I can reproduce the problem on my iTouch13:01.38 
Robin_Watts pedro_mac: That's set in the Edr_DrawingInfo, which (AIUI) is the structure that holds *all* drawings, not just *a* drawing.13:02.38 
paulgardiner I think then Robin_Watts's suggestion to look for differences in options sounds a good next stop13:02.43 
  I suppose a message to do with this stuff could be routed through the alien and getting lost, but that would mean the design is even more icky than I thought13:03.55 
pedro_mac Robin_Watts: sure, just saying that’s where its picking up its current ‘defaults’ from by the looks of it13:04.03 
paulgardiner So Windows works iOS doesn't strongly suggests a difference in options and a bug dependent on an option13:04.29 
pedro_mac dxText looks like the right route13:04.37 
kens chrisl The problemis that the 'subst' object has a rc.free which points to garbage. Tracking this through, I see that at the end of the page the ref count is 30 (2 for every use I think), whicih is duly decremented a number of times, presumably as pdfwrite discards the fonts or something. At the end of the page its count is 6 (I'm not sure why). Before the start of the next page, we get a z2restore, which works its way down free13:04.38 
  ing and filling with zero, which overwrites the 'free' routine pointed to by the susbst rc object. Even though the subst object rc has a ref count of 6 (I believe). This causes the problem. Of course in a release buld the memory isn't freed so this doesn't happen. I still don't understand why this doesn't crash for you13:04.38 
Robin_Watts pedro: Right, thanks.13:05.01 
  I wonder if there is a way to get the default values somehow...13:05.29 
kens wonders if pdfwrite is maintaining a stale pointer to a free onject13:06.25 
  Ah, and teh rednering code seg faults under the debugger :-(13:07.41 
  Still during vmreclaim13:08.00 
  So its *not* pdfwrite causing this particular bug13:08.18 
Robin_Watts foods.13:09.22 
pedro_mac Robin_Watts: interesting post here regarding preset shape definitions: http://social.msdn.microsoft.com/Forums/en-US/3f69ebb3-62a0-4fdd-b367-64790dfb2491/presetshapedefinitionsxml-does-not-specify-width-and-height-form-some-autoshapes?forum=os_binaryfile13:15.42 
  openoffice’s version is here: http://svn.apache.org/repos/asf/openoffice/trunk/main/oox/source/export/presetShapeDefinitions.xml13:17.13 
  presumably M$ have similar somewhere, but haven’t found it yet13:17.32 
  Robin_Watts: ecma. d’uh. http://blogs.msdn.com/b/openspecification/archive/2011/11/14/how-to-use-the-presetshapedefinitions-xml-file-and-fun-with-drawingml.aspx13:19.00 
paulgardiner jogux: so I'll need to temporarily call Xcode4 Xcode?13:33.59 
  jogux: so I'll need to temporarily call Xcode4 Xcode? (in case you missed that as you fell off freenode)13:34.56 
jogux_ paul: yes13:35.49 
  and make sure xcode-select points at Xcode.app too13:36.06 
  probably best to skip back to the last picsel commit, and confirm that it is definitely broken there (as xcode4 may not work to build after that)13:38.14 
paulgardiner Just doing that now. :-)13:38.32 
  Yep. Broken on trunk before we took over13:48.45 
henrys wonders if one knows all the files in the cluster are going to change is it best to go CLUSTER UNTESTED.13:49.50 
Robin_Watts henrys: No.13:49.59 
henrys Robin_Watts: probably right - we should have the record13:50.20 
Robin_Watts Because you want the test to be run so that the next test correctly runs from the updated baselines.13:50.23 
  otherwise that commit will show up with lots of unexpected changes.13:50.38 
  paulgardiner: How about where branch and trunk diverge?13:50.58 
henrys Robin_Watts: oh wow I thought cluster untested silently updated the md5’s13:51.11 
Robin_Watts If it's broken there, then you can possibly hope for a 'fix' on the branch.13:51.16 
  cluster untested just doesn't schedule a cluster test :)13:51.26 
paulgardiner Robin_Watts: looking at that now13:51.33 
Robin_Watts pedro_mac: As far as I can see presetShapeDefinitions.xml does not contain the dxText values.13:53.31 
  and the MSDN article doesn't mention them either.13:53.53 
henrys Robin_Watts, chrisl, marcosw : all news to me, I vote to get rid of the option. Little to gain much confusion potential.13:55.07 
Robin_Watts henrys: Sure. The only purpose for it was to avoid overloading the cluster with commits that we know cannot possibly make a difference.13:56.03 
  since we've had more servers, it's much less of an issue.13:56.15 
henrys I’ll bring it up tuesday13:57.13 
Robin_Watts Removing it would hardly be contentious - I can't recall anyone using it recently.13:57.47 
  well, just chrisl, it seems.13:58.27 
henrys Robin_Watts: hah14:00.27 
  the cat’s will not be hearded14:01.07 
  s/‘//14:01.27 
pedro_mac Robin_Watts: doesn’t contain dxText, but I was looking to see if any of the guides were being used as defaults for text. doesn’t look like it :( 14:05.57 
mvrhel_laptop good morning14:06.13 
chrisl Robin_Watts, henrys, marcosw: I use it for things like doc changes and non-Unix build changes - but only because I try to be a "good citizen" and not pointlessly use up resources. It wouldn't worry me if it was taken away.14:06.25 
Robin_Watts pedro_mac: The first line of his question seems like it should be right on topic, but then I can't see him ever mention text again.14:06.32 
  chrisl: Yes, I wasn't suggesting you were misusing it. (Just pointing the finger at the person that writes documentation ;) )14:07.05 
chrisl Robin_Watts: it probably is primarily only relevant to me, as I said, it wouldn't worry me if the option disappeared14:08.47 
Robin_Watts mvrhel_laptop: Morning.14:09.28 
chrisl kens: I've even tried with -Z@ and the file still doesn't crash for me - very confusing......14:09.29 
kens chrisl just a moment14:09.40 
paulgardiner Looks like --ios wasn't an allowed build option back at the branch point14:09.44 
henrys mvrhel_laptop: an icc interruption.14:10.06 
jogux_ paulgarinder: use —iphone-device or something like that14:10.08 
kens chrisl I definietly see the memory being used byt the structure released on z2restore14:10.09 
mvrhel_laptop henrys: another one..14:10.20 
  ?14:10.22 
Robin_Watts http://social.msdn.microsoft.com/Forums/en-US/150245f6-c643-4a6d-b117-c8495d638f60/text-bounding-box-size-for-powerpoint-autoshapes-is-not-mentioned-in-ecma376?forum=os_binaryfile14:10.31 
kens If you break in release_subst_CID_on_WMode you don;t see the 'free' being corrupted ? I see it on debug both pdfwtite and rendering14:10.42 
henrys mvrhel_laptop: no I meant the last one14:10.45 
Robin_Watts pedro_mac: ^14:10.46 
chrisl kens: I never tried it in a debugger.....14:11.39 
mvrhel_laptop oh yes henrys14:11.54 
kens for me rendering crashes ina debugger, because of teh memory wipe14:12.06 
mvrhel_laptop that one I apparently knew about as I had made a comment in the code that I needed to do that14:12.12 
  not sure while I just did not do it at the time14:12.22 
chrisl kens: well, -Z@ should zap freed memory14:12.33 
kens baffling14:12.49 
mvrhel_laptop marcosw: will you give them a patch?14:13.03 
chrisl kens: well, erm, it's not calling release_subst_CID_on_WMode() for me at all..... with the default cidfmap14:13.39 
kens O.O14:13.47 
  For me ig gets called many times14:14.09 
chrisl Are you sure you don't have anything in your cidfmap?14:14.38 
kens clean source and no --I or anything14:15.04 
chrisl Or is it picking up a cidfmap for an installed gs?14:15.18 
paulgardiner jogux_: now I think I've strayed into a time when we used a different version of python. :-(14:15.24 
jogux_ hm. what’s the error?14:15.39 
paulgardiner "Type : invalid literal for int() with base 10: ''14:15.55 
kens chrisl can't see how, and that would presumably get me the 'wrong library verison' error14:15.57 
paulgardiner That was two single quotes at the end when I typed it14:16.22 
jogux_ paulgardiner: That’s code for “I can’t find gcc”14:16.25 
  iirc14:16.28 
pedro_mac Robin_Watts: not sure I follow their meaning; that’s basically saying the bounding box of the shape is the bounding box of the text?14:16.50 
chrisl kens: I don't think you'd get an error as it should only find the cidfmap (no other init files), and I can't remember if we stash such path related stuff in the registry14:17.30 
Robin_Watts pedro_mac: For every autoshape in the presetShapeDefinitions.xml there is a <rect.../> definition.14:17.42 
  I don't think that 'rect' says anything about the size of the shape.14:17.57 
kens chrisl well even if its finding a cidfmap, its still substituting for the fons14:18.07 
Robin_Watts I think it's purely the text size.14:18.10 
  the text box size.14:18.18 
chrisl kens: is it using DroidSansFallback?14:18.43 
kens appears to be, let me check14:18.52 
  I see droidsansfallback 3 times on page 114:20.11 
chrisl And the test file name is 2pages_not_embedded_font_test.pdf14:20.16 
kens THe ohters are substituted for Aobe-Japan1 or Adobe-Korea114:20.38 
  yes that's the file14:20.41 
  I see the release_subst_CID_on_Wmode being called from font_finalize from z2restore14:21.19 
  when I press 'retrun' to finish page 114:21.31 
chrisl_r500 Okay, trying on Windows......14:21.32 
kens OnPage 2 I see droidsans called once, all the others then use Adobe-Japan114:22.12 
pedro_mac Robin_Watts: fun - in my simple test file with a 12-point star and ‘moo’ the rect is associated with the txBody element, rather than the owning shape and has no explicit attributes14:22.37 
Robin_Watts How are you doing that test ?14:22.56 
pedro_mac so I can only assume its either implicitly defined somewhere or is specified by the <a:xfrm> element on the shape14:23.22 
kens chrisl where is the default cidfmap anyway ?14:23.26 
Robin_Watts I think this stuff is all 'implicit'.14:23.28 
chrisl_r500 kens: Resource/Init14:23.41 
kens ah right14:23.45 
  let me check that too14:23.51 
Robin_Watts I think autoshapes automatically set up shape dependent internal text boxes.14:24.06 
kens chrisl its empty14:24.09 
  Only comments14:24.15 
chrisl_r500 This will take a minute - something eat my executable......14:24.44 
Robin_Watts and the values for the margins for those text boxes are calculated using the formulas encoded in presetShapeDefinitions.xml14:24.51 
kens chrisl I specified a -I switch to /ghostpdl/gs/Resource and I still see release_subst_CID_on_WMode being called14:25.37 
pedro_mac Robin_Watts: yeah, seems logical. ish.14:26.10 
Robin_Watts pedro_mac: I can't see a copy of presetShapeDefinitions.xml in our code.14:26.22 
  So I assume that we must have the preset shapes hardwired.14:26.38 
pedro_mac more than likely all hardcoded14:26.40 
kens Wow, with the display device the ref_count goes bananas, its -17891602, so it never tries to free the struct14:26.42 
pedro_mac yup14:26.44 
Robin_Watts so probably we need to similarly hardcode those text boundaries.14:26.58 
chrisl_r500 kens: well, that one "solution"14:27.03 
kens chrisl but nevertheless it still crashes for me14:27.14 
  because subst->rc is bogus14:27.45 
kens fires up a Linux VM14:28.14 
paulgardiner jogux_: might replaceing gcccommon.py with the most recent version fix this, do you think?14:30.26 
Robin_Watts paulgardiner: Do you have a copy of gcc on the machine in question?14:30.53 
mvrhel_laptop brb. need to restart14:31.28 
kens OK building a Linux 64-bit binary to test with14:32.04 
chrisl_r500 Is there a way to get VS to lookup a function name?14:32.21 
kens lookup in what sense ?14:32.30 
  right click and 'go to definition' if that's what you want14:32.40 
paulgardiner Robin_Watts: Oh! I was assuming we were still using gcc for iOS builds. If we've used gcc in the past and moved away from it on iOS then possibly I don't have a copuy14:33.00 
chrisl_r500 I know the function name, I don't know what file it's defined in, or where it's called from14:33.03 
kens fid in files ?14:33.16 
  or even 'find in files'. I think there's an easier way too14:33.29 
  But I can't recall it14:33.35 
chrisl_r500 So, grep....14:33.35 
Robin_Watts paulgardiner: I mean, type "gcc" on the command line and see if it gives an error :)14:33.36 
kens chrisl : that way is a grep yes.14:33.43 
  I just can't remember the other method14:33.50 
paulgardiner just did and yes I have14:33.51 
Robin_Watts chrisl_r500: Ctrl-Shift-F will basically do grep for you.14:33.52 
chrisl_r500 I was hoping it would find it via the symbols in the debugging info14:34.16 
paulgardiner I'll try the gcccommon.py substitution. Can't hurt14:34.29 
Robin_Watts but if you have a piece of code where that function name is called, right click it and click "go to definition"14:34.32 
kens I'm pretty sure there's a way to do that, if had a memory.....14:34.37 
Robin_Watts or, type the name in a spare window, and then click that :)14:34.55 
mattchz robin/paul: two more commits for you (sorry!)14:35.46 
  http://git.ghostscript.com/?p=user/matt/mupdf.git;a=summary14:35.46 
kens chrisl edit->intellisense->lilst members gives an alphabetical list, tehn hovering the mouse over it will tell you the file its in.14:37.22 
chrisl_r500 kens: close enough, thanks14:38.04 
kens I'm sure there's a better way :-(14:38.26 
  Well 64-bit Linux doesn't crash right enough14:39.13 
chrisl_r500 kens: so, in zbuildfont11() I never see a dictionary with a /subst_CID_on_WMode entry in it14:40.06 
kens really ? Let me look here14:40.18 
  first call hits that for me14:41.10 
  So I must have *something* different14:41.24 
  But I have no clue what it is.14:41.33 
chrisl kens: that entry is created in gs_cidtt.ps line ~8814:42.32 
kens I get the usual slew of errors 'Can't find CID font "Gulim" Atttempting to substitute CID font "/Adobe-Korea1 for /Gulim"14:42.37 
  ah let me look there14:42.42 
  really ? line 88 is /.loadfontfile for me14:43.38 
  D'oh wrong file14:44.00 
jogux paul: that’s annoying. I can’t remember other issues :(14:44.31 
kens Hmm, ok let me stick a print or two in there14:44.45 
paulgardiner jogux: latest gcccommon.py fails but in a different way: "getGccVersion failed to find version for /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang"14:47.10 
jogux paulgardiner: ahha. that means it thinks it can’t find the xcode version14:47.34 
kens chrisl OK so for me 'resourcestatus returns true and goes through the code at line 88 to insert the subst_CID....14:47.40 
jogux you definitely has a correct /Applications/Xcode.app?14:47.49 
kens presumably for you it returns false14:47.52 
chrisl kens: for me it returns false - and I think I see why.... it doesn't look like the /SubstCID resource files are being built into the romfs14:48.41 
paulgardiner I suppose it's possible that I have an Xcode4 that has behind the scenes been updated to 5. How would I tell?14:48.54 
kens chrisl that would explain a great deal, except why you don;t see the problem on WIndows14:49.09 
jogux paul: run it and check the about menu :-)14:49.09 
paulgardiner 4.6.314:49.28 
jogux that’s right14:49.33 
  so… open tgvbuild.py and search for /Developer, and see if you can see why it’s going the /Developer route rather than the /Applications one14:49.52 
paulgardiner Okay ta14:50.13 
chrisl kens: actually, it doesn't explain why you *do* see it on Windows, since the romfs is created by the same makefile for both!14:50.35 
kens yes, that's sort of what I mean, we should be the same......14:50.54 
  Also, if I set includes with -I, why do I still see the problem, now I'm confused again14:51.41 
paulgardiner jogux: ah! Looks in Developer unless IOS_SDK_VERSION > 5.014:52.08 
chrisl With -I it probably *will* find the SubstCID resources14:52.24 
kens realises that is precisely the problem.....14:52.51 
jogux paulgardiner: hm, I thought we defaulted to higher than that, but I guess —iphone-sdk=6.1 or similar will fix then :)14:52.57 
kens I hacked gs_cidtt.ps and added a -I to find it, now it works14:53.05 
kens smacks head14:53.13 
chrisl Hmm, build fixed, still no crash.....14:54.13 
kens and rebuilding makes the problem go away14:54.21 
  O.O14:54.24 
paulgardiner and that way they'll be some chance it'll run on my device if I do ever get it to build14:54.28 
kens chrisl, now I can't reproduce the crash........14:55.34 
chrisl Urm......14:55.48 
  kens: -Z@14:56.14 
  maybe?14:56.22 
kens Just going to do a full clean build14:56.25 
  will try that after14:56.29 
paulgardiner and now getGccVersion fails to find gcc in an entirely different place!!14:56.46 
jogux paul> which is?14:56.58 
kens oh great and someone reporting an intermittent problem.14:57.05 
paulgardiner "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang"14:57.30 
jogux hm, I’d tend to agree that it can’t be found there.14:58.18 
chrisl kens: with the build fixed so it includes the missing resources, I do get the /subst_CID_on_WMode entry, and I do see release_subst_CID_on_WMode() being called - but still no crash14:58.20 
jogux paul: puzzling.14:58.52 
kens chrisl that's odd.... COUld be memory dependent I suppose14:58.55 
  But if you zap the memory with 0 it *should* crash.14:59.10 
paulgardiner so the "/clang" bit on the end is wrong?14:59.21 
chrisl kens: I tried -Z@ no luck14:59.32 
kens chrisl of course this may be nothing to do with the customer's problem14:59.46 
jogux paulgardiner: I guess so.15:00.07 
chrisl I wish they would put a SHA, rather than just rely on "master"15:00.11 
jogux paulgardiner: it’s very possible we never tried building master with xcode4 I guess :-S15:00.19 
kens chrisl I'm pretty suspicious 'master' is bogus too15:00.38 
jogux but I’m sure it didn’t build with xcode5 either, which leaves it as a bit of a mystery what it did build with.15:00.44 
chrisl kens: he says in the report "with GS Head....."15:01.13 
kens Oh, missed that. Well he *really* needs to say how he's building ti then15:01.29 
chrisl Nope, even backing up a few commits doesn't show a crash15:03.52 
kens Well now it won't crash for me either.15:04.38 
  Full rebuild works perfectly15:04.46 
  So I guess its down to the customer to supply something which fails.15:05.06 
mattchz robin/paul> are there old builds of mupdf for android available anyway? e.g. 1.415:05.47 
  actually, don't worry, I'll just rebuild.15:06.46 
Robin_Watts mattchz: Some, but they are not immediately version tagged.15:07.03 
paulgardiner mattchz: there's a 1.4 version in /home/releases/issues/8114 on casper.15:07.47 
chrisl kens: so I think we need a lot more info - how he's building and what with, the exact SHA, plus all the font related stuff you've already asked about15:07.49 
mattchz ah, thanks15:07.59 
kens chrisl yes, that'sd pretty much how I feel. I also think it would be a *really* good idea if he reduced the file to something more manageable rather than sending us 24 fonts, which I suspect is his likely first response......15:08.53 
Robin_Watts paulgardiner: WTF?15:09.42 
  mattchz is taking about mupdf. /home/releases is for SOT right?15:10.07 
paulgardiner Aagh! Brain addled by SOT15:10.30 
mattchz np, I'm building from sauce anyway15:10.52 
paulgardiner There's a MuPDF 1.4 on testflightapp maybe15:11.14 
mattchz ah right, yeah15:11.38 
  ta15:11.43 
Robin_Watts Most of the versions that have been on google play can be found on http://ghostscript.com/~robin15:11.57 
mattchz handy15:12.50 
paulgardiner With my SOT addled brain, I shouldn't be reviewing your commits, but...15:13.07 
mattchz the sequentially numbered ones?15:13.11 
paulgardiner should you not destroy dev before rethrowing and I think you need to init dev to NULL in case fz_new_device throws15:14.13 
Robin_Watts mattchz: Yeah.15:14.19 
  50-53 are the current ones.15:14.23 
mattchz ah, those numbers match up with the numbers in the dev console?15:14.38 
  (I tried to download them from there, but it seems you can't)15:14.48 
Robin_Watts mattchz: Yeah.15:15.15 
  paulgardiner: I think the commit is right. The only thing that can fail is the creation of dev.15:15.49 
paulgardiner Oh okay. Just need to be careful if adding any more calls in there.15:16.35 
Robin_Watts mattchz: "inptr_t" - I think you mean "intptr_t" in the commit message.15:16.43 
  paulgardiner: Yeah.15:16.46 
mattchz ah, yes.15:17.22 
  do you want me to destroy dev then just in case?15:17.33 
Robin_Watts mattchz: Does %uu work properly on windows ?15:17.36 
paulgardiner I'd be tempted to do it just to follow the paradymn, but I don't have a strong feeling that way15:17.38 
mattchz %u is what was already there.15:17.49 
  u is just literal15:18.06 
Robin_Watts oh, and you're adding a suffix. sorry.15:18.07 
  yeah, that seems fine to me.15:18.16 
paulgardiner to me too15:18.28 
mattchz I left out the first %u -> %uu, because it was actually an int15:18.34 
  if I destroy the dev, I'd need an fz_var correct?15:19.12 
Robin_Watts yes.15:20.35 
kens chrisl, customer updated report :-(15:21.18 
chrisl kens: I see.....15:21.24 
kens NB he says its a problem with rendering also15:23.03 
  OK now I have to set up a test environment for this15:24.40 
mattchz btw, is it a bug that make clean in the root doesn't delete the stuff in generated?15:26.54 
Robin_Watts You say bug, I say feature :)15:27.14 
mattchz heh15:27.19 
chrisl kens: and I see a segfault......15:27.33 
mattchz the reason I ask is that when checking out old versions, stuff breaks when you try and rebuild the android.15:27.37 
kens chrisl you're ahead of me, still setting up fonts15:27.44 
paulgardiner Well somethings building. Dread to thing what. It'll probably have 3 legs, on eye and a hare lip15:27.46 
mattchz because the structs in the cmaps have changed.15:27.49 
kens chrisl what if you use the TIFF device ?15:27.56 
Robin_Watts mattchz: Hmm, yes.15:27.59 
mattchz (in fact, it's also a bug that ndk-build doesn't do rebuild the generated)15:28.06 
Robin_Watts mattchz: No, it's not.15:28.17 
kens wonders why the4 customer is using '//' as a separator15:28.22 
mattchz no?15:28.24 
Robin_Watts How could ndk-build possibly rebuild the generated?15:28.32 
mattchz cd .. && make generated or something :)15:28.45 
chrisl kens: tiffgray seg faults, too15:28.46 
Robin_Watts That would require a host targetted C compiler, and we don't have one.15:28.49 
kens chrisl well that's encouraging actually15:28.56 
Robin_Watts It's all clearly documented in step 10 of the android ReadMe.txt that no one ever reads.15:29.10 
mattchz I read it ;)15:29.20 
  Just wondered if it'd be nice to automate. I guess it only works because I've also got a mac build env setup15:29.50 
chrisl <sigh> in do_validate_object() :-(15:29.59 
mattchz (i.e. I have a host compiler)15:30.00 
Robin_Watts on linux and macos you can often get away with make generated.15:30.18 
  on windows... no.15:30.21 
mattchz yeah.15:30.24 
  I realise that now...15:30.30 
kens chrisl, that's one of the places I was getting a seg fault before, that one was whewn rendering15:30.42 
  chrisl how do you add a cidfmap ?15:30.54 
  Just reaplce the on in Resource/Init ?15:31.04 
chrisl Yes15:31.12 
kens OK let me see then15:31.31 
Robin_Watts stupid sodding windows in the VM is now refusing to talk to the real windows on the same box to network stuff :(15:32.06 
mattchz how's that look: http://git.ghostscript.com/?p=user/matt/mupdf.git;a=commitdiff;h=1b7decfcad3fb4c67d421b3a0a3b03dd25e3f6df15:32.20 
  I'll fold it into the earlier commit if you're happy.15:32.28 
Robin_Watts looks good to me, yeah.15:32.46 
mattchz ta.15:32.50 
Robin_Watts oh, wait...15:32.56 
paulgardiner mattchz: just lovely15:32.56 
kens chrisl OK yes I get a segfault alos, sadly it looks different to the one I was seeing earlier15:33.15 
Robin_Watts The moment fz_new_device succeeds, the responsibility for dropping list has moved from fz_new_list_device into the device itself.15:33.39 
  hence dev = fz_new_device(ctx, list);15:33.48 
chrisl kens: if it's memory corruption, it could be the same problem, difference place15:33.50 
mattchz ah, good point.15:33.56 
Robin_Watts should be followed immediately by: list=NULL;15:34.00 
mattchz ok, I need to null it then.15:34.01 
mattchz nods15:34.04 
kens Possibly yes, but I'm not absolutely sure15:34.08 
chrisl Let's just worry about the reported problem......15:34.28 
kens I'm seeing a crash in do_validate_object as well:15:34.38 
  ulong size = pre_obj_contents_size(pre);15:34.38 
paulgardiner Robin_Watts: well spotted15:34.43 
chrisl kens: 'cause pre is nonsense?15:35.00 
kens Yes, exactly so15:35.06 
  It is vm_reclaim I see15:35.41 
paulgardiner Robin_Watts: needs a var list aswell then?15:35.51 
Robin_Watts no, list is passed in.15:36.04 
paulgardiner Ignore me15:36.11 
  yeah. Not being changed15:36.18 
mattchz howzat: http://git.ghostscript.com/?p=user/matt/mupdf.git;a=commitdiff;h=26eb3804b56fdd6a4151570b461c80f67a1f030e15:36.20 
Robin_Watts except by being NULLed.15:36.28 
  and even then, it's safe because it's passed in (it's not a local var)15:36.41 
mattchz and this is why I love objective C :)15:36.43 
  (with ARC)15:36.54 
chrisl kens: memento reports corrupted block(s)15:37.03 
kens chrisl I don't know if this helps, or obfuscates, but I'm seeing a similar problem to before in release_susbt_CID_on_WMode. subst->rc.ref_count goes mental15:37.04 
Robin_Watts mattchz: All destructors in MuPDF accept NULL.15:37.10 
  so you don't need the if (list != NULL)15:37.17 
mattchz not this one apparently15:37.19 
Robin_Watts REALLY?15:37.28 
chrisl kens: that's probably because of the memory being freed......15:37.36 
paulgardiner Robin_Watts: oh hang on. Are you sure? Passed in by value15:37.42 
mattchz void15:37.51 
  fz_drop_display_list(fz_context *ctx, fz_display_list *list)15:37.52 
  {15:37.53 
  fz_drop_storable(ctx, &list->storable);15:37.54 
  }15:37.55 
kens chrisl I would guess so, I'll follow that thread and see where it goes (probably nowehere)15:38.00 
Robin_Watts &list->storable is NULL for list == NULL :)15:38.10 
mattchz is it?!!15:38.19 
Robin_Watts storable is the first thing in the header, deliberately.15:38.23 
mattchz bah15:38.26 
  isn't that, well, err, a bit yuk?15:38.44 
Robin_Watts mattchz: I don't think so.15:39.04 
paulgardiner Robin_Watts: I would have thought the compiler would feel just as free to stick a passed in value into a register15:39.06 
Robin_Watts paulgardiner: You are right.15:39.29 
  so an fz_var would be good.15:39.34 
kens chrisl yes as before its z2restore freeing the memory being used by the substitute font15:40.11 
  weird, it looks like the subst stuff is subject to save/restore, it came out of z2restore with a refcount of 2, when it went in at 2615:41.40 
mattchz cheekily retorts back with 'there's no comment in fz_display_list_s indicating that fz_storable must never have another insertedf before it' ;-)15:43.36 
  another field15:43.44 
  that is.15:43.45 
  but fair enough ;)15:43.50 
chrisl kens: I would assume that's because the (CID)Font is subject to save/restore, too15:44.31 
Robin_Watts mattchz: It's kinda central to the way fz_storable things work.15:44.53 
kens chrisl I guess that must be it. BUt at the time its restored its ref count is 2415:44.54 
chrisl Seems high, but.....15:45.26 
Robin_Watts Within MuPDF various objects are ref counted. Others are both ref counted and cacheable.15:45.35 
kens seems like a count of 2 per font at least15:45.41 
Robin_Watts All ref counted and cacheable things start with a storable.15:45.57 
mattchz nod.15:46.03 
  that makes sense.15:46.07 
Robin_Watts yes, comments should possibly be improved.15:46.18 
mattchz The &blah->storable thing confused me though at first.15:46.19 
Robin_Watts I did a double take, yes.15:46.27 
kens chrisl *something* is still pointing at this memory. vm_reclaim counts it down fomr 2 to 0 and frees it, tehn something scribbles in the memory, then I come through again pointing at theg old 'susbt' memory and its all been corrupted15:47.35 
  That causes us to decrement the refcnt by 2, so we then coruupt whatever is stored there....15:48.21 
chrisl kens: subst objects does have a ref count of 2 for each font object which seems - strange......15:48.51 
Robin_Watts kens: Is the memory in question a malloced block ?15:49.22 
kens Agreed, but to be honest I'[m more concerned that it seems to keep on calling release_subst_CID_on_WMode, and each time it counts down the 'ref count' which is effectively corrupting 'something'15:49.44 
  Robin_Watts : no idea15:49.47 
  but I'd submit that a later seg fault suggests we are corrupting something useful15:50.03 
Robin_Watts valgrind or memento. or both.15:50.12 
kens eh ?15:50.23 
mattchz better? http://git.ghostscript.com/?p=user/matt/mupdf.git;a=commitdiff;h=ad7c0c6a3bb682145d61557f8f27625e8f1f1e2515:50.28 
Robin_Watts kens: I'd suggest using valgrind or memento. or both.15:50.49 
kens Robin_Watts : chrisl is doing that :-)15:50.58 
Robin_Watts oh. I'll shut up :)15:51.08 
  mattchz: lovely.15:51.19 
mattchz awesome, ta.15:51.43 
kens chrisl in a vague hand-waving sort of way it look slike gc_objects_set_reloc is continuning to finalize the CIDFonts which have already been freed earlier in the vm_reclaim. THat is definitely corru[ting memory, but I don;t know if its causing the problem here.15:53.07 
  Well if I stop it breakling the ref count then it still goes wrong, but in a different way. Oh well :(15:55.29 
  chrisl OK if I assign this one to you, since its not pdfwrite-specific ?15:56.11 
chrisl kens: yeh, absolutely - only thing it, I'm on vacation tomorrow and Monday15:56.32 
kens Well I don't see me making any likely p;rogress on it before then anyway15:56.53 
  Enjoy your time off :-)15:57.02 
chrisl Thanks - I'm spending a long weekend in the 1950's - erm, I mean, the Isle of Wight15:57.41 
kens :-)15:57.50 
paulgardiner jogux: I've nearly got this thing to build, except now I have link warnings to do with TicPrint.15:57.55 
kens hadn't realised they'd reached the 50's yet15:58.03 
jogux paulgardiner> boggle.15:58.14 
  are you building for x86?15:58.24 
paulgardiner For the device15:58.43 
jogux is tempted to say ignore them if they’re warnings :)15:59.06 
chrisl kens: as long as I don't see the locals burning a large wicker effigy..... 15:59.12 
kens doens't think they are that friendly15:59.25 
  You're probably safe as long as you seem to have money though15:59.45 
paulgardiner I wish I'd really meant warnings!15:59.53 
chrisl kens: Actually I was on the IoW back in Feb - never been there before, and now twice within 6 months.....16:00.36 
kens Ah, a strange attractor :-)16:00.50 
mvrhel_laptop I had to look this place up16:01.05 
  looks interesting16:01.10 
kens Which place ?16:01.19 
mvrhel_laptop IoW16:01.25 
chrisl This trip wasn't exactly my idea......16:01.26 
jogux paul: ah ;-) what are they? is it easiest to just disable printing maybe? not sure why this is proving so tricky :-S16:01.34 
kens mvrhel_laptop : I suppose it could qualify as interesting, for small values of interesting16:01.48 
  I wouldn't recommend visting it in December though16:02.15 
chrisl The weather was pretty horrid in Feb!16:02.42 
kens I would expect so :-)16:02.57 
paulgardiner A lot of the hassle was to do with SDK 6.1. I had a load of deprecations to fix and warnings about uninitialised stuff (which were all valid warnings!)16:03.08 
Robin_Watts mvrhel_laptop: Are you going to bring the kids etc in December?16:03.30 
mvrhel_laptop Robin_Watts: that is the plan16:03.37 
paulgardiner I guess I need a build option to leave out ticprint.16:03.50 
Robin_Watts I think Miles is still trying to find a "downtown" london hotel that doesn't cost the earth...16:04.20 
kens thinks he'll be liucky....16:04.34 
paulgardiner I can probably find it. I remember seeing it before ALIEN_IPHONE_PRINT=0 or something16:04.38 
mvrhel_laptop Robin_Watts: right. It will be nice to be closer to everything since Stephanie will be taking the kids out and about during our meetings16:05.00 
Robin_Watts mvrhel_laptop: yeah.16:05.14 
pedro_mac Robin_Watts: tbh you’d probably be better/cheaper renting apartments for a few days rather than hotels16:05.20 
Robin_Watts I pointed him at a couple of places, but it's still the thick end of 200 quid a night.16:05.47 
pedro_mac reckons you could (as long as some folks are prepared to share) get 2 or 3 room apartments for less than 250/night16:06.26 
jogux boggle. sure I paid under 100/night last time I stayed in london.16:06.30 
Robin_Watts jogux: Depends where you want to stay.16:06.42 
pedro_mac jogux: depends where you stay :)16:06.45 
kens I seem to remember one of the ladies who rides in our lesson recommending a place at Marble Arch that was reasonable, I'll see if I can find out more16:06.48 
pedro_mac grins16:06.50 
jogux that was tower bridge or something I think16:07.00 
Robin_Watts the intercontinental? at canary wharf?16:07.17 
kens jogux, yeah well things were cheaper in the 70's :-)16:07.22 
Robin_Watts st catherines dock, sorry.16:07.42 
mvrhel_laptop well at least they added back non-stop from Seattle to LHR. For awhile there were no such flights16:07.56 
  prices are somewhat reasonable16:08.04 
  9.5 hours.. We will see how the kids do on that16:08.54 
Robin_Watts mvrhel_laptop: I recommend lots of sugar, and seats the opposite end of the plane to you.16:09.17 
mvrhel_laptop what is the flight time for you guys when you come to SFO16:09.19 
  Robin_Watts: :)16:09.23 
Robin_Watts 10.5 hours or so.16:09.29 
mattchz This place wasn't bad, and not too expensive when I went recently:16:09.38 
  http://www.pestana.com/en/pestana-chelsea-bridge-hotel/pages/home.aspx16:09.39 
  if brixton counts as central enough.16:09.48 
mvrhel_laptop Robin_Watts: have you guys already gotten your tickets for chicago?16:10.24 
  I guess I need to do that16:10.28 
Robin_Watts mvrhel_laptop: Yeah.16:10.34 
mattchz when is it you guys are going to be in SFO btw?16:10.36 
Robin_Watts Not til next year now.16:11.00 
  chigago in sept, london in dec, probably SFO in mar.16:11.18 
henrys mattchz: chicago is next16:11.18 
mattchz ah. I'm hoping to go out there beginning of November.16:11.20 
  henrys> ah yeah, of course.16:11.30 
  I presume the weather's still pretty nice even in November? :)16:11.38 
  (looks it from the forecast)16:11.47 
henrys there is only one forecast for SF AFAICT16:12.19 
  mattchz: no idea how those folks do without seasons16:12.39 
mattchz :-)16:12.51 
  We are currently in our brief "summer period" in Glasgow16:14.29 
  By November, I'll definitely want some sunshine.16:14.47 
Robin_Watts jogux: So page 2 of Artifex2014.pptx... the one where all the text doesn't line up?16:15.34 
  That's full of spaces in weird japanese fonts, tabs in odd places etc.16:15.57 
  I'd shoot the author, except we're reliant on him running the company.16:16.13 
pedro_mac presumably a bunch of c’n’p slide bits16:17.15 
Robin_Watts I am very tempted to edit out the uses of the japanese font, and if it works, to claim it as not being a bug.16:20.11 
mvrhel_laptop :)16:20.38 
  So I have a very basic question for SOT16:21.07 
  with NodeMngr_findChildNode16:21.16 
  and ObjectNode16:21.25 
  so in drawingml-chart.c around line 201 it is trying to find the type of chart16:22.24 
  what I am confused about is that the Object node that is returned is <c:pieChart> type16:22.58 
  which is correct16:23.02 
  but the number of children comes back as two for this object16:23.17 
  in the xml I see something like this16:23.27 
  <c:pieChart>16:23.36 
  <c:varyColors val="1"/>16:23.37 
  <c:ser> </c:ser>16:23.39 
  <c:dLbls> </c:dLbls>16:23.40 
  <c:firstSliceAng val="0"/>16:23.42 
  </c:pieChart>16:23.44 
  why would it not have 4 childern16:23.48 
  Perhaps I am misundertanding something16:24.06 
Robin_Watts Looks like 4 kids to me too.16:24.27 
  but perhaps it's eliding ser and dLbs because they have no attributes and no content ?16:24.47 
mvrhel_laptop oh they have content16:24.59 
jogux robin_watts: :)16:24.59 
pedro_mac mvrhel_laptop: not sure, buts its quite likely that we only recognise/parse two of those children and ignore the others 16:25.00 
mvrhel_laptop I just did not include all the details16:25.09 
Robin_Watts or maybe the parser is ignoring... what pedro said.16:25.13 
mvrhel_laptop ok16:25.23 
  fair enough. I was not expecting that. 16:25.51 
Robin_Watts mvrhel_laptop: Try adding/ removing some and see if the number of things read changes?16:27.26 
kens OK enough is enough, night all16:27.31 
pedro_mac with both the native and xml translations most ‘unknown’ content would be thrown away as it could not be used. That changed slightly when editing was supported as some data needed to be preserved for save. I think we should really be generating the complete xml tree regardless, but I’m not sure that is what currently happens16:27.33 
mvrhel_laptop pedro_mac: yes. It certainly would make debugging easier to have our parsed tree to match the data16:28.45 
Robin_Watts mvrhel_laptop: The cost for that is that it uses more memory, which is scarce on embedded devices.16:29.36 
mvrhel_laptop right16:29.43 
Robin_Watts but as pedro says, now that editing is in the frame, the goalposts have moved.16:29.57 
mvrhel_laptop ok now that I know that we don't include the whole thing in our tree I can figure out why we are not finding the sRGB color settings in the chart later16:33.15 
mattchz does mupdf support saving out annotations in password protected PDFs?16:46.52 
  and does it support owner passwords at all?16:47.48 
Robin_Watts mattchz: We probably unprotect on save.16:47.58 
  and yes, we support owner passwords for reading, sure.16:48.08 
mattchz owner passwords are for modifying and printing, apparently16:48.30 
  Someone was asking:16:48.56 
  http://bugs.ghostscript.com/show_bug.cgi?id=69521716:48.57 
Robin_Watts owner passwords are for anything that goes contrary to the permissions flags on the PDF.16:49.12 
mattchz I just tested annotating a file with a user password, and it seemed to not write out.16:49.14 
  I guess I'm just wondering if this is a bug or an unsupported feature.16:51.04 
Robin_Watts I would have thought that we could at least write out an unprotected file.16:54.01 
  we don't support encrypting things, I think.16:54.16 
mattchz is there any way of building with extra debug output? So I can see if I can troubleshoot why it's not saving out?16:54.50 
Robin_Watts mattchz: the JNI stuff has some debug in it, but that's all.16:55.27 
mattchz ah right; I was thinknig of the core, probably.16:55.37 
Robin_Watts then no.16:55.48 
mattchz ah, np.16:56.40 
Robin_Watts I wonder if this problem is simply that powerpoint has default tabs of 1 inch, and we have default tabs of 0.5inches ?17:16.45 
  No, it's that our tab stops are not evenly distributed across the screen.17:18.19 
mattchz robin> hmm, ok, it seems like we are writing out a file, and it's changing size, but when I open it again the annotations are not visible.17:28.46 
Robin_Watts The content is there, but the annotations aren't?17:29.10 
mattchz yeah; and the password is still there.17:29.25 
  We seem to get errors about "unknown keyword"17:29.45 
  I wonder if the annotations aren't getting encrypted.17:29.55 
  and so it's choking on them?17:30.01 
Robin_Watts could be.17:30.01 
  annotations are paulgardiner's baby really.17:30.13 
  (not blaming him for this !)17:30.21 
  Can you put the original and revised files online somewhere?17:30.42 
mattchz ok, will do :)17:31.08 
  I'll get a fresh file.17:31.14 
  robin_watts: http://ghostscript.com/~matt/17:35.29 
  password is 'abc'17:35.31 
Robin_Watts mattchz: Right, so how much do you know about the structure of PDF files? :)17:37.27 
mattchz nothing whatsoever ;017:37.40 
Robin_Watts PDF files can have stuff added to them by doing an 'incremental save'.17:38.16 
  basically, when you start to read a PDF file you read the first few bytes to see that it's "%PDF-1.x"17:38.39 
  and then you jump to the end and read backwards a bit to read the trailer.17:38.52 
  That tells you where in the file all the objects are.17:38.58 
mattchz ok17:39.09 
Robin_Watts So if you bung a whole new trailer on the end, you can add some new objects and override the existing stuff.17:39.25 
  That's what we do with the annotated file.17:39.30 
  Of course, the objects we add are all unencrypted, so it doesn't get read right.17:39.44 
mattchz i see the extra trailer there.17:39.56 
Robin_Watts So it's purely down to us not supporting encryption.17:40.25 
mattchz So, I guess we should disable annotation for encrypted docs?17:40.51 
Robin_Watts Probably we ought to refuse to... yeah.17:40.57 
mattchz So, I guess we can close this: http://bugs.ghostscript.com/show_bug.cgi?id=69521717:41.41 
  and just say we don't support it?17:41.45 
Robin_Watts Or maybe we should allow annotation, but caution that we can't save.17:41.58 
  cos people might want to annotate then print?17:42.04 
  oh, wait, printing requires saving a PDF :)17:42.11 
  so no.17:42.14 
mattchz heh17:42.16 
  in that case we could strip the encryption17:42.26 
  (we probably have to ?)17:42.30 
pedro_mac heads off - catch you later17:43.06 
Robin_Watts mattchz: So... you have an fz_document *, right?17:43.29 
  Call pdf_specifics on that to get a pdf_document *.17:44.33 
  If it's NULL, it's not a PDF.17:44.40 
  If it isn't NULL, you can call pdf_crypt_version. If you get 0, it's unencrypted.17:45.09 
paulgardiner Robin_Watts: don't know what made me thing of this again but: it looks like fz_new_device takes ownership of list only if dev->free_user is set up and I can't see where that was being done.17:45.24 
mattchz ok17:45.24 
Robin_Watts paulgardiner: oh, god, of course you are right.17:46.02 
mattchz so we should just hide the annotation controls in that case then?17:46.10 
Robin_Watts What would be the point in having a list device that destroyed the list after it wrote it.17:46.21 
paulgardiner Oh! :-) I hadn't thought of it like that, buy yes17:46.43 
mattchz so, err, I broke something else in that function? ;)17:46.53 
paulgardiner So possibly the try catch isn't actually needed17:46.56 
  and if there's a leak then it's down to the caller17:47.20 
Robin_Watts mattchz: I suspect we should just back out that entire commit. Sorry, we lead you up the garden path there.17:47.35 
mattchz which commit?17:47.47 
Robin_Watts The one where you added try/catch to fz_new_device_list17:48.13 
mattchz but leave in the fz_var() stuff at the top though, right?17:48.39 
Robin_Watts no.17:48.53 
mattchz for accepted17:48.59 
Robin_Watts Yes.17:49.03 
  Is that the same commit?17:49.12 
mattchz I think so.17:49.18 
Robin_Watts just fetching now to check.17:49.31 
  right, yes.17:50.01 
mattchz http://git.ghostscript.com/?p=mupdf.git;a=commit;h=ada560eb015e7b2208c492d47f28da8093733c4a17:50.01 
Robin_Watts Just revert the changes to source/fitz/list-deice.c and blame us in the commit message.17:50.19 
mattchz heh :)17:50.28 
  how's this: http://git.ghostscript.com/?p=user/matt/mupdf.git;a=commit;h=a51341c3e2ec46cb4759ca921c4fe011dc3d9dba18:01.44 
Robin_Watts mattchz: Sure. Though I would feel free to cite collective insanity as the reason in the commit message.18:04.14 
mattchz heh, it's fine18:04.25 
  so, re this annotations stuff, if we just hide the annotations controls for encrypted docs, and close that bug as WONTFIX, that is sufficient?18:05.42 
Robin_Watts Possibly we should open an enhancement bug for "be able to save encrypted files".18:10.58 
  so we don't forget the issue.18:11.10 
mattchz Ok, I can leave this open if you like and just change it to an enhancement?18:11.26 
Robin_Watts probably better to do it as a new bug. clean history, no stray "android" tags etc.18:11.56 
mattchz okey dokey.18:12.09 
Robin_Watts and you get to close it as fixed :)18:12.10 
mattchz it's not fixed though really, as it was basically a request about how to do it ;)18:12.40 
Robin_Watts So... in office docs, tabs are supposed to be relative to the left hand edge of the current text box.18:37.53 
  epage seems to do tab stops at absolute positions across the page.18:38.12 
Robin_Watts goes to cook. will consider how to fix that later.18:38.41 
mattchz night18:39.38 
mattchz off too.18:39.41 
 Forward 1 day (to 2014/06/27)>>> 
ghostscript.com
Search: