IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2014/02/11)2014/02/12 
henrys mvrhel_laptop: hey I cleaned out the last nasty pieces of crd code from PCL and friends, the joy of getting rid of that albatross00:01.10 
mvrhel_laptop henrys: Yes I saw that commit00:12.49 
marcosw henrys: I sent out an email letting people know the pdfs of the quality logic tests are available for download. in summary ghostdocs doesn't match word on any of the 24 files. On some we are sort of close, but on most not so much. Perhaps using the word2013 test files was a mistake.00:13.05 
henrys marcosw: ugh00:13.59 
marcosw that about sums it up.00:16.40 
  one of the files we seg fault, I'm entering a bug for that.00:16.52 
Robin_Watts henrys: Do you want to mail Marti and tell him that all the work he's done should go into mainline lcms under the standard lcms license?00:17.59 
henrys Robin_Watts: yes I will do that.00:22.53 
Robin_Watts sends reply to Miles' mail.01:03.56 
robin_watts_fone exchange being upgraded to 21cn today. my ADSL may be flaky.10:27.46 
Robin_Watts paulgardiner: I have the android thing working without needing tar now.11:22.03 
paulgardiner Ah well done. What was the problem?11:22.16 
Robin_Watts It seems that if you build without -define=EXCEL_EDITOR, it misses out something important.11:22.29 
  but somehow the linker didn't complain until I put some printfs in. Very odd.11:22.55 
paulgardiner Weird! Especially as a debug build without the memory filesystem seemed to work.11:23.24 
  I hope it isn't something random that will again come back if yet another define is added or one removed.11:24.04 
Robin_Watts indeed. Trying a release build now.11:29.34 
  release build still dies :(11:50.00 
tor8 paulgardiner: ping13:45.40 
paulgardiner tor8: hi13:46.06 
tor8 paulgardiner: so, I've hooked up libjs and got it building with stub jsimp functions and looking at implementing them13:46.27 
  it can run the code, but nothing is hooked up to the jsimp stuff13:46.42 
  and now I have a few questions for you :)13:46.54 
paulgardiner Okay13:46.59 
tor8 so first, just to make sure I don't misunderstand anything:13:47.34 
  pdf_jsimp_type is a prototype object that has the native functions on that "type" as properties13:48.14 
  and pdf_jsimp_new_obj creates a new object, with natobj as the C userdata, and the pdf_jsimp_type as the internal prototype property?13:48.48 
  the equivalent of: type = { getField: ...native c function..., resetForm: ...native c function... }13:49.36 
  and then: obj = Object.create(type)13:49.40 
  obj.userdata = natobj13:49.54 
  does that sound accurate to you?13:50.32 
paulgardiner Sort of. It is possibly more abstract than that.13:51.02 
tor8 my biggest huh moment was spotting "set_global_type" though.13:51.29 
  what does that actually do?13:51.40 
paulgardiner jsimp is partly an abstract interface via which to define the DOM13:51.43 
  You call pdf_jsimp_new_type when you have a DOM type you wish to describe. The implementor is free to create whatever is most convenient to represent it. That may possibly not involve js engine calls.13:53.02 
  The implementation just has to create something that will permit later pdf_jsimp_addmethod calls.13:53.35 
tor8 paulgardiner: right. my illustration was what it would entail if the implementation was done in javascript itself.13:53.41 
paulgardiner the javascript core and v8 implementations differ on this.13:53.53 
  Right. got you.13:54.12 
tor8 because, IIRC, javascript is free to attach any old properties you want on native host objects (but cannot access the underlying "type" object)13:54.30 
  or maybe it can, with the Object.getPrototypeOf(x) call13:54.43 
paulgardiner For v8, I believe I was able to create something in js to represent a type, but javascript core I couldn'te so I creaated a list of methods.13:55.03 
tor8 paulgardiner: anyway, my plan was to create a secret prototype object for each of the DOM types defined13:55.07 
paulgardiner tor8: that does sound like a good approach13:55.24 
tor8 and set the internal prototype of the DOM objects to the type object13:55.26 
  so then any property lookups will redirect to the DOM type object and get the native method13:55.43 
paulgardiner That is possibly the ideal way to do it13:55.48 
tor8 pdf_jsimp_set_global_type is confusing me though, how it is supposed to work13:56.47 
  I can guess that it's used to add functions and properties to the 'global' object13:57.16 
  but not how the actual JSCore or V8 implementations do it13:57.29 
paulgardiner It does define the functions and properties of the global object, but in v8 I was able to implement it without explicitly adding the functions and properties13:58.26 
tor8 Persistent<Context>::New(Context::New(NULL, vType->templ)) ... looks like greek to me :(13:58.51 
paulgardiner In javascript core too, although everything is done by look up there.13:58.53 
  Again it is intended to be an abstract way to say the global object has all the methods and properties that were perviously defined for the specified type. Any way to implement that is permitted14:01.02 
tor8 paulgardiner: right. so I can just copy the properties over to the global object and then free the original pdf_jsimp_type?14:02.09 
paulgardiner To be honest, there is a slight problem with the javascript core implementation that leads to leaks and I believe to fix it, I'd need to explicitly add the methods and properties of the type to the global obj to fix the problem14:02.28 
  tor8: the type may be used other than for the global object. In any case, I think it is the pdf_js level that has the responsibility for freeing types.14:03.24 
  but other than that yes, I'd have thought that would work.14:03.52 
  I'm wondering whether your plan would also work for v8 and jscore. Would be good to use a common mechanism.14:05.52 
  I've just checked that the pdf_js level calls pdf_jsimp_global_type only after fully defining all the types.14:07.25 
tor8 paulgardiner: right. I'll bash on this for a bit and see where I end up. then maybe you can look and see if it's a good common approach.14:08.25 
  paulgardiner: I think you could make mupdf crash spectacularly if you call a method on the wrong host object as the API is now14:14.46 
  this.getField.apply(new Object(), "foo") for instance14:15.45 
  the 'this' argument has no type checking in the methods14:16.04 
paulgardiner Ooo! Yes, possibly.14:16.07 
  The jscore imp is probably okay, but not v814:16.34 
  ... actually maybe not14:17.17 
tor8 paulgardiner: JS_TYPE_ARRAY ... is that only for objects with the internal class "Array" or all objects?15:03.26 
paulgardiner Hmmm! I think so.15:06.02 
tor8 paulgardiner: a javascript console would be nice to have now...15:23.04 
  the calculator seems to work, but it isn't calling the accessor methods :/15:24.03 
paulgardiner May be possible to create a pdf file that acts as a javascript console.15:24.30 
tor8 maybe some way to retask the search bar to act as a javascript console?15:24.55 
  on the x11/win32 app that is15:25.03 
  paulgardiner: it works!!!15:51.36 
paulgardiner Woo Hoo. Nice one tor8 15:51.51 
tor8 calc.pdf is functional :)15:52.11 
  I'm sure there are a ton of bugs in the wrappers though.15:52.18 
Robin_Watts excellent stuff.15:52.24 
  tor8: Run a mujstest and see?15:52.32 
tor8 Robin_Watts: how do I run a mujstest? :)15:52.54 
paulgardiner calc.pdf tests a good percentage of the functionality I think.15:53.07 
tor8 paulgardiner: I've made the assumption that any pdf_jsimp_from_xxx and pdf_jsimp_new_obj don't escape into mupdf though15:54.06 
paulgardiner I think the calling code is supposed to take responsibility for freeing15:55.18 
Robin_Watts tor8: How do you usually run cluster tests? git cluster ?15:55.25 
  git cluster mujstest15:55.32 
tor8 Robin_Watts: I thought if I wanted to run it manually here15:55.50 
  paulgardiner: from what I can see in pdf-js.c all the from_xxx calls are only used to return values back to javascript15:56.16 
Robin_Watts Run a cluster one, then look at the logs for the commands :)15:56.17 
tor8 Robin_Watts: that's cheating ;)15:56.28 
Robin_Watts http://ghostscript.com/regression/cgi-bin/clustermonitor.cgi?log=log&machine=angstroms&report=557ebf4323249dc80c711b286d189be39f765b39&project=mujstest15:57.03 
paulgardiner tor8: a cluster test will tell you a lot because the javascript in the test files has a big impact on the look of form fields.15:57.39 
Robin_Watts Debugging with printfs on a remote device REALLY sucks.15:58.21 
tor8 Robin_Watts: I haven't got the "git cluster" alias set up, I've been using the toolbin/localcluster perl script16:08.01 
  maybe I should upgrade?16:08.06 
Robin_Watts Then use that.16:08.14 
  just put "mujstest" on the end16:08.28 
tor8 just how big is tests_private now?16:09.09 
Robin_Watts Big.16:09.23 
  25Gig+16:09.29 
tor8 is there a checkout somewhere accessible over ssh?16:09.44 
  or is svn it?16:09.49 
Robin_Watts tor8: There is a link you can use on the dashboard.16:10.03 
  to download individual files.16:10.09 
  Or if you look at files in the logs on the web, they should appear as links.16:10.27 
tor8 Robin_Watts: I sometimes want more than just the individual files though.16:10.29 
Robin_Watts Or you can look at peeves:/home/marcos/cluster/tests_private ?16:10.47 
  Or you can svn the whole lot.16:11.00 
tor8 *sigh*16:12.20 
  looks like peeves has lost my ssh key (or well, I haven't had a reason to log on to peeves for a few years, it's probably even a new machine since last time I used it)16:12.53 
Robin_Watts tor8: same place on peeved.16:13.07 
  or any cluster machine, pretty much.16:13.14 
chrisl With svn you can grab subsets of the files/directories - hence why we kept it svn, instead of git16:13.14 
tor8 chrisl: yeah, my biggest peeve is that you can't *browse* the tests_private svn anywhere (that I know of)16:13.55 
  so it's not easy to know which subdirectories you actually want to check out16:14.11 
Robin_Watts tor8: You want a web interface? Or a command line one ?16:14.27 
tor8 Robin_Watts: in the past I've used svnadmin on the raw repository to get the directory listing... but that just feels wrong16:15.01 
chrisl It might be hard to allow a web interface and keep is secure16:15.11 
Robin_Watts chrisl: I think simple htaccess should work.16:15.32 
chrisl Robin_Watts: given what's in there, that's not hugely secure16:16.02 
tor8 Robin_Watts: I still don't have an account on peeved (and probably not peeves either, I take it)16:16.20 
Robin_Watts tor8: I added an account for you on peeved just the other day.16:16.59 
  didn't I?16:17.10 
tor8 Robin_Watts: did you add any ssh keys so I can log in?16:17.27 
  oh, you did!16:17.46 
  nvm. tried to log in from the wrong machine.16:17.52 
  Differences in 508 of 3061, that's looking somewhat hopeful :)16:24.21 
Robin_Watts That could just be a single thing wrong :)16:26.38 
paulgardiner tor8: and your implementation could be the only one getting it right.16:58.04 
Robin_Watts I found a flaw in android mupdf that was causing crashes with corrupt files or when backing out of being asked for a password.17:06.22 
kens night all17:41.50 
ray_laptop quiet today18:28.35 
  I get a heap corruption on windows with pcl doing owl :-( Checking on peeved with valgrid...18:29.53 
Robin_Watts ray_laptop: Memento show anything?18:30.14 
  Vanilla build? what command line?18:30.28 
ray_laptop Robin_Watts: I haven't done a memento yet. command line is: main/debugobj/pcl6.exe tools/owl.pcl18:33.25 
Robin_Watts building now.18:33.48 
ray_laptop I thought it was my chunk allocator patches, so I backed those out and it still failed18:34.12 
Robin_Watts paulgardiner: OK, the problem with the release build of doc2pdf seems to be in Wasp_Path_processElements.18:34.36 
  if I do a cwasp build, it works fine.18:34.44 
  I suspect there is a problem with the interworking flags.18:34.51 
ray_laptop Robin_Watts: it also fails for me with ppmraw18:35.47 
Robin_Watts I get 2 blocks leaked, but no corruption.18:38.03 
  Let me try a debug build.18:38.08 
henrys working for me okay, I used -Z@ also18:39.55 
ray_laptop Robin_Watts: I'm trying in another git tree just to make sure that I had 'master'18:40.07 
  (origin/master, that is)18:40.31 
  OK works for me in that tree. I must not have had my changes in.18:42.24 
  s/ not//18:42.39 
Robin_Watts ok.18:43.38 
ray_laptop darn. I wasn't testing on origin/master on peeved. I got *** No rule to make target `../tiff-config/libtiff/tif_config.h', needed by `debugobj/tif_config.h'. Stop.18:46.54 
  I know I've seen that before, but can't recall ATM18:47.17 
Robin_Watts ray_laptop: You haven't configured?18:47.42 
  ./autogen.sh18:48.12 
ray_laptop Robin_Watts: I did autogen.sh in the ghostpdl directory. Got 'configure: exit 118:48.33 
Robin_Watts hmm.18:48.46 
henrys I thought a git clean -f -x -d was needed for that particular business18:48.49 
ray_laptop oh, buried in the autogen.sh log is: configure: error: source directory already configured; run "make distclean" there first18:49.47 
  but it doesn't stop -- it keeps going so the message was buried18:50.37 
  trying the autogen.sh again ...18:51.59 
  (after following the suggestion)18:52.18 
Robin_Watts mvrhel_laptop: ping?18:54.21 
  henrys, paulgardiner, anyone else with an android device: Can you give GhostDocs.apk (from inside my home dir on casper) a spin please?18:59.29 
henrys will do18:59.57 
Robin_Watts That's hopefully the version for the japan demo. It has the new fonts in, and is more self contained.19:00.02 
ray_laptop valgrind on peeved didn't show any problems :-(19:04.45 
  I'll try memento next, but that changes the chunk allocator (all objects in a single chunk)19:05.15 
henrys ray_laptop: this is just the change to pass came?19:05.20 
  s/came/cname?19:05.27 
Robin_Watts ray_laptop: I still can't reproduce the problem on windows with a 32bit build, either memento or debug.19:08.09 
mvrhel_laptop Robin_Watts: pong19:13.19 
  sorry I stepped out for a sec19:13.25 
Robin_Watts no worries.19:13.30 
mvrhel_laptop I heard on the radio where you all are having record rainfall this year19:13.39 
Robin_Watts Just wanted to point you to the GhostDocs.apk in the casper home dir.19:13.54 
mvrhel_laptop Robin_Watts: ok great, I will grab it 19:14.11 
Robin_Watts mvrhel_laptop: Yes. We're fine in our village, but anyone near rivers is in trouble.19:14.18 
mvrhel_laptop glad to hear you all are fine19:14.28 
henrys Robin_Watts: are ken and chris okay?20:35.14 
Robin_Watts I believe so.20:35.24 
  It's people that live on flood plains that are all getting wet.20:35.44 
henrys Robin_Watts: I've smoke tested the app was this supposed to fix one of the line spacing problem files?20:36.48 
Robin_Watts henrys: This has the new fonts in, so spacing etc should be better.20:37.22 
henrys Robin_Watts: okay I'll try some of the bug files20:37.38 
Robin_Watts Also, it's a release build rather than a debug one, and it's more self contained (no need to unpack a whole directory structure onto the flash disc, just one exe)20:38.19 
Henk_ I am an IT pro and we need to deploy Ghostscript to a few workstations.20:38.33 
  Anyone that has a unattended installer for this program?20:38.55 
Robin_Watts Henk_: Our installer guru works UK hours, so went home about 3 hours ago.20:39.50 
Henk_ LOL20:39.59 
  just looking on the internet but could not find a solution.20:40.16 
Robin_Watts Henk_: How many is "a few" ?20:40.30 
Henk_ No worry's ill try it another day . . I am not in a hurry20:40.40 
  depends normally without students 10-15 workstations20:41.19 
  Working at Tilburg University20:41.33 
  Netherlands20:42.03 
  The bad part of it is that it needs to be installed in a specific order • 1 Ghostview • 2 Ghostscript • 3 Miktex • 4 Winedt20:45.02 
  i could try to make an MSI from it with package studio but . . .20:45.33 
  Ill be back tomorrow and give it an other try.20:45.53 
  thx anyway20:45.58 
henrys Robin_Watts: I've gone through a handful of bugs and LibreOffice - the latest seems to get them right. So the idea that everyone is rendering these files differently smells wrong to me. Of course I've only got a very small sample so far.21:03.20 
Robin_Watts henrys: I'm not saying we can't do better.21:03.57 
  (much better)21:04.01 
  I'm saying we shouldn't expect to be perfect in all cases.21:04.11 
henrys Robin_Watts: Older Libre Office's fail for a few files in exactly the same way we do which could be cause for alarm. 21:04.34 
Robin_Watts henrys: Well, that could be a good sign - if we can see what they did to fix it...21:05.01 
  I'm still strongly of the opinion that integrating with MuPDF is the right way to go.21:05.19 
henrys Robin_Watts: yea I don't understand that, hence the meeting.21:07.59 
  or part of the reason for the meeting21:08.09 
  I am sort of surprised for hasn't spoken up about bolting this beast onto mupdf, it doesn't seem like something he would want. Maybe he'll write the whole thing from scratch in rebellion - there is precedence for that now.21:11.22 
  s/for/tor21:11.31 
  stupir colloquy21:11.36 
Robin_Watts I'm sure that what we'll end up with by pulling it into MuPDF will be much nicer.21:12.17 
  The Picsel code is very clever etc, but it comes at it the problem from a different direction.21:12.45 
ray_laptop Robin_Watts: as predicted, I wasted some (fun) time on that IQ test. I should have written my answers down so I could take it again with guessing for the ones I struggled with. Not sure I want to be the girst to share my number for an honest attempt (with 2 "I don't knows")22:36.50 
  time to reboot :-( VS 2008 had an internal error, won't close and won't let me open a new one23:04.47 
 Forward 1 day (to 2014/02/13)>>> 
ghostscript.com
Search: