IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2016/09/14)20160915 
sebras fred (for the logs): in Page_enableSeparation() fz_control_separation_on_page() may fz_throw() and if it does there is no fz_catch() in Page_enableSeparation() to catch it which means we longjump to... somewhere..? :)04:01.35 
  fred (for the logs): the same with Page_getSeparation() and fz_get_separation_on_page()04:02.29 
  fred (for the logs): I'll fix those.04:03.26 
  fred: I'm also wondering about the LOGI calls. are they just there for your current debugging session or are they necessary long term? because no other JNI-function have them right now.04:04.36 
  fred: in Page_getSeparation() the global ref to the Separation was never deleted like with the other classes in lose_fids() which gets called as part of JNI_OnUnload().04:16.55 
  also NewStringUTF() may fail with NULL (and a stored exception) and we'd better not call any other JNI-interface, but rather just returning04:17.42 
  fred: Separation.rgba should really be called Separation.bgra right? because you convert it in Page_getSeparation()04:18.29 
  fred: when are those temporary files created by make_tmp_gproof_path() removed?04:35.47 
  fred: it seems to me that only the app knows when those should can be removed safely. so I'm thinking that maybe the app could create the file and just give us an java.io.OutputStream (possibly java.io.FileOutputStream if we care about that it goes into a file) that we write to?04:36.56 
  do we ever save the proofing document? if not, how about using a java.io.ByteArrayOutputStream and avoid creating a file all together?04:42.49 
  fredross-perry: I've seen a few problems with the commits you pushed yesterday.05:42.21 
fredross-perry for example?05:42.35 
sebras fredross-perry: fz_*() often throw exceptions, but those are different from java exceptions.05:42.59 
  so you must do fz_try(){}fz_catch(){} and convert the exception to a java exception.05:43.23 
  fz_control_separation_on_page() may throw, but Page_enableSeparation() has no fz_try{}.05:43.51 
  same with fz_get_separation_on_page().05:44.05 
  also NewStringUTF() may return NULL and throw a Java exception, in which case we want to return as soon as possible05:44.34 
  the self pointer need not be checked since the JVM will not call a JNI binding on a null pointer.05:44.56 
  the pattern is to throw IllegalArgumentException upon null arguments05:45.20 
  so, jni_throw_arg() rather than jni_throw()05:45.41 
fredross-perry If you can point me to functions that follow the correct patterns, I'll make adjustments, thanks.05:46.11 
sebras the global ref to the Separation class is acquired in Page_getSeparation() but never freed (should be in lose_fids())05:46.23 
  fredross-perry: I have a few patched almost being ready here. :)05:46.57 
fredross-perry SO you're handling this then?05:47.19 
sebras fredross-perry: do you want to review them?05:47.19 
fredross-perry Sure when you're done.05:47.33 
sebras fredross-perry: I can, but I think it is good if you review them in preparation for next time. :)05:47.56 
fredross-perry I will review them. But it's late here, so tomorrow.05:48.22 
  thanks05:48.24 
sebras fredross-perry: one design decision that I'm stumped by though: can we have makeProof take a ByteArrayOutputStream?05:48.32 
  fredross-perry: since the proof document is temporary anyway there, is there any need to actually save it on disk?05:48.55 
  that way we can avoid creating those pesky paths.05:49.04 
  but I'm not sure if doing this makes sense. maybe we'll run out of memory. are they big? just for one page or many?05:49.40 
fredross-perry Are you talking about the files like gprf_0_xxxxxxxx?05:51.16 
  This is all lifted form the previous incarnation of proofing.05:51.46 
sebras yes. I know, I found the old code.05:52.21 
  I'm just wondering if we want to change it while we are rewriting it anyway..?05:52.35 
  how are proofing files used?05:52.58 
  looks like you hit the proof button in the old viewer and then view the proofing of that file (just one page?) and then the file is thrown away.05:53.33 
fredross-perry I'd rther do it in two steps, (1) fix the JNI issues, and then (2) address your concern here. We've got a demo of this coming up for the show.05:53.35 
sebras do we intend to save the proofing files later on?05:53.44 
  fredross-perry: I'll definitely fix (1). :)05:54.31 
  fredross-perry: (2) is more of a question. also I have no idea about the show or when it is.05:54.49 
fredross-perry the path is created and handed (I believe) to gs to actually make the file. Then some other files are created by the gprf device that contain each page. At the end they are all thrown away.05:54.51 
  The show is right before the upcoming meeting in Orlando. We can tackle (2) after that.05:55.20 
sebras fredross-perry: right, since I'm not attending the Orlando meeting maybe I have missed that info.05:55.42 
fredross-perry sure.05:55.48 
sebras fredross-perry: ok, I'll let you know when I'm done.05:55.58 
fredross-perry thanks.05:56.05 
sebras fredross-perry: the devil is in the details in the JNI error handling. ;)05:56.10 
fredross-perry I imagine.05:56.19 
sebras fredross-perry: I created a small patch series over at sebras/master06:10.34 
fredross-perry thanks, i'll look tomorrow06:10.51 
sebras np.06:21.06 
  https://medium.com/@tiro/https-medium-com-tiro-introducing-opentype-variable-fonts-12ba6cd2369#.bnnug8i6g seems similar to multiple master fonts.06:40.45 
  tor8 (for the logs): there's a patch for BufferInputStream on sebras/master07:51.34 
  tor8: I've been thinking about the InputStream interface suggesting to use NullPointerException for the byte array being null. the same is surprisingly not true for OutputStream! both NPE and IAE are RuntimeExceptions so I'm thinking that the difference is very minor.07:53.43 
  tor8: I believe that this makes the Streams and Buffer things well behaved.07:57.16 
  chrisl: awake?08:18.45 
  chrisl: in 2013 you merged an updated version of luratech for j2k.08:19.14 
  chrisl: do you still have their original delivery available?08:19.26 
  chrisl: since I'm looking into mergeing their latest drop I want to see what you did.08:19.58 
  chrisl: if I have access to that old file it is easier to determine what changes luratech did and just merge those without losing any changes we've done ourselves.08:21.39 
chrisl sebras: No, sorry, I don't have the original. Is the record of what's done not in the repo?08:23.17 
  Is it still in subversion, or did we move it to git?08:24.04 
sebras chrisl: yes, but just unpacking their drop is not enough, then we'll lose any changes we did.08:24.07 
  chrisl: moved to git! :)08:24.13 
  I think tor did that last time.08:24.22 
chrisl Actually, there was an update that I added in 2014 as well..... v1.12 (Aug 2014)08:27.10 
sebras chrisl: are we talking about commit 6e589f2 in the git repo?08:27.51 
  that one's dated 2013. but it does reference jp2k 2.12.08:28.05 
chrisl Urm, I don't have it in git locally, I still have the subversion one, give me a minute.....08:28.24 
kens I don't see an August 2014 luratech commit in Git08:28.56 
chrisl Date: Fri Aug 22 07:47:53 2014 +0000 - commit e56fd4d7a29958b7cb41db4f36d565d457f369f208:30.26 
  So there's the "inline" fix, and the gcc 5.x fix08:31.00 
kens Gitweb isn't showing any commit on that date for me :-(08:31.42 
sebras chrisl: ah, right, but that wasn't a complete code drop.08:31.48 
  kens: I think this is in svn..?08:31.58 
kens Oh OK08:32.02 
chrisl No, this is in git08:32.05 
kens THen, I still don't see it in gitweb :-((08:32.28 
  Not that it matters08:32.33 
chrisl The newest comit is 8b812c1f16b21 made by Marcos May 25 201608:32.42 
sebras chrisl: right I see it, but that's jb2, not jp2k.08:32.47 
kens Its till Luratech though ?08:33.04 
sebras chrisl: I'm refering to jp2k. :)08:33.04 
  kens: yes, but I have only got a jp2k drop to merge, nothing for jb2.08:33.26 
kens Huh, I thought it was all the same library. Oh well08:33.45 
sebras kens: there are two subdirectories and they appear to be versioned independently I think.08:34.03 
chrisl I'm not sure how gitweb works with a completely private repo......08:34.16 
kens I guess badly is the answer, or possibly I can't drive it properly, which is possibly more likely the case.08:34.57 
  Anywya, just ignore me08:35.16 
chrisl sebras: but I 08:35.33 
  oops, sorry08:35.38 
sebras chrisl: either way you don't have that jp2k drop either.08:35.40 
  I was hoping that you'd have an old e-mail or something.08:35.54 
chrisl sebras: what version of jp2k is currently in there?08:35.54 
sebras chrisl: 2.1.00.12 (apr 2012)08:36.27 
  chrisl: and jb2 is 1.12 (aug 2014) but that's not important08:37.07 
chrisl They'v always come to me via HenryStiles 08:37.37 
sebras chrisl: same for me, but since you committed it last time I was hoping you'd still have the drop. :)08:39.02 
chrisl sebras: the way I work with the libraries like luratech is that I commit the original drop, then reapply any of our changes afterwards (sometimes on a branch), so the source control keeps a record of what we've done08:41.47 
  So it looks like you need to reapply commit 94511dd7eb22d408:42.28 
  And possibly also 8b812c108:43.12 
  Actually, no, not 8b812c1 as that appears to only relate to JB208:45.07 
sebras chrisl: ah, ok. I see.08:45.22 
  chrisl: I was under the impression that the code drop merged whatever was in the repo previously too.08:45.42 
chrisl sebras: sometimes it does. The two change sets mentioned in 94511dd are specific to our use of the luratech JP2k decoder08:46.41 
sebras chrisl: so basically I can import the drop in a commit and then cherry-pick 94511dd "Bug 694358: re-apply two fixes." in order to not end up in the same situation as you did.08:53.42 
  chrisl: do I need to squash the drop and the cherry-picked commit into one?08:53.56 
chrisl sebras: I wouldn't bother for the closed source libs, no08:54.44 
sebras chrisl: ok.08:54.53 
chrisl sebras: for the open source libs on Ghostscript, I tend to do the reapplying of our patches on a branch, and squash it onto master (so the branch keeps the record of the changes, but master always works)08:55.43 
 Forward 1 day (to 2016/09/16)>>> 
ghostscript.com
Search: