| <<<Back 1 day (to 2019/05/27) | 20190528 |
kens | everyone that wants to talk about pdfi here ? | 15:07.20 |
NancyDurgin | okay | 15:07.53 |
kens | So the initial commit is as we discussed | 15:08.09 |
| At the start of every stream, a buynch of stuff gets stored and then at the end of the stream, teh current state is compared against the stored stuff. If it doesn't match, we try to fix it. So that's by grestore'ing, popping the stack etc. | 15:08.51 |
| We also guard against popping off the stack more objects than we have (never go back beyond the saved minimum) | 15:09.15 |
| and likewise for grestore. | 15:09.22 |
| I've chosen to stick all this in a structure, but that's more because I think we might want to write a convenience operation for this in the future and its easier to pass a structure pointer than a bunch of variables | 15:10.03 |
| In a (much) later commit I've also kept count of the number of transparency groups we start and finish and try to keep those synched too | 15:10.35 |
| There is a saved CTM but I don't use that at all yet. | 15:10.48 |
| Having written that, I added code to do a deliberate seg fault on any file which *didn't* clean up | 15:11.11 |
NancyDurgin | It seems like I had found the right place to save the CTM for all the patterns I've looked at, but doing it in a less hacky way sounds good to me. | 15:11.17 |
kens | That caused all sorts of hell to break loose | 15:11.20 |
| Nancy_iMac: I think that always using the default CTM is not entirely correct. | 15:11.42 |
| But we cna find out at a later date :-) | 15:11.54 |
NancyDurgin | kens: I think you may be right, I just hadn't found a counterexample yet | 15:11.59 |
kens | Yeah its rare (or so I believe) | 15:12.07 |
| So I started tracking down the problems, there were a surprising number. | 15:12.35 |
| Type 2 shadings could rerurn on an error without setting an error code | 15:13.11 |
| The SMask code for ExtGStates called *entirely* the wrong function | 15:13.35 |
| I have no idea why that didn't crash spectacularly every time we used it | 15:13.48 |
NancyDurgin | kens: Sounds exciting :) | 15:13.49 |
kens | It was calling a function that expected a dictionary on the stack, but not putting a dict on the stack.... | 15:14.08 |
NancyDurgin | so far what I have looked at of your changes I think this is a huge improvement | 15:14.09 |
| I think the quiet ignoring of stack underflows was hiding a lot of sins | 15:14.30 |
kens | The xref reading code popped the stack but there was no object there (this one was benign because the stack is empty at that point, but still) | 15:14.40 |
| The DeviceN stuff didn't handle either (or both) of the Process or Colorants dicitonaries being empty | 15:15.14 |
| The inline image code didn't handle the /F array being empty | 15:15.28 |
| Major problem with pdf_array_size in that it returns an unsigned int, if we use that 'inline' with a -1 then the compiler silently casts that to an unsigned int, giving a huge number instead of -1 | 15:16.30 |
| THere was only one place that did that, but it was causing some headaches | 15:16.46 |
| A number of files fail because I haven't had a chance to look at the code to try splitting up unknown keys | 15:18.06 |
| So things like "QBT" or "Qendstream" don't get handled peoperly | 15:18.26 |
| That was leaving the operands on the stack, I've got it clearing the stack now instead, best we can do | 15:18.45 |
| until I can look at writing the code | 15:18.53 |
NancyDurgin | kens: Do you have it more-or-less back to where it was, as far as lack of regressions? | 15:18.53 |
kens | Nancy_iMac: There's a cluster run on my name | 15:19.12 |
| and a bmpcmp to go with it | 15:19.18 |
| The seg fualts are (if I can put it like this) more stable | 15:19.29 |
| They all seem to occur in one of three places, all deep in the graphics library. One is transparency, one is colour handling with halftones (I cna believe we have that wrong) and one is the clist | 15:20.01 |
| There's a file which has an illegal /Creator and /Title string | 15:20.29 |
| Which now fails and didn't before. | 15:20.35 |
| Because I fixed a different problem | 15:20.44 |
NancyDurgin | I have noticed a lot of our halftones are generally the right color, but look like the wrong granularity or something. I have seen simple examples of this. So "kind of right, but subtly wrong". I figured we would address it eventually | 15:21.10 |
kens | To do with the escape character \ If we get that, and the following character is not one of the specials, we are supposed to ignore it | 15:21.11 |
| Nancy_iMac: yeah, and I'm guessing that's why we're seeing some weirdness with the halftone mapping and seg fualts | 15:21.34 |
| There's a crazy PDF file that has an inline image where the /H and /W values are real numbers (!) | 15:22.09 |
| I mean to ask you specifically to think about a better solution ot that one | 15:22.34 |
NancyDurgin | kens: The number of segfaults/changes in your latest run seem pretty reasnoable ot me. I can't say on the bmpcmp, some of those might be regressions, but it would take more investigation. | 15:22.38 |
kens | Mnay of them are (sort of) progressions relating to transparency | 15:23.07 |
NancyDurgin | kens: I would tend to say you should push all this, and then if you have specific things you want me to look into, I can tackle those. | 15:23.09 |
kens | Yeah, I'd like you to look at this commit: | 15:23.25 |
| http://git.ghostscript.com/?p=user/ken/ghostpdl.git;a=commit;h=834a1cb78a3e080647cfcd6d3449774fff78acb3 | 15:23.25 |
| See if there's a better solution | 15:23.33 |
| I'm wading through the bmpcmps now | 15:23.44 |
NancyDurgin | kens: I am looking for some small, finishable tasks for this week, because I am going to be on travel/vacation for like 3 weeks after that and don't want to leave something half-done. | 15:23.54 |
kens | Some of them are (sort of) progressions with transparency | 15:23.55 |
| I have another file that needs lookign at too, it throws an error on an inline image, and I don;t know why | 15:24.17 |
| Unl;;ess you or Chris wants more time to look at these, I will push the lot this afternoon (after I finish the bmpcmp) | 15:24.41 |
| Then its all yours again for a bit | 15:24.50 |
| In short; there are many definite problems fixed. I believe the code is more stable, I beleive many diffs are progressions (some certainly are) | 15:25.30 |
NancyDurgin | kens: Okay I will look at the real number /H /W thing. I could look into the parsing with missing delimiters if you want, also. | 15:25.40 |
kens | I *thnk* the transparency code is 'better' | 15:25.41 |
| If you'd like to think about the text string handling that would be great | 15:26.03 |
NancyDurgin | kens: I think this is a big progression overall. I have no problem if it introduces a few regressions along the way. | 15:26.18 |
kens | Let me finish up this bmpcmp and I'll email you that and the toher 2 rthings | 15:26.28 |
NancyDurgin | sounds good | 15:26.44 |
kens | You can poke the /H and /W problem without my changes it goes awry in the current code | 15:27.10 |
NancyDurgin | yeah that seems pretty isolated | 15:27.22 |
| I suppose it was generated programmatically by somebody who didn't htink about it much | 15:27.34 |
kens | Bug695872.pdf | 15:27.37 |
| Yeah I'm certain that's the case. | 15:27.51 |
| BTW I found one file where the content stream begins with 1332 gsaves | 15:28.15 |
NancyDurgin | you fix looks pretty reasonable to me. What did you have in mind to do it differently? | 15:28.27 |
kens | Well I hacked it quickly, I wasn't sure if maybe checking that (int)x == x was worth checking, to ensure that the real number is really just an int with a .000 stuck on the end | 15:29.09 |
NancyDurgin | would you want to throw an error or just truncate it? | 15:29.27 |
kens | Also it migth be worth hacking the file and altering teh values ot (say) x.5 and see what Acrobat does with that | 15:29.40 |
Robin_Watts | Nancy: Have you sorted a train ticket from Edi -> Soton ? | 15:29.58 |
kens | My first thought was throw an error, because, well, what do you do with half a pixel ? | 15:30.16 |
NancyDurgin | I am thinking just silently truncate it, but wouldn't hurt to see what adobe does | 15:30.21 |
kens | If you coudl have a go that's be good | 15:30.31 |
NancyDurgin | Robin_Watts: I used that transplit thing and have a ticked from Edi to Dover on Sunday. | 15:30.41 |
Robin_Watts | Ah, cool. | 15:30.49 |
| What time do you leave? | 15:30.55 |
kens | What time are you travelling ? | 15:30.58 |
| echo... | 15:31.02 |
NancyDurgin | I am trying to figure out if Soton is a keybord thing or an actually city... | 15:31.04 |
Robin_Watts | Soton = Southampton, sorry. | 15:31.20 |
kens | its sometimes an abbreviation for Southampton | 15:31.25 |
Robin_Watts | I'm leaving Ed at 10:51 on the Sunday. | 15:31.54 |
NancyDurgin | ah, I'm going to Dover, not Southampton. My train leaves at 9:30am on Sunday | 15:32.02 |
kens | Presumably depariting Waerley station ? | 15:32.28 |
| Waverley | 15:32.34 |
Robin_Watts | Urm... | 15:32.54 |
NancyDurgin | This just says "Edinburgh", I assume that is Waverly | 15:33.17 |
kens | Yeah | 15:33.39 |
Robin_Watts | kens: don't worry me! :) | 15:33.54 |
kens | :-) | 15:33.58 |
Robin_Watts | I assume the same as Nancy. | 15:34.02 |
kens | There are more than one, but Waverley is (by far) the largest and its where the big trains go | 15:34.20 |
NancyDurgin | I am pretty sure it said Waverly when I was setting it up, but my confirmation that I printed just says Edinburgh | 15:34.21 |
Robin_Watts | Well, if they dump us off somewhere else on the way up, it can solved with a Taxi, and I'll know for the way back :) | 15:34.59 |
kens | Absolutely, it can't possibly be far anyway | 15:35.24 |
NancyDurgin | Robin_Watts: I am staying the first 2 nights in a hotel near Waverly. Should I go there and pick up my tickets in advance? | 15:35.35 |
kens | But I'm reasonably certain that nobody would say 'Edinburgh station' for anything except Waverley | 15:35.44 |
NancyDurgin | Robin_Watts: That would also flag me if somehow it's a different station | 15:35.47 |
kens | I'd pick up tickets early | 15:35.59 |
| just in case | 15:36.03 |
NancyDurgin | kens: It will make me feel better if I do | 15:36.14 |
Robin_Watts | Nancy: It wouldn't hurt to pick up tickets in advance, because a) there can be queues for the machines, and b) if the machines are broken, you want to give yourself time. | 15:36.28 |
NancyDurgin | kens: That's an important leg of my trip since there is a cruise departing that I don't want to miss! | 15:36.32 |
Robin_Watts | I have already picked up my tickets :) | 15:36.37 |
kens | I always try to pick up my tickets in plenty of time if I can | 15:36.54 |
NancyDurgin | okay I will definitely pick them up as soon as I can, then | 15:37.08 |
chrisl | Wow, lots more railway stations in Edinburgh than when I was a kid! | 15:37.44 |
kens | Yeah I think they are counting in the tram stops | 15:38.00 |
| Which is not the same IMO | 15:38.08 |
chrisl | Oh, that's just dumb | 15:38.15 |
kens | If you are seeing Edinburgh Airport, that's a tram, not a railway | 15:38.33 |
chrisl | So, for "railway" it's still Waverley and Haynarket | 15:38.45 |
| Haymarket | 15:38.55 |
kens | Yeah I think so | 15:38.56 |
| I cna't believe that Robin and Nancy would be going to Haymarket | 15:39.13 |
chrisl | No, but even if that happened, it's about the same distance to the hotel | 15:39.30 |
kens | Hmm, yes, good point | 15:39.44 |
NancyDurgin | Boston has Waverley and Haymarket T stops. | 15:39.58 |
| Thought they sounded familiar... :) | 15:40.12 |
kens | Important to note its a different direction to the hotel though :-) | 15:40.15 |
| Yes I remember being amused by the Boston stops when I visited | 15:40.31 |
NancyDurgin | I mean, it's not surprising at all. Many cities in US named after ones in the UK, especially in New England | 15:40.58 |
kens | True, but I hadn't expected that | 15:41.15 |
| I was interested by Bill Bryson commenting on Norwhich in New England | 15:41.32 |
NancyDurgin | and then there is a sprinkling of same cities scattered west across the US. I guess early pioneers didn't like making up new names so they just reused the old ones as they moved west. | 15:41.37 |
kens | Apparently Us folks pronounce that Nor-witch, but the older locals pronounce it the same as the UK, Norritch | 15:42.06 |
NancyDurgin | I grew up in Rochester, nY and there is a Rochester Michigan and a Rochester Minnesota that were named by people from New York who went west. | 15:43.01 |
Robin_Watts | Ah, the Holy Land. | 15:43.13 |
NancyDurgin | kens: many of the "correct" pronunciations of cities in Massachusetts would be the same as the UK pronunciations, but it wouldn't surprise me if newcomers got it wrong | 15:43.38 |
kens | FWIW there's a California in Scotland as well. Also a Dollar | 15:43.44 |
NancyDurgin | like Worcester is one of the faves. prounounced like "Woosta". | 15:44.24 |
kens | Like Bertie :-) | 15:44.40 |
Robin_Watts | My parents live just outside worcester. | 15:44.54 |
| I live near bicester (bista). | 15:45.05 |
NancyDurgin | Anyway, I am leaving on the 3rd, arriving morning of the 4th and staying in a different hotel for a few nights. | 15:47.57 |
kens | Have fun the first few days | 15:48.14 |
| Stella and I don't arrive until Thursday afternoon | 15:48.32 |
| Reminds me, must buy tram tickets | 15:48.44 |
NancyDurgin | I am taking a 1-day excursion on the 5th, otherwise, no specific plans | 15:48.48 |
| kens: Tram from airport? | 15:49.10 |
kens | Yes, if you buy a return online in advance its cheaper | 15:49.29 |
| plus you don't have to waste time getting them at the airport | 15:49.42 |
NancyDurgin | kens: I will have a huge suitcase to schlep (and not doing return) so I was planning to just wing it and get a taxi or uber or whatever. | 15:49.57 |
kens | Get a txi, definitely | 15:50.06 |
| Its a fair way from teh nearest tram stop to the hotel, you don't want to walk that | 15:50.22 |
NancyDurgin | well, it is to a different hotel. Apex Waterloo Place | 15:50.53 |
kens | I don't remember exactly where the taxi rank is, but it was fairly easy to find as I recall | 15:51.00 |
| Nancy_iMac: you said its near Waverly, so its not near a tram stop | 15:51.11 |
| Or more accurately, not a stop on the line from teh airport | 15:51.31 |
NancyDurgin | I figure I will have two days to figure out how to get my suitcases from hotel 1 to hotel 2. Will decide if it's reasonable to walk that or not. | 15:51.33 |
kens | looks like a long walk with a suitcase to me | 15:52.26 |
Robin_Watts | Nancy: Walk, yes. Walk with suitcase, no. | 15:52.35 |
NancyDurgin | even if I don't mind doing the walk, I don't want to risk wearing out/breaking the wheels of suitcase | 15:52.41 |
chrisl | That'll be the entire length of Princes Street | 15:52.51 |
NancyDurgin | those suitcase wheels aren't really meant to travel indefinite distance over rough sidewalks, etc | 15:53.00 |
| yeah I will probably use taxi | 15:53.15 |
kens | Its right near Calton Hill, that's a bit of a trek with luggage | 15:53.29 |
chrisl | 1.1 miles | 15:53.37 |
| Also, Princes Street can be mobbed - dodging other pedestrians whilst lugging a case doesn't sound like fun to me | 15:54.42 |
NancyDurgin | yeah I am looking at the map now. I will take a taxi :) | 15:54.57 |
| opposite sides of edinburgh castle and I know there are some hills in there somewhere... | 15:55.57 |
kens | Hmm, if memory serves that's relatively flat there, you're going along the valley | 15:56.22 |
chrisl | The route you'd walk doesn't have any big hills. | 15:56.34 |
kens | But its been a long time.... | 15:56.35 |
chrisl | Princes Street is flat, so only a bit of an incline at Lothian Road | 15:57.07 |
NancyDurgin | I am trying to tell from this map, what the pedestrian route is up to the castle. | 15:57.39 |
| can't really tell | 15:57.45 |
chrisl | From where? | 15:57.58 |
NancyDurgin | from Princes street, or from the Sheraton? Just trying to orient. | 15:58.16 |
| I am not necessarily planning to do it. But I did it 24 years ago and just trying to re-orient to it | 15:58.43 |
Robin_Watts | The gatehouse to the castle faces just north of east. See castlehill | 15:58.50 |
kens | you probably went up the roayl mile | 15:59.00 |
| royal* | 15:59.04 |
NancyDurgin | yes probably. Which of those streets is the royal mile? | 15:59.48 |
kens | castle hill as Robin said | 15:59.57 |
NancyDurgin | high st? | 15:59.58 |
| I am not seeing castle hill | 16:00.04 |
kens | Hmm, its been a while and I have no memory | 16:00.15 |
| let me look | 16:00.18 |
NancyDurgin | Oh I had to zoom in a tiny bit | 16:00.24 |
| high street->lawnmarket->castlehill | 16:00.32 |
chrisl | From the Sheraton, I'd go Spittal Street, Castle Terrace, Johnston Terrace, Castle Hill | 16:00.39 |
kens | Yeah that's it | 16:00.40 |
NancyDurgin | yes okay now that makes sense | 16:00.41 |
| so the west end of the castle (near the hotel) is just the top of a hill, and probably fortifed (and perhaps the English) to prevent tourists from getting in... | 16:01.27 |
| ^fortified | 16:01.37 |
chrisl | Yes | 16:01.38 |
NancyDurgin | bah I edited that all wrong so it wasn't as amusing, or well | 16:01.58 |
| I meant to say "prevent tourists (and perhaps the English) from getting in" | 16:02.11 |
| but it's not funny if I have to type it twice... :( | 16:02.21 |
kens | And teh other Scots | 16:02.23 |
NancyDurgin | I didn't think the English actually got that far north anyway? | 16:02.40 |
kens | Well yes... | 16:02.53 |
| That's hte lowlands | 16:02.57 |
| The Romans never got that far | 16:03.34 |
NancyDurgin | Ah okay, Hadrians wall would have been for the Romans, not the English | 16:03.48 |
kens | At least, not as rulers | 16:03.51 |
| Absolutely, Hadrian's wall was pretty much gone by the time of the two nations arising | 16:04.15 |
NancyDurgin | and it was built by the Romans to keep the Scots out, not vice-versa :) | 16:04.45 |
kens | More of a demarcation really, is the modern thinking | 16:05.05 |
chrisl | I thought the Romans did get that far north | 16:05.07 |
kens | Not so much to keep people out, as to be able to control movement | 16:05.19 |
| chrisl I thought not as actual ruling the country | 16:05.35 |
| They definitely did get further North, there's Roman hacksilver turned up in Fife | 16:05.51 |
| But that's really for trading/bribing with teh locals | 16:06.04 |
NancyDurgin | well, Wikipedia kinds of says it was for both purposes (demarcation and to keep the barbarians out) | 16:06.12 |
chrisl | There's also the Antonine Wall, which is probably where I heard about the Romans up there | 16:06.20 |
kens | Yeah the archeologists keep changing their minds | 16:06.26 |
Robin_Watts | The 38th Legion or something... | 16:06.26 |
| vanished north of the wall. | 16:06.38 |
kens | Well, allegedly | 16:07.00 |
Robin_Watts | There have been both crap films and crap Dr Who episodes about it. | 16:07.00 |
kens | And crap books too | 16:07.13 |
| To interrupt with work for a momnet | 16:07.24 |
NancyDurgin | yeah there is an Antonine Wall further north | 16:07.28 |
kens | These bmpxmps look OK | 16:07.29 |
Robin_Watts | runs away! | 16:07.30 |
kens | So I'm going to squash this lot and push it | 16:07.53 |
NancyDurgin | kens: I say push it, but maybe squash some of the bug fix commits just for cluster sanity? | 16:07.56 |
| kens GMTA | 16:08.00 |
kens | has fingers crossed | 16:08.14 |
NancyDurgin | wonders if GMTA is multi-cultural thing | 16:08.35 |
Robin_Watts | FSD :) | 16:09.53 |
NancyDurgin | googles FSD | 16:10.05 |
Robin_Watts | https://en.wiktionary.org/wiki/great_minds_think_alike | 16:10.35 |
kens | Folls seldom differ | 16:10.45 |
NancyDurgin | never heard of FSD.. | 16:11.08 |
| Oh, I see... They actually go together :) | 16:11.39 |
| I learned something new! | 16:11.47 |
kens | OK commit pushed | 16:12.53 |
| Seems I had a few other commits pedning as well but hadn't noticed | 16:14.04 |
NancyDurgin | kens: Looks good to me! As I said, I think this is a great change, worth the pain. | 16:15.01 |
kens | I hope so, it certainly feels like a load of good fixes | 16:15.21 |
| Sorry about the length of time its taken | 16:15.31 |
| writing email now | 16:15.37 |
| Forward 1 day (to 2019/05/29)>>> | |