IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2013/03/22)2013/03/23 
Robin_Watts marcosw: You here?00:19.18 
marcosw Robin_Watts: yup.00:21.09 
Robin_Watts I've been looking into some mupdf indetermisms on the cluster.00:21.29 
  it seems that xeon and macpro in particular give slightly different fp results.00:21.43 
marcosw I read a bit of the discussion. 00:22.13 
Robin_Watts I've tracked down one place where it happens. It seems that: a+(b-a)*x can evaluate to different things in different places.00:22.17 
  but it basically seems to be how the compiler optimises stuff - probably the order of operations etc.00:22.35 
  I guess gs must use less fp :(00:22.58 
  I'm not sure I see any easy route around this.00:23.20 
marcosw we could eliminate the two macpros from the cluster when running mupdf regressions. they run so quickly it's not going to matter much.00:28.02 
Robin_Watts Is xeon a macpro?00:28.15 
marcosw yes.00:28.31 
Robin_Watts That would, I think give us consistency at least.00:28.38 
marcosw I though the the differences were the 32 vs 64 bit binaries.00:29.06 
  but that was just a guess...00:29.24 
Robin_Watts When I was thinking about adding a windows cluster node, I pondered about having the clients send a set of capabilities.00:29.41 
  and then having the cluster take note of those capabilities.00:29.55 
  but it never got further than idle thought.00:30.12 
  I've worked around one of the FP differences, but there is still at least one more in the same page of the same file.00:30.54 
marcosw that's one solution, I think it's easier to just maintain a file on casper that lists the capabilities of each machine. E.g. some nodes can't do 32 bit compiles, others don't run valgrind, ...00:31.30 
Robin_Watts and when I found another one in freetype, I just gave up - I can't see us bending freetype to make it work.00:31.32 
marcosw if there is an issue with free type why doesn't it affect GHostscript?00:32.08 
Robin_Watts marcosw: The advantage of having the nodes send the capabilities is that they can autodetect some of them (so if the version of gcc changes, or valgrind gets installed etc).00:32.11 
  marcosw: I don't know.00:32.22 
  Possibly gs extracts outlines and scales them itself?00:32.34 
  wheras freetype gets bitmaps back?00:32.42 
  s/freetype/mupdf/00:32.51 
marcosw right, I didn't realize that gs and mu were that different in how they call free type. 00:33.23 
Robin_Watts There are definite differences - I don't claim to be an expert on them, as tor has done all that.00:34.04 
marcosw the problem with having each nodes declare the capabilities is that we don't want some nodes running some tests even if they have the capability, i.e. Henry's MacPro has valgrind installed on it but he said not to use it. I'm not sure why, perhaps it's an old version. So we have to have an exception list. Also I don't see how we'd have the machines decide if they were capable of correctly performing floating point :-)00:36.39 
Robin_Watts marcosw: We'd key on the version of gcc, I suspect.00:40.23 
  One capability could be "IS_ALLOWED_TO_RUN_MUPDF_TESTS"00:40.49 
  hence no exception list required.00:41.08 
marcosw I'm still not sure why the mac's wouldn't report "IS_ALLOWED_TO_RUN_MUPDF_TESTS". They run the tests just fine, it's the other nodes that are wrong :-)00:43.07 
  okay, i've put macpro and xeon into the exclude list for mupdf and mujstest. It should work for clusterpush and commit tests (I've obviously only tested the clusterpush case).00:57.48 
  Robin_Watts: ^^^00:57.53 
henrys hi mvrhel_laptop14:53.21 
  my nephew is just getting ready to compete: http://www.coderedrobotics.com/webcast/West-Michigan-FIRST-Robotics-District-Competition/14:55.30 
atmos4 hi15:15.42 
  I've got a pdf file that is insanely slow to process on the server, taking more than 60 minutes to extract 15 pages to jpeg, while locally it takes only 30 seconds. The server was running debian squeeze gs 8.71 but has since been upgraded to the latest build from unstable (9.05-7). Local version is 9.06 on Mac OS X.15:18.16 
  Still the problem persist on the server, so how can I debug what exactly is causing the slowdown?15:18.36 
  I know that debian replaces most of the built-in shared libraries with system provided copies, so that could be a problem.15:19.18 
  the pdf contains just images in 16-bit/channel.15:19.36 
  hmm, just downloaded a linux binary and it's fast15:26.02 
  guess I'll try building the debian package with 9.0715:26.21 
mvrhel_laptop morning henrys15:51.20 
  cool 15:51.35 
henrys he's won 2 matches so far15:51.50 
mvrhel_laptop they are having a competition here in seattle this weekend15:51.57 
  that looks like fun 15:52.09 
henrys atmos4:without admin access to the server I am not sure how to debug cups16:04.06 
atmos4 henrys: why cups?16:04.34 
henrys atmos4:oh I thought it was a print system16:04.42 
  what does the server do?16:04.48 
atmos4 no it's extracting jpegs from a pdf16:04.54 
henrys our software does not extract jpegs it renders pdf to jpeg and other formats.16:05.33 
atmos4 yeah, but you get the point =)16:06.08 
henrys do you have the command line option gs is using on the server/16:06.48 
  ?16:06.50 
atmos4 normally it splits the pdf to single pages, but for now I'm trying the simplest case16:06.52 
  gs -dNOPAUSE -sDEVICE=jpeg -sOutputFile="tmp/page-%d.jpg" slow.pdf -c quit16:07.28 
  that's the command I'm testing with that is enough to reproduce the behaviour16:08.08 
henrys if you change the device to ppmraw is the slowdown apparent?16:16.06 
atmos4 henrys: yes, that makes no difference16:21.14 
  if I run strace I just see endless read/lseek with a constant blocksize of 8k16:22.54 
henrys yup that is what I was going to suggest next or maybe oprofile16:23.41 
atmos4 henrys: I could send you a link to the problematic file16:28.50 
henrys atmos4:only happens with that file?16:29.49 
atmos4 that's the one I copied when the background queue was choking on it16:30.29 
  but it happened a day before aswell, so I guess it was neither the first nor will it be the last problematic file16:30.55 
  the app allows users to uplaod pdfs files, which will then be split into single pages in a background queue, which also creates thumbnails16:31.34 
henrys atmos4:what app is this?16:31.53 
atmos4 oh it's a web application that handles processing of orders for a customer16:32.32 
henrys atmos4:which one?16:33.19 
atmos4 oh, it's custom built for our customer, it's built on top of ruby on rails, but you'll need a login to access it16:34.09 
  it uses a combination of direct gs and graphicsmagick calls to do the processing and does that in a background queue, so the frontend doesn't block16:35.16 
  given that they are working with contractors all over the country, we don't have control over the format or app that generates the pdfs16:37.13 
henrys atmos4:this is all beginning to sound a little commercial to me. You could pursue a support contract with scott.sackett@artifex.com and then we can help you.16:38.48 
atmos4 henrys: oh it is definitly commercial16:39.19 
  I was just looking for some general debugging guidelines16:39.49 
  I know that I can solve it by using some newer build of ghostscript, but I was interested to find out what's actually triggering the problem16:40.34 
henrys We've switched to the Affero GPL license as long as you comply with that, yes.16:42.24 
  maybe some weird library did you "ldd" each gs?16:44.44 
atmos4 henrys: given that I'm calling the gs binary and not modifying it's source I wouldn't know how the license would affect me16:45.06 
Robin_Watts atmos4: You're fine then.16:45.40 
henrys atmos4:you said you were calling it "directly" and I wasn't sure what that meant. but yes you are fine16:46.15 
atmos4 henrys: directly as in not through graphicsmagick16:46.32 
  becuase graphcism,agickl/imagemagick do some very inefficient thinks when working with pdfs16:46.53 
  things16:46.56 
Robin_Watts Frankly though, it still sounds like you're making money out of it; being a 'good citizen' and taking a support contract out would help to "put something back" as it were.16:47.24 
henrys atmos4:nonetheless you are a commercial operation and we'd prefer you get a support contract if you want us to help you.16:47.33 
atmos4 I usually contribute back by providing patches/pull requests for new features or bugfixes16:48.16 
  so I consider myself a good citizen when it comes to working with open source software16:48.30 
  I do realize that I have no right whatsoever on getting support16:48.51 
henrys mvhrel_laptop:my nephew made it to the next level, I am still trying to sort out the scoring and rules16:49.20 
  or mvrhel_laptop even.16:52.34 
mvrhel_laptop cool16:53.31 
henrys we're supposed to get 14" of snow here, close to 8 now.16:58.46 
atmos4 henrys: where are you located?16:59.46 
henrys colorado16:59.57 
Robin_Watts We have 6 inches here.17:00.13 
henrys Robin_Watts: that's odd this time of year, no?17:00.35 
atmos4 I'd be happy if it finally stopped snowing and the spring would begin =)17:01.15 
henrys atmos4:where are you?17:01.37 
atmos4 germany17:01.43 
Robin_Watts henrys: yeah, late for us.17:01.47 
  atmos4: Ah. I'm in the UK.17:02.11 
atmos4 there's usually enough snow to be annoying and too little to be fun =)17:02.24 
  hmm, I wish debians package format was as lightweight as homebrew on the mac. I wonder why they have thee sets of checksums of all the files17:03.49 
  even with crc32 it should be impossible to have a mismatch, but they have sha1, sha256 and md517:04.11 
  in homebrew all you need to do for a new version is change the source url and update the checksums17:05.39 
  maybe update the version number if it uses some crazy format17:06.08 
  Robin_Watts: do you still have snow in the UK? wheather can't be much warmer than here unless you're at the coast17:07.59 
chrisl_away atmos4: just a thought: does the problem file have JPX encoded image date in it?17:25.36 
atmos4 chrisl_away: what's the quickest way to find that out?17:26.48 
chrisl_away atmos4: maybe grep it for JPX - let me check.....17:27.31 
atmos4 I have acrobat if that helps17:27.46 
chrisl_away Reader or Pro?17:28.07 
atmos4 pro17:28.12 
chrisl_away okay, the examples I've got here, I can just grep for "JPX"17:28.31 
atmos4 I'll check that17:28.42 
  yes, it has JPX images17:29.06 
  ran strings example.pdf |grep -i jpx17:29.17 
henrys chrisl_away:jasper vs openjpeg?17:29.44 
chrisl_away henrys: that's what I'm thinking17:29.52 
atmos4 that could be the case17:29.59 
henrys ldd would say17:30.02 
atmos4 debian uses an ancient version of libjasper17:30.08 
chrisl_away there are only ancient versions of libjasper......17:30.25 
  It hasn't been maintained in quite a long time17:30.38 
atmos4 and I know that they rip out the version that comes with gs17:30.40 
  libjasper.so.1 => /usr/lib/libjasper.so.117:31.16 
  it's version 1.917:31.35 
chrisl_away gs now ships with OpenJPEG because JasPer was massively slow, used *huge* amounts of memory, and had some nasty security problems - I'd lay money that's where the problem is17:31.38 
atmos4 chrisl_away: thank's I'll try to modify the deb package to build with openjpeg instead17:32.05 
chrisl_away atmos4: you can't use libopenjpeg on the debian system - we had to patch the API to get what we needed out of it17:32.43 
  atmos4: you should just build with the gs packaged openjpeg17:33.09 
atmos4 chrisl_away: hmm, doesn't gs come with it's own version?17:33.12 
chrisl_away atmos4: see above :-)17:33.20 
atmos4 ah ok =)17:33.33 
  sorry17:33.36 
chrisl_away atmos4: what I meant was: don't try to link with the libopenjpeg that debian ships17:33.57 
atmos4 on squeeze that would have been ancient anyways17:34.14 
  I know why we build our newer servers on ubuntu server instead17:35.05 
chrisl_away atmos4: I think ubuntu has the same issue - they insist on shared libs (rather than the ones we ship), so they fall back to Jasper, still17:35.52 
  atmos4: FWIW, Jasper 1.900.1 is the latest release, and that came out in 2007......17:36.51 
atmos4 given that most packages are based on the debian ones that's no big surprise17:37.21 
chrisl_away atmos4: it can be a support pain for us.....17:37.48 
atmos4 yea, I can see that17:38.03 
  I remember when I set up solr on a server tow weeks ago, and it came with v1.417:38.47 
  where at 4.2 currently17:38.54 
  I ended up just dumping the newest release into /opt17:39.14 
  which is fine with java apps, cause they have very little dependencies17:39.39 
chrisl_away By their nature, that should be true!17:40.26 
atmos4 but most of the time I go with the distribution provided apps, cause it can quickly turn into admin hell, if you use custom built binaries all over the place17:40.33 
  besided the fact that you loose distribution provided security fixes17:41.10 
chrisl_away That is true - the new OpenJPEG 2.x, we think, has all the APIs in place for us, unfortunately, it has other problems. If we/they can get those resolved, we might end up being able to use a released OpenJPEG library.17:42.27 
atmos4 just checked, the current ubuntu server gs is also built against jasper17:42.36 
chrisl_away Yep, so I see :-(17:43.35 
atmos4 that however means that I can just rebuilt the package for ubuntu if I run into problems17:43.46 
chrisl_away I guess the thing is, JPX is still a *very* rare beast, so there isn't much impetus to sort this out17:44.33 
atmos4 not rare enough to not cause trouble =)17:45.08 
  I think I had another problem with gs once and it turned out to also be causes by jasper17:45.32 
chrisl_away Jasper is, and always has been, a mess. But, to be frank, JPEG2000 is also a huge, over-complicated disaster - hence the lack of widespread adoption17:46.33 
  anyway, good luck with the build - I hope I haven't sent you down a blind alley. I now intend to be, as my nick suggests, "away"........17:47.36 
atmos4 hmm, recent ubuntu does NOT remove openjpg17:48.27 
  Version: 9.06~dfsg~20120803-0ubuntu1 changelog17:48.41 
  New source tarball repackaging 17:48.49 
  - Do not remove libopenjpeg 17:48.50 
  guess I'll grab that source package17:49.03 
henrys Robin_Watts:do you use a heart rate monitor running?17:49.28 
atmos4 chrisl_away: tahnks, have fun!17:49.46 
  now rebuilding ghostscript (9.07~dfsg2-0ubuntu2) for squeeze, looks very promising17:54.38 
  ah, shiny new japer free gs =)18:13.57 
  that did the trick18:14.03 
  thank you guys!18:14.19 
Robin_Watts henrys: Yes, a garmin one with the Forerunner 310XT/19:09.56 
  atmos4: I'm as far from the coast as it's possible to be in the UK :)19:10.58 
atmos4 :-)19:11.41 
  btw. anyone has tried a build on osx with 9.07? I'm getting a strange undefined symbol error, 9.06 builds fine19:13.00 
  it can't find _cmsPluginTHR in obj/gsicc_lcms2.o19:13.52 
  oops figured that one out19:19.55 
  I was toying with lubjpeg-turbo and there was a lib that was still linked against it19:20.28 
  or not, but I guess it's because it's trying to build against system lcms219:34.46 
  yepp, switching to the builtin lcms2 fixed the build19:40.41 
 Forward 1 day (to 2013/03/24)>>> 
ghostscript.com
Search: