IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2012/04/23)2012/04/24 
mvrhel Robin_Watts: If you want to take a look at any of the segv's that is fine04:51.24 
  Also, I can't quite figure out where things are going wrong in the warnings on the clist stat initialization. the warnings 04:52.34 
  ./base/gxclist.c:497: warning: missing braces around initializer04:52.36 
  ./base/gxclist.c:497: warning: (near initialization for 'cls_initial.tile_color_devn[0]')04:52.37 
  ./base/gxclrast.c:572: warning: missing braces around initializer04:52.39 
  ./base/gxclrast.c:572: warning: (near initialization for 'cls_initial.tile_color_devn[0]')04:52.41 
diverdude_ Hello, how do i convert a plain simple textfile to pdf in commandline?07:08.02 
kens Using what ?07:08.11 
diverdude_ thats what im asking07:08.48 
  what can i use to do that?07:08.53 
kens OpenOffice.07:09.01 
diverdude_ thats not commandline07:09.10 
  i have only a terminal07:09.14 
kens I believe it has a command line interface07:09.22 
diverdude_ ok, but its not installed...isnt there a simpler way?07:09.43 
kens Text files have no layout information, PDF files do, so you need to add layout information.07:09.58 
chrisl diverdude_: use a2ps and then convert the PS to PDF using Ghostscript07:10.06 
kens You oculd write a PostScript program to do it, and have GS interpret it07:10.10 
  Like I was saying :-)07:10.21 
diverdude_ chrisl: ahhh yes now were talking :) much better07:10.52 
vtorri ps2pdf exists too07:12.20 
chrisl ps2pdf is ghostscript07:12.37 
vtorri ha07:12.42 
  ok07:12.44 
chrisl It's just a shell script that calls GS with the pdfwrite device07:13.05 
diverdude_ when i try a2ps i get this error: /usr/bin/lp: Error - no default destination available.07:14.27 
vtorri a2ps -o f.ps f.txt07:14.46 
sebras_ paulgardiner: I manage to crash mupdf consistently on my HTC sensation.08:55.19 
  basically I rotate the phone to wide screen, bring up a simple text-only pdf with several pages, and click the page progressbars at opposite ends quickly and repeatedly (say 30-40 times). Eventually mupdf is force closed.08:57.17 
  I realize this is a horrendous test case, but still it seems to be reliably triggered.08:57.54 
Robin_Watts sebras_: Can you reproduce the problem whilst banging your head on the wall?09:26.56 
sebras_ Robin_Watts: give me a second and I'll try.09:27.37 
kens "You're holding it wrong"09:27.55 
sebras_ Robin_Watts: yes, I can reproduce it. but now I have a bruise on my forehead. ;)09:28.23 
Robin_Watts :)09:28.59 
sebras_ actually I'm thinking that this either is the result of a race condition or from a memory leak.09:29.09 
Robin_Watts Those seem like reasonable guesses.09:29.54 
sebras_ maybe it can be triggered in another use case which is more... let's say normal.09:30.05 
  I'm not saying that this is a 1.0 showstopper. far from it. but maybe it is worth to take a look later.09:31.18 
Robin_Watts sebras_: Yeah, it's probably worth hunting for it.09:35.58 
sebras_ Robin_Watts: if I manage to setup an android debug-environment at home I'll take a look later tonight. I noticed this while waiting for a compilation at work...09:38.18 
tor8 Robin_Watts: paulgardiner: ping.10:40.54 
paulgardiner tor8: hi10:41.03 
tor8 I wrote some things an hour ago, they haven't shown up in the log so I guess they were eaten by the net split10:41.26 
  paulgardiner: anyway, I ran into some oddities when testing the android app for 1.010:41.41 
  things I thought were fixed. hitting "enter" in the search field doesn't launch a search, and highlights disappear when the device is rotated.10:42.07 
paulgardiner I remember fixing the first, but I heard someone else mention it was broken again.10:42.55 
  Might it be working on some devices and not others? Perhaps there are several cases that need handling.10:43.48 
  I'll just have a look to see if the fix I put in before is still in my copy, at least10:44.46 
tor8 it could be a tablet vs phone thing10:45.12 
  I tested it on the phone10:45.18 
paulgardiner My phone is off for repair, but apparently will be back today or tomorrow10:46.13 
  Ha. Just while typing that, there was a knock at the door, and I now have my phone back. Handy timing.10:47.30 
  Hmmm. Code below "React to Done button on keyboard" is present in my copy here. I'll diff with master, but I guess there must be other cases.10:50.12 
  I guess it's not unlikly that Done is different from Rtn10:50.53 
  tor8: I've found some info that might be relevant. Looks like we may need setOnKeyListener in addition to setOnEditorActionListener. I'll just go and unpack my phone.10:58.41 
tor8 paulgardiner: yeah, there's a Return-like arrow on the button on my phone10:59.31 
  but no Done button10:59.36 
Robin_Watts paulgardiner: Did you get your phone back then?11:05.12 
  D'Oh. Should read logs :)11:05.23 
paulgardiner 10 mins ago :-)11:05.29 
Robin_Watts Did they fix the camera?11:05.41 
paulgardiner Not sure yet. They didn't do any additional damage. So that's one relief.11:06.14 
  Looks like they've factory reset it, so I just have to mess about through the initial menus11:06.44 
Robin_Watts runs helen to station. bbs.11:10.26 
sebras_ tor8: are you able to reproduce my insanity test that I described before your desire?11:38.16 
tor8 sebras_: after about a minute, yes...11:42.57 
Robin_Watts ok, back. Is it worth me trying to reproduce/hunt down this mupdf thing?12:20.36 
  or do you guys have it in hand?12:21.07 
sebras Robin_Watts: I'm at work so I'm not looking at it until this evening.12:21.24 
  don't know if tor8 is working on it.12:21.43 
tor8 I'm busy with my tax declaration :(12:22.40 
sebras tor8: right.12:23.05 
  tor8: btw, the downloads over at google code still carry the old thirdparty package.12:23.35 
tor8 sebras: yes, I haven't uploaded the new ones yet. I want the android search thing fixed first.12:24.34 
sebras tor8: right.12:24.44 
Robin_Watts tor8: Can you put the new thirdparty up, but just not make thirdparty.zip point to it yet ?12:25.37 
  Or at least put it somewhere I can get it ?12:25.45 
  oh. it's just google code. Ignore me.12:25.56 
sebras Robin_Watts: yes, but the default download directory points to googe code.12:26.42 
tor8 Robin_Watts: it's on mupdf.com/download/12:26.56 
Robin_Watts tor8: yeah, got it. sorry.12:27.26 
  I can reproduce the android death here.12:53.03 
  I do not believe that mupdf is crashing inside a native call.13:27.13 
  Must get lunch.13:27.27 
sebras Robin_Watts: ok, so that makes it likely that it simply runs out of memory and gets killed perhaps.13:27.41 
Bo98 paulgardiner: http://pastebin.com/YzHUhzE7 <-- That's just quickly explaining how I put MuPDF into my existing Eclipse project. I've not double-checked it but I'm pretty sure that's correct.13:45.01 
paulgardiner tor8, Robin_Watts: Sorry, taken me all this time to get my phone back to a state where I could work on these problems, and now I just tried a search and CR did provoke it into action.13:54.52 
  I guess it varies from one device to another. There's a fix I can try, but obviously I can't test it.13:55.51 
Robin_Watts sebras: It would have to be in the java side.14:06.28 
paulgardiner tor8, Robin_Watts: I've pushed a change to master on my casper repo.14:10.22 
Robin_Watts paulgardiner: Will try that in a mo.14:11.50 
  oooh.14:14.12 
  http://pastebin.com/TdwnkMyw14:15.36 
  The first sign of a crash was around line 55ish.14:16.06 
  I think the problem is we're running out of AsyncTask slots.14:16.34 
  We can probably cure it by putting the execute call in a try/catch block.14:17.53 
paulgardiner How did you deduce that?14:21.04 
Robin_Watts See line 71 of my paste14:21.18 
  Then read upwards.14:21.28 
  it looks to me like the: pool=128/128 queue=10/10 implies that we're full.14:21.48 
sebras Robin_Watts: is it possible to wait for them to complete?14:22.01 
Robin_Watts I was about to ask paulgardiner that - this is his bit of code, not mine - far too clever for me.14:22.21 
sebras :)14:23.02 
paulgardiner Difficult. The whole point in using them is avoid stalling the UI, which is exactly what will happen if you wait, assuming there is a way to wait.14:23.52 
Robin_Watts paulgardiner: Well, if you're stupid enough to flood the system by clicking that many times, I think it's reasonable for the app to say "Just hold on a moment..."14:24.37 
  i.e. stalling in this extreme case doesn't seem so bad.14:24.59 
paulgardiner Yeah true. But we don't want to wait unnecessarily. I wonder if we can count the outstanding ones.14:25.23 
Robin_Watts and do what?14:25.33 
paulgardiner Wait if more than so many outstanding... again assuming there is a way to wait.14:25.56 
Robin_Watts boolean retry = false; do { try { sizingTask.execute(...); } catch (...) { retry = true; } } while (retry); ?14:27.02 
paulgardiner Interesting.14:27.17 
Robin_Watts The question is, should we ever actually have more than 1 of these things queued?14:27.43 
  I mean, we can only be "going to" 1 page at a time, right ?14:28.08 
  Can we cancel any outstanding ones (or at least any that have been requested but haven't started yet), and schedule a new one?14:28.44 
sebras Another question is -- is there another place where AsyncTask is used where the app may start executing these on its own without the user clicking anywhere? if so it may spontaneously crash.14:28.52 
paulgardiner We speculatively load pages around the current one. Also we cannot cancel tasks properly14:29.04 
  AsyncTask is used all over the place.14:29.23 
  Finding the page size, rendering to a bitmap, search...14:29.51 
Robin_Watts AsyncTask is used for searching, and for sizing a new page, and twice in the rendering.14:29.53 
sebras right.14:29.59 
Robin_Watts (afaict)14:30.00 
tor8 paulgardiner: the iOS app has a fair amount of trickery to cancel outstanding requests14:30.07 
paulgardiner Yeah. That's it I think14:30.08 
Robin_Watts all of which will be in response to clicks.14:30.16 
tor8 but it basically amounts to aborting the request when it gets around to it, not removing them from the queue14:30.26 
sebras ok, so that means that there are other situations where I can click like a maniac and end up with the same crash.14:30.54 
Robin_Watts Rather than saying: "please execute size(pageNumber);" could we do:14:31.03 
paulgardiner tor8: Yeah, I guess we should be signalling the library to give up on a render14:31.09 
Robin_Watts "int nextPageToResize = n; int request outstanding = 1; "please execute size()"14:31.51 
  and then have the size function read nextPageToResize, and set outstanding to 0.14:32.13 
  That way on subsequent calls, we'd only ask for a new background event if one wasn't started yet.14:32.39 
  I'm explaining it badly.14:32.46 
paulgardiner A still flawed but less annoying behaviour would result from just catching and ignoring the exceptions.14:37.54 
  And in the catch we could stick up a dialog box saying "Calm Down!!" :-)14:38.45 
Robin_Watts OK. I have a fix, I think.15:12.00 
  If we get an exception trying to do the background task, we catch it, and do it in the foreground.15:12.35 
  I can clearly feel when we hit that point as the UI stalls.15:12.49 
tor8 paulgardiner: have you got a patch for me to test on my device?15:12.50 
Robin_Watts tor8: It's in his repo, I believe.15:13.24 
  <paulgardiner>tor8, Robin_Watts: I've pushed a change to master on my casper repo.15:13.53 
paulgardiner tor8: for the Return-not-provoking-search problem, yes: last commit to master on my casper repo.15:13.57 
  Maintaining highlights across a device rotation is looking more complicated.15:14.36 
tor8 paulgardiner: well, that one doesn't have to hold up 1.0 :)15:15.01 
paulgardiner Ok. That's a relief.15:15.39 
tor8 paulgardiner: better, but I wonder if it's possible to dismiss the keyboard at the same time15:18.09 
paulgardiner Oh right. Possibly just needs a call to hideKeyboard()15:19.15 
Robin_Watts tor8: Crashy fix posted.15:20.19 
  I'm going to go back to looking at mvrhel's stuff unless there is anything else I should look at.15:23.07 
debjan Hi, I was wondering if mupdf viewer will support pdf bookmarks anytime soon?15:28.15 
Robin_Watts debjan: We are preparing the 1.0 release now. This does not support bookmarks.15:30.04 
  The core code would support it, but the viewer hasn't got that functionality built in.15:30.41 
debjan OK, thanks. That's what was hoping to see in new release, as I see lot of changes and thought to ask. Cheers15:31.42 
ray_laptop morning, all15:46.21 
Robin_Watts Morning ray_laptop 15:46.38 
ray_laptop are we having a meeting today ?15:46.51 
Robin_Watts Henrys said no.15:47.03 
  (he's not here today anyway).15:47.10 
  He did say that had there been a meeting his only topic would have been to make people look back at the followup mail from the last meeting, and to look at the tasks they were assigned there.15:48.16 
  He hoped we'd all try to make some progress, or at least turn up prepared to talk about them at next weeks meeting.15:48.44 
henrys I expected there would not be a meeting I just wanted to bring that up... sorry to be confusing.15:49.04 
paulgardiner tor8, Robin_Watts: I have a fix for the search highlights disappearing on device rotation (again on casper) but now the hightlights aren't reset the moment one alters the text edit15:51.31 
  Having both features looks hard because the OS updates the edit text on device rotation.15:52.39 
Robin_Watts Sorry, I'm confused here. We had it so that as soon as you typed in the search box the search highlights disappaeared?15:53.31 
paulgardiner So far I cannot see a way to distinguish between the user altering the text and the OS reintroducing the pre-rotation state.15:53.38 
Robin_Watts even before you hit return ?15:53.41 
paulgardiner Robin_Watts: yes15:53.51 
henrys you guys have gotten the agenda? Always paranoid it wasn't received when I don't get corrections.15:53.54 
Robin_Watts Can you store both the highlights, and the search text used to generate them?15:54.15 
  Then when the text is reset, you only delete the highlights if the search text is different ?15:54.34 
paulgardiner Ah. Nice idea.15:54.36 
Robin_Watts henrys: Yes, I got it.15:54.55 
henrys great and with that I'm out of here, have a good day!15:56.26 
Robin_Watts henrys: have a nice day off, and a safe flight.15:56.44 
ray_laptop it's been 4 days since my laptop last crashed (up until 10 minutes ago).15:57.42 
  henrys: just put something really controversial in the agenda and you might hear back ;-)15:58.24 
Robin_Watts ray_laptop: I'd have put the thing through a wall by now.15:58.38 
ray_laptop it does get frustrating. I have a maintenance contract on it, but IME sending something intermittent in is a waste of time. The technicians just run a standard test and then say "it passes all the tests" and send it back :-(16:00.36 
Robin_Watts So.. ensure that it will not pass the tests before you send it.16:00.59 
  ray_laptop: mains across random jumpers on the motherboard should do the trick.16:01.34 
  mvrhel_laptop: Hi.16:01.40 
mvrhel_laptop good morning Robin_Watts16:01.51 
Robin_Watts I found the "missing braces" thing.16:01.52 
mvrhel_laptop oh good16:01.58 
  I looked and looked at that thing16:02.02 
  and could not see what I was missing16:02.11 
Robin_Watts In the #define cls_initial_values, after { gx_no_color_index, gx_no_color_index }16:02.24 
  you have {0 , 0}16:02.30 
  where that is supposed to be an array of 2 device colors.16:02.51 
  device colors are structures, that start with a pointer.16:03.03 
  So you want something like { {NULL}, {NULL} }16:03.19 
mvrhel_laptop ah yes16:03.29 
  ok. thanks16:03.35 
Robin_Watts I can reproduce the first SEGV here too.16:03.46 
  but I am still looking for what causes it.16:03.53 
marcosw are we meeting today?16:04.00 
Robin_Watts (It's within tile_by_steps inside the clist stuff, doing a clip_copy_planes)16:04.20 
  marcosw: Nope.16:04.23 
marcosw :-(16:04.32 
Robin_Watts marcosw: Would you like a meeting?16:04.43 
mvrhel_laptop ok. unfortunately, the rendering issue I am looking at is a strange one with the pdf14 pop device compositor action not making it during the clist playback16:04.44 
  it is getting put in but I never see it during playback and so we end up with a white page16:05.05 
  I can't understand how my changes could affect this16:05.19 
marcosw no, but I was actually on time for once.16:05.27 
Robin_Watts marcosw: ha!16:05.36 
paulgardiner Robin_Watts: Yep that worked thanks. I've pushed a final version to casper16:08.18 
Robin_Watts Fab.16:08.26 
  mvrhel_laptop: So the problem with this SEGV looks to be that in tile_by_steps/tile_colored_fill I have a tile that is 477x197 and 1 plane deep. (But with a raster of 1908, which is consistent with 32bits of data per pixel)16:11.17 
  and by the time it gets to mem_planar_copy_planes, we're trying to copy 4 planes of data.16:11.36 
mvrhel_laptop oh16:11.37 
  is there transparency in this file?16:12.02 
  Robin_Watts: I am wondering if the pdf14 device is doing some of its changing color spaces and causing issues16:12.33 
Robin_Watts how would I know?16:12.40 
mvrhel_laptop hehe16:12.42 
ray_laptop marcosw: hard to be late for a meeting that isn't happening ;-)16:12.44 
mvrhel_laptop run with -Zv16:12.57 
  which file is this?16:13.13 
Robin_Watts I've got it stopped in the debugger. Can I look for a particular device?16:13.15 
  tests/pdf/Bug6901014_org_chromium_ANn03F.pdf.psdcmyk.300.116:13.25 
mvrhel_laptop look at the target device?16:13.34 
Robin_Watts I can't see pdf14 anywhere in the stack'o'devices16:14.13 
mvrhel_laptop ok16:14.16 
  that is odd then16:14.21 
ray_laptop the raster is calculated from the color_info, right ?16:14.26 
mvrhel_laptop is it a pattern mask?16:14.32 
ray_laptop Robin_Watts: what device is on top ?16:14.42 
mvrhel_laptop oh this file has no transparency16:15.20 
ray_laptop steps out to let just mvrhel_laptop ask the questions (sorry)16:15.34 
Robin_Watts http://pastebin.ca/2139783 call stack, in case that helps.16:16.27 
  oh, I see tile_by_steps in the callstack twice. That's always a sign of insanity.16:18.34 
mvrhel_laptop hmm. is the pattern a clister if you want to pass on this one that is fine. After I track down this missing pdf14pop device issue I will focus on this issue. It is 16:20.47 
Robin_Watts mvrhel_laptop: I'll prod at it for a few minutes more, but then I'll park it and look at the next.16:21.22 
mvrhel_laptop ok thanks16:21.32 
  is the pattern a clist?16:21.42 
Robin_Watts No one has ever in the history of the world needed a cup of tea as much as I do now. brb.16:21.54 
  yes.16:21.55 
mvrhel_laptop :)16:23.23 
  It would be interesting to compare this one to the trunk at this same break point16:23.48 
  now back to my missing pdf14 pop 16:24.07 
Robin_Watts tor8: paulgardiner just rang to say he didn't put the hidekeyboard() call in, and he's now cooking.16:34.08 
  I'll take care of that if you want.16:34.22 
  Done, and both commits pushed to master.16:44.45 
  Seem to work fine here.16:44.51 
mvrhel_laptop ray_laptop: did you push your changes to the soft mask size ?16:45.20 
  I can look at the logs...16:46.43 
ray_laptop mvrhel_laptop: I thought I had, but I only see it locally16:46.46 
mvrhel_laptop ok16:46.58 
  I guess I need to compare this thing to the trunk16:47.50 
  very weird. in the first band, its last compositor action is a soft mask push16:48.31 
  and then we move on to the next band with a pdf14 device push16:48.49 
  oh unless this is a pattern16:48.53 
  hmm16:49.25 
ray_laptop mvrhel_laptop: should I go ahead and push the (one line) change ?16:49.44 
mvrhel_laptop ray_laptop: if you can hold off I would appreciate. 16:50.02 
ray_laptop - if ( pdf14pct->params.GrayBackground == 1.0 ) {16:50.24 
  + if ( pdf14pct->params.GrayBackground == 1.0 || pdf14pct->params.mask_is_image) {16:50.25 
mvrhel_laptop I am right in the middle of this compositor queue stuff.16:50.26 
  and trying to compare my stuff to the trunk16:50.37 
ray_laptop mvrhel_laptop: no problem -- I have it safely on a branch16:50.39 
mvrhel_laptop thanks16:50.43 
ray_laptop mvrhel_laptop: when I ran cluster on it the frist time there were 7 diffs, then I (by mistake) ran it again with bmpcmp. The second run showed only 4 diffs and bmpcmp showed 'no differences'. Strange16:51.52 
Robin_Watts I cannot explain why sometimes the cluster detects differences and yet bmpcmp finds none :(16:52.40 
mvrhel_laptop header diffs?16:53.08 
  although not in ppm16:53.42 
ray_laptop Robin_Watts: how about the 7 diffs, then 4 diffs (with no diffs in common) on cluster runs about 1 hour apart. 16:53.50 
Robin_Watts indeterminisms?16:54.13 
ray_laptop Robin_Watts: that is a rhetorical question16:54.22 
Robin_Watts mvrhel_laptop: Next one is easier to understand - overprint_device has no copy_planes proc entry :)16:59.24 
mvrhel_laptop aha16:59.39 
Robin_Watts copy_color and copy_alpha seem to be defaults for the overprint_device. So presumably copy_planes should be too ?17:00.41 
mvrhel_laptop if that is true, then yes. If you want to add that in, that would be fine17:01.05 
tor8 Robin_Watts: anything else before I tag 1.0?17:05.27 
Robin_Watts tor8: To the best of my knowledge, no.17:05.45 
tor8 Robin_Watts: okay. 1.0 tagged, compiled, uploaded and announced on the news page.17:22.03 
Robin_Watts tor8: Wow, that was fast.17:22.16 
  Have you done the android build too? and ios builds?17:22.32 
  I'm assuming you didn't upx the windows binaries then, cos that takes a while :)17:22.51 
tor8 not ios, that'll have to wait. I may do that on the trip to london.17:23.00 
  no, I don't really see the point of upx:ing it. just going to slow down startup times.17:23.15 
Robin_Watts Fair enough.17:23.32 
  tor8: When do you arrive in London ?17:25.09 
  Copyright statement on mupdf.com should probably say 2006-2012 now.17:26.25 
tor8 Robin_Watts: 17:25 at T517:26.36 
Robin_Watts I'll be getting to the hotel probably around the same time as you then.17:28.26 
tor8 shall we meet up and head out for dinner?17:28.56 
Robin_Watts yeah, not sure where there is to eat, but I'm sure we can find something. I'll have the car.17:29.16 
tor8 Robin_Watts: copyright statements amended, thanks for pointing them out17:31.02 
Robin_Watts np.17:31.14 
paulgardiner tor8, Robin_Watts: nothing else disasterous showed up with the android app?17:49.59 
Robin_Watts paulgardiner: Don't think so. I hope not now :)17:50.15 
paulgardiner Ah. You've tagged. Woo hoo!17:50.50 
tor8 \o/ but with my luck disaster will strike soon!17:51.18 
Leper so I just installed mupdf 1.0 on my kindle fire; so far so good, but I do have a question about mupdf on android in general... are the menu and search android buttons supposed to work?18:03.52 
Robin_Watts No.18:04.17 
Leper any particular reason? it'd be sorta nice if they did, even if they were redundant to the app buttons18:04.49 
Robin_Watts (Why do people come up with these obvious suggestions seconds after the release? :/ )18:05.02 
  It would indeed be nice.18:05.24 
Leper heh, sorry, I actually didn't even realize you guys were releasing today, I just totally happened to stumble on it by accident18:05.32 
  anyway, the important thing is that it works, and actually has the menu/link index18:06.41 
  I sorta wish the landscape mode would automatically fit-to-width... but that's probably more a matter of taste18:07.33 
Robin_Watts mvrhel_laptop: I pushed a fix for the overprint not having copy_planes18:09.33 
  The next SEGV is down to pinst == NULL in gx_pattern_load18:10.00 
mvrhel_laptop hmm. I have seen that one before18:10.20 
  this compositor queue issue is weird18:10.38 
  comparing now step by step to the trunk for the first band. first band queue ends in the middle of soft mask18:11.05 
Robin_Watts I'm gonna skip this one.18:11.41 
mvrhel_laptop Robin_Watts: ok thanks18:12.03 
  ugh. I am thinking I must be corrupting the clist some how18:12.32 
  this is going to boil down to looking at the clist memory buffer as it is written18:13.20 
  basically need to look for an end mask compositor action getting corrupted 18:14.57 
  and this file seems to have a load of soft masks18:15.10 
Robin_Watts mvrhel_laptop: Dumb question, but can you cut the file down to something smaller and still have it crash ?18:16.26 
mvrhel_laptop I should try that. I wish it were a crash. It runs along and I get nothing rendered due to the fact that it never receives a pop for the pdf14 device18:17.28 
  however the compositor queue fails way before that18:17.41 
  during the reading it is missing a bunch of stuff.18:18.01 
marcosw mvrhel_laptop: you might want to pack an umbrella, we have thunderstorms predicted for tomorrow18:18.10 
sebras 1.0! yey! :) 18:18.13 
mvrhel_laptop marcosw: I dont own an umbrella18:18.27 
  we don't use them here18:18.38 
  that is how we tell who is a tourist18:18.49 
sebras btw I remember pointing out to tor8 that the menu button didn't do anything last night... ;)18:18.51 
marcosw unusual, considering where you live :-)18:18.53 
  just jackets with rain hoods?18:19.02 
mvrhel_laptop yes18:19.07 
  ok. so I probably need to focus on the new clist commands that I added 18:19.56 
Robin_Watts The next one is the same issue as the first one (tile with 1 plane and 32bits rather than 4 planes of 8 bits)18:22.32 
ray_laptop Robin_Watts: did you see the files from Tsutomu-san (and the second email with the .zip password) ? The 100 page job is just the same (JEITA J6) page over and over again. It uses two Japanese fonts (not embedded)18:31.40 
Robin_Watts I did, but I haven't looked yet.18:32.37 
ray_laptop Robin_Watts: np. I did some looking into them and am replying. I am curious as to what timings you will see on your ARM.18:33.41 
mvrhel_laptop aha!. caught the sucker18:33.41 
ray_laptop hopes it wasn't something bonehead I did18:34.03 
mvrhel_laptop hmm. hold on18:34.44 
  ray_laptop: where is a breakpoint that I can set, where the clist writing buffer is emptied. I want to make sure I am not just stumbling upon a case where it is getting flushed and refilled18:36.19 
ray_laptop mvrhel_laptop: sorry -- I was finishing an email18:49.54 
mvrhel_laptop no worries. now I think my earlier excitement was not justified18:50.29 
  it seems to be writing the clist compsitor action in just fine18:50.50 
ray_laptop mvrhel_laptop: do you want the place where the 'final' writing happens ? clist_close_writer_and_init_reader18:51.02 
mvrhel_laptop well, when does it flush and reuse the clist writing buffer? Isnt if filled at some point during writing, and the written out to disk?18:51.40 
  and the buffer is reused for additional stuff?18:51.49 
  still in the writing stage?18:52.01 
ray_laptop when the buffer is filled, it calls cmd_write_buffer in bxclutil.c18:52.15 
  s/bxgx/18:52.27 
  gxclutil.c (can't type today)18:52.41 
mvrhel_laptop ok great18:52.54 
  ok. so the writing phase is fine18:53.16 
  it was during the reuse of the buffer that the memory was changing.18:53.34 
  so, things *must* be going wrong during the reading phase18:53.50 
  need to catch it at that end.18:54.03 
  unfortunately, need to go grab some lunch and then get ready for my trip18:54.30 
ray_laptop mvrhel_laptop: OK. Just call if you want to talk about any of it. Have a good trip.18:54.59 
mvrhel_laptop ok. thanks18:55.05 
ray_laptop Robin_Watts: let me know if you have any ideas after you see my email response to Tsutomo-san18:56.14 
  (for the logs) mvrhel is probably getting messed up by the compositor queue not being processed correctly (but that's just a random guess)20:04.42 
  another possibility is that the compositor command is not getting written to the enough bands due to a bbox issue20:07.01 
Robin_Watts ray_laptop: Right. I got back into my beagleboard.20:18.25 
ray_laptop ii.e., if we write the 'push_device' to more bands than we write the 'pop_device' to.20:18.26 
Robin_Watts and I ran the larger of those PS files through the pspcl6 exe I had on it.20:18.40 
  I only have a limited subset of devices on that build.20:19.11 
ray_laptop Robin_Watts: I don't suppose you have those particular CIDFonts laying around, do you (Ryumin-Light and GothicBBB-Medium) 20:19.18 
Robin_Watts I do not knowingly have any cidfonts20:19.30 
  but... the startup time should be the same regardless, right?20:19.55 
  % Outputpage start time = 1.01544, memory allocated = 3691864, used = 358546620:20.51 
  % done : time = 1, pages = 120:20.53 
  % Outputpage end time = 1.01608, memory allocated = 3691864, used = 358546620:20.54 
  % Outputpage start time = 1.12222, memory allocated = 3829316, used = 373265020:20.57 
  %%[ PrinterError: font not found ]%%20:20.58 
  % done : time = 1.1, pages = 220:21.00 
  % Outputpage end time = 1.12265, memory allocated = 3829316, used = 373265020:21.01 
ray_laptop Robin_Watts: without the cidfmap and a substitute CIDFont you will just get one page. Yes the init time is the same, but the font loading time and processing time to render the first page won't correspond to the J6 page20:22.51 
  Robin_Watts: what is you 'Start time'20:23.14 
Robin_Watts ?20:23.29 
ray_laptop that is the time for initialization prior to any processing of the input file (or error page)20:23.51 
Robin_Watts I ran with -Z: and what you see there are the only outputs I got20:24.09 
ray_laptop Robin_Watts: you should see a line before the first Outputpage start time that looks like: % Start time = 0.082, memory allocated = 1553816, used = 139942620:24.49 
Robin_Watts Nope.20:25.16 
  but maybe that's because I'm using pspcl6 ?20:25.24 
  Let me try and build a vanilla gs.20:25.30 
ray_laptop Oh. You need to use ghostscript20:25.39 
  the init time for pspcl6 will be different anyway (slower because it also starts PJL and PCL)20:27.09 
ray_laptop builds release pspcl6.exe to see what I get for -Z:20:30.14 
  Robin_Watts: the print_resource_usage for the 'Start time' is in gs_main_init2 which _should_ be called with pspcl6. Unless the gs_debug_c flag isn't set yet 20:31.58 
  if we are initializing the parser before the gs_debug flags are set, then there will be options that don't work correctly 20:33.15 
  Robin_Watts: you should have the msmincho.ttc and msgothic.ttc in your /Windows/Fonts directory20:34.37 
Robin_Watts ray_laptop: I may do, but I don't have a clue what to do with them.20:38.53 
ray_laptop Robin_Watts: put them into your CIDFont directory and mkromfs should pick them up. Then modify the cidfmap (in Resource/Init) and change the /Path to (%%romesource/CIDFont/msmincho.ttc) 20:40.26 
  darn that is supposed to be (%rom%Resource/CIDFont/msmincho.ttc)20:41.00 
  modifying the cidfmap lines I had in the email20:41.50 
chrisl_r61 Robin_Watts, ray_laptop: remember we build in a TTF suitable for CID substitution now.20:43.55 
ray_laptop chrisl: really ? how come I still get the error unless I do the explicit cidfmap ?20:46.35 
  if it is droidsansfallback, where is it (not in my tree)20:47.11 
chrisl_r61 ray_laptop: we can't automatically substitute in PS files (not enough info) but the TTF file is still in the romfs20:47.12 
ray_laptop chrisl: where is it in the sources ?20:47.33 
chrisl_r61 ray_laptop: it's in Resource/CIDFSubst20:47.33 
  So. using something like %romesource/CIDFSubst/DroidSansFallback.ttf in your cidfmap entry should use it.20:48.20 
ray_laptop chrisl: I'll try that20:48.32 
chrisl_r61 Ugh, stupid IRC - you see what I mean, though.....20:48.44 
ray_laptop but since the original file had two different CIDFonts, using the same font for both would make the timings different (one less font to load)20:49.05 
  unless the customer comes back and tells us that he is using a single substitution for both20:49.34 
  chrisl: yeah, I did the same thing when I typed to Robin_Watts 20:49.56 
chrisl_r61 True, but it probably makes life *much* easier for Robin_Watts on the ARM board (using a built in font file)20:50.01 
ray_laptop building with the ms*.ttc files in the Resource/CIDFont (or Resource/CIDFSubst) directory shouldn't be that hard20:51.12 
chrisl_r61 ray_laptop: actually, I'm not sure it will affect the timings - we have to "create" a CIDFont to use, which is different for each substitution.20:51.42 
ray_laptop chrisl: it depends on where the time is being spent20:52.30 
chrisl_r61 The point is, I think we're still effectively loading two fonts, even though we'd happen to be substituting the same TTF twice.20:53.29 
ray_laptop chrisl: I see. point taken. But droidsansfallback probably has a LOT more glyphs than msmincho or msgothic20:54.23 
  since it encompasses a larger language set20:54.39 
chrisl_r61 Well, it's up to Robin_Watts how much trouble he wants to go to.20:55.45 
Robin_Watts OK, I've just got gs built I hope.20:56.33 
ray_laptop I'm pretty sure the "real" Ryumin-Light and GothicBBB are Morisawa 20:57.18 
  Robin_Watts: with what for the Asian fonts ?20:57.43 
Robin_Watts Damn.20:57.52 
  No, I'm just trying to build the latest gs for the beagleboard.20:58.12 
  but the cross compilation didn't work :(20:58.36 
ray_laptop Robin_Watts: OK -- so you can try the cidfmap that chrisl mentioned that points the /Path to (%rom%Resource/CIDFSubst/DroidSansFallback.ttf)20:59.21 
Robin_Watts ray_laptop: Will do.20:59.53 
ray_laptop Robin_Watts: Note that if it isn't a ttc (collection) you need to remove the SubfontId 121:00.15 
chrisl_r61 Robin_Watts: we haven't changed much with the build since you last built for the BB, have we?21:00.32 
  DroidSansFallback isn't a ttc, just a ttf21:00.53 
Robin_Watts chrisl_r61: Probably not.21:00.56 
chrisl_r61 Robin_Watts: I'm just trying to think if I've done anything to break it.....21:01.21 
ray_laptop which is why I mentioned removing the "SubfontID 1"21:01.53 
Robin_Watts chrisl_r61: No, it was my own stupid fault.21:01.56 
ray_laptop goes to try the DroidSansFallback21:02.18 
  Thiis worked for me:21:05.53 
  Ryumin-Light << /FileType /TrueType /Path (%romesource/CIDFSubst/DroidSansFallback.ttf) /CSI [(Japan1) 2] >> ;21:05.56 
  /GothicBBB-Medium << /FileType /TrueType /Path (%romesource/CIDFSubst/DroidSansFallback.ttf) /CSI [(Japan1) 2] >> ;21:05.57 
  oops:21:06.23 
  Ryumin-Light << /FileType /TrueType /Path (%rom%Resource/CIDFSubst/DroidSansFallback.ttf) /CSI [(Japan1) 2] >> ;21:06.24 
  /GothicBBB-Medium << /FileType /TrueType /Path (%rom%Resource/CIDFSubst/DroidSansFallback.ttf) /CSI [(Japan1) 2] >> ;21:06.26 
chrisl_r61 ray_laptop: how do you get IRC to not swallow the per cent stuff?21:07.04 
ray_laptop chrsl: to have it show as %R your need to type % % R (no spaces)21:08.37 
chrisl_r61 Oh, thanks - will try to remember that.....21:08.59 
Gigs- Does tiffsep support more than 8 colors now?21:09.27 
ray_laptop the magic chatzilla codes following a % are U B R O and C21:09.40 
  Gigs: it has for a while (with the 'compressed color encoding') which is in the default build. With mvrhel's changes, it will do it faster and better (no funky color encoding)21:10.48 
Gigs- I was using SeparationOrder with multiple passes and recently upgraded to 921:11.15 
ray_laptop Gigs: but mvrhel's changes aren't posted anywhere yet21:11.28 
Gigs- well I'm OK with slower21:11.43 
  the new behavior has caused a regression with my scripts21:12.06 
  I'm not sure exactly what the problem is yet21:12.17 
ray_laptop Gigs: the problem with compressed color encoding is that you can get a 'rangecheck in showpage' if there are more colors altogether than we can smash into a 64-bit value.21:12.33 
Gigs- how many bits does each color take?21:13.01 
ray_laptop Gigs: with compressed color encoding, it is hard to say.21:13.40 
Gigs- what exactly are you encoding?21:13.48 
ray_laptop there are 8-bits of color for CMYK and the spot colors, but the encoding gets clever and includes some mapping that doesn't put channels in that have value 0 (no ink) and also combines channels that all have the same value.21:15.23 
Gigs- so if we have 9 separations that have actual data on them then it will still require mult-pass21:16.24 
ray_laptop Gigs: no. we have people that have done 252 spot color pantone color sheets (all on a single page) in a single pass21:17.20 
Gigs- we never have more than maybe 1021:18.57 
ray_laptop Gigs: see the comment in base/gdecdevn.c before the function devn_encode_compressed_color21:19.01 
  Gigs: but that will all be going away once Michael Vrhel finishes his "planar spot color' modifications (probably this week)21:19.44 
  Gigs: and then we will be able to do any number of spot colors in any number of combinations (up to the compile time limit set by base/gsccolor.h:# define GS_CLIENT_COLOR_MAX_COMPONENTS 21:21.26 
Gigs- well let me tell you what I'm doing now and what I'm seeing21:21.37 
ray_laptop (current default in the build is 14, but we may change that)21:21.44 
Gigs- I suppress any colorant named "Varnish" or "Die" and build a composite21:22.06 
  then I get the list of colorant names and do multiple passes with separationorder21:22.31 
  for some reason Varnish is coming up blank in the separated output now21:22.46 
  it's probably technically a bug in my scripts somewhere but it worked before (tm)21:23.01 
ray_laptop Gigs: that works fine for everything but the CMYK planes. The problem is that overprint won't be correct if a separation is being ignored (AIUI)21:23.43 
  and the CMYK composite won't be correct unless it has all of the separations.21:24.13 
  but with compressed color encoding, giving it more than 8 colors in the SeparationOrder list should be fine (with 9.05) unless we encounter the problem of colors that we can't encode21:25.27 
Gigs- why would the overprint need separations not involved in the said overprinting21:26.21 
ray_laptop and it is very rare to find files that have color combinations that are too comlex. Transparency is usually the "gotcha"21:26.29 
Gigs- well let me back up, our "Varnish" and "Die" separations are not even really part of the image21:26.59 
  they are really metadata that probably shouldn't be in the file in the first place21:27.14 
ray_laptop Gigs: if overprint is false, then drawing to a separation is supposed to erase other channels/colorants (depending on PDF OverprintMode (OM))21:27.48 
  there is one overprintMode that causes channels that have value == 0.0 to be left unchanged rather than erased.21:29.26 
Gigs- well let me take out the multipass code and see if my issue goes away21:31.08 
ray_laptop oops that is "OPM" (not OM) in PDF's Graphics State parameter if OPM == 1 then tint values of 0.0 are ignores21:35.12 
  Gigs: sometimes creators have a full page rectangle fill with the "Varnish" color and don't have a valid tint transform and it makes everything black in the composite CMYK, or sometimes they don't have /OP true or /OPM in the graphics state and that can end up erasing everything else21:39.45 
Gigs- yeah it's almost always the case21:40.06 
  which is why I need to suppress it21:40.10 
  for the full color composite21:40.34 
  but then I have to go back and render it alone21:40.39 
  for the separated output21:40.47 
  I think that may be what happened21:41.54 
ray_laptop Gigs: rather than do that, if you have a specific set of names you want to handle a certain way, it would be easier to modify the PDF interpreter21:42.00 
Gigs- I think it used to not even produce files for colorants missing in separationorder, and now it does produce blank ones21:42.23 
  I think that's what causing my bug21:42.37 
  I can work around that though21:42.48 
ray_laptop if the separation name is (Varnish) then use a forced harmless tinit transform and make sure that OPM is 121:43.01 
Gigs- I try to avoid maintaining patches for ghostscript21:43.35 
ray_laptop I have to pick my son up from school. bbiaw.21:45.18 
Gigs- thanks21:45.23 
  http://pastebin.ca/213989421:59.57 
  this produces a very large and very blank file named 32058-buildtiffs_3 and no .s0.tif or any separation22:00.49 
Robin_Watts ray_laptop: For the logs. I got new gs building for the beagleboard. % Start time = 0.328918, memory allocated = 2872168, used = 269499523:01.13 
  That's vanilla gs. I'll try updating the cid stuff tomorrow.23:01.34 
  In fact I've done the cidfont stuff now (falling back to droidsans).23:06.19 
  % Start time = 0.327757, memory allocated = 2852072, used = 268967023:06.32 
  % Outputpage start time = 2.88888, memory allocated = 7040248, used = 667653223:07.05 
  % Outputpage end time = 2.88956, memory allocated = 7040248, used = 667653223:07.07 
  % Final time = 12.6037, memory allocated = 6861316, used = 636652723:07.20 
  That's for: ./gs -Z: -o /dev/null -sDEVICE=ppmraw J6_100P_FontDev_Auto.ps23:07.50 
 Forward 1 day (to 2012/04/25)>>> 
ghostscript.com
Search: