| <<<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 albatross | 00:01.10 |
mvrhel_laptop | henrys: Yes I saw that commit | 00: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: ugh | 00: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: ping | 13:45.40 |
paulgardiner | tor8: hi | 13:46.06 |
tor8 | paulgardiner: so, I've hooked up libjs and got it building with stub jsimp functions and looking at implementing them | 13:46.27 |
| it can run the code, but nothing is hooked up to the jsimp stuff | 13:46.42 |
| and now I have a few questions for you :) | 13:46.54 |
paulgardiner | Okay | 13: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 properties | 13: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 = natobj | 13: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 DOM | 13: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) call | 13: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 defined | 13:55.07 |
paulgardiner | tor8: that does sound like a good approach | 13:55.24 |
tor8 | and set the internal prototype of the DOM objects to the type object | 13:55.26 |
| so then any property lookups will redirect to the DOM type object and get the native method | 13:55.43 |
paulgardiner | That is possibly the ideal way to do it | 13:55.48 |
tor8 | pdf_jsimp_set_global_type is confusing me though, how it is supposed to work | 13:56.47 |
| I can guess that it's used to add functions and properties to the 'global' object | 13:57.16 |
| but not how the actual JSCore or V8 implementations do it | 13: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 properties | 13: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 permitted | 14: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 problem | 14: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 now | 14:14.46 |
| this.getField.apply(new Object(), "foo") for instance | 14:15.45 |
| the 'this' argument has no type checking in the methods | 14:16.04 |
paulgardiner | Ooo! Yes, possibly. | 14:16.07 |
| The jscore imp is probably okay, but not v8 | 14:16.34 |
| ... actually maybe not | 14: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 is | 15: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 though | 15:54.06 |
paulgardiner | I think the calling code is supposed to take responsibility for freeing | 15:55.18 |
Robin_Watts | tor8: How do you usually run cluster tests? git cluster ? | 15:55.25 |
| git cluster mujstest | 15:55.32 |
tor8 | Robin_Watts: I thought if I wanted to run it manually here | 15: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 javascript | 15: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=mujstest | 15: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 script | 16:08.01 |
| maybe I should upgrade? | 16:08.06 |
Robin_Watts | Then use that. | 16:08.14 |
| just put "mujstest" on the end | 16: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 git | 16: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 out | 16: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 wrong | 16:15.01 |
chrisl | It might be hard to allow a web interface and keep is secure | 16: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 secure | 16: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 all | 17:41.50 |
ray_laptop | quiet today | 18: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.pcl | 18: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 failed | 18: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 ppmraw | 18: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@ also | 18: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 ATM | 18:47.17 |
Robin_Watts | ray_laptop: You haven't configured? | 18:47.42 |
| ./autogen.sh | 18:48.12 |
ray_laptop | Robin_Watts: I did autogen.sh in the ghostpdl directory. Got 'configure: exit 1 | 18:48.33 |
Robin_Watts | hmm. | 18:48.46 |
henrys | I thought a git clean -f -x -d was needed for that particular business | 18:48.49 |
ray_laptop | oh, buried in the autogen.sh log is: configure: error: source directory already configured; run "make distclean" there first | 18:49.47 |
| but it doesn't stop -- it keeps going so the message was buried | 18: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 do | 18: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: pong | 19:13.19 |
| sorry I stepped out for a sec | 19:13.25 |
Robin_Watts | no worries. | 19:13.30 |
mvrhel_laptop | I heard on the radio where you all are having record rainfall this year | 19: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 fine | 19: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 files | 20: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_ | LOL | 20: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 hurry | 20:40.40 |
| depends normally without students 10-15 workstations | 20:41.19 |
| Working at Tilburg University | 20:41.33 |
| Netherlands | 20: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 Winedt | 20: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 anyway | 20: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 meeting | 21: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/tor | 21:11.31 |
| stupir colloquy | 21: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 one | 23:04.47 |
| Forward 1 day (to 2014/02/13)>>> | |