Loading ...
Sorry, an error occurred while loading the content.

Re: [pcgen] Re: [BUG?][OS][5.6.1] PCGen hangs on PDF export

Expand Messages
  • mtucker@airmail.net
    Hi, Barak: Thanks for your reply. :-) [Barak] ... I ll be happy to when I get home tonight. Like you, I m using webmail from work, and don t have the character
    Message 1 of 14 , Jun 3, 2004
    • 0 Attachment
      Hi, Barak:

      Thanks for your reply. :-)

      [Barak]
      > But, that aside, could you send me the .PCG that's locking things up
      > when you export Michael? While I don't have/use a Mac, I'd be
      > interested to see if the lockup is on mac only or if it's something
      > else.
      >
      > It seems I had a problem like this at one point and I don't remember
      > what it was that caused it. :(
      >

      I'll be happy to when I get home tonight. Like you, I'm using webmail from
      work, and don't have the character files with me.

      > Just a couple of quick questions... I'm at work using webmail and your
      > original mail is gone from my ISP server, so pardon me if you already
      > answered these questions in your first post.
      >
      > Is this from a fresh/clean install?
      >

      Yes. Recent download of 5.6.1 (right after it was put in the download
      area), installed to its own directory. The CMP core rules, splatbooks, and
      Forgotten Realms datasets are also installed (unzipped to that directory,
      not copied from elsewhere; i.e. a "clean" install).

      > Is it any PDF print job, or just certain characters? .xslt or .fo
      > templates? (I can't remember when we stripped the .fo from the
      > distro...)
      >
      > Barak

      I first saw the problem with my existing character, imported from 5.5.3.
      It would not export to PDF at all. But I wasn't sure what the problem was,
      because I'm using the RSRD, the CMP splatbook datasets, and some house
      rules.

      To eliminate variables, I exited PCGen, relaunched and loaded *only* the
      RSRD. Then I created a new character from scratch. (Fairly simple, an elf
      with a few levels of fighter and paladin, and minimal feats, skills and
      equipment.) At 1st level, it exported ok. Then I ran it up to 6th level,
      and the problem showed up. I don't know whether it would have showed up
      before that. As I said previously, I had already invested 2-3 hours trying
      to debug this. I didn't want to invest any more until I had asked the
      group whether this was a known problem.

      The problem shows up whether using the CMP .fo output sheet, or the
      bundled .xslt output sheets. The behavior is the same either way. If I
      load this "virgin" character and export it immediately (with no changes),
      it works ok. If I make any changes that mark the character as "dirty",
      then (whether I save first or not) try to export it to PDF, PCGen locks up
      immediately.

      The only difference between this and my imported character is that the
      imported character locks up PCGen regardless. I have been unable to export
      it to PDF, no matter what I try.

      Michael

      p.s. performance with 5.6.1 is a *dog* compared to 5.5.3. Just selecting
      the Equipping tab, I might as well go get a cup of coffee. Something
      related to equipment is beating the h*ll out of the CPU. This is with all
      the default settings, i.e. no equipment is being auto-generated. I suspect
      that whatever is doing this, is also consuming memory. I further suspect
      that this is an out-of-memory problem, since presumably more memory is
      consumed by a "dirty" character than a clean one, and presumably more
      memory is consumed by the PDF exporter than the HTML one. However, this is
      on Mac OS X (which is actually BDS Unix under the hood), with 512 MB of
      RAM; I wouldn't expect memory to be an issue, unless there's a problem
      with the software.
    • Darkon
      ... OS X, ... the message ... the text. ... version, and ... Java 1.3 ... when ... expect ... it s an ... by the ... output ... I ve also ran into an out of
      Message 2 of 14 , Jun 3, 2004
      • 0 Attachment
        > Replying to myself, before someone else points out my error...
        >
        > I wrote in response to NotMousse:
        > > Thanks for the suggestion, but 10.2.8 is the latest version of
        OS X,
        > > running the latest version of Java. If you'd read the rest of
        the message
        > > you would have seen the output from a "java -version" command in
        the text.
        > > I'm running Java 1.4.
        >
        > That's not quite true. OS X 10.3.4 is the latest version of the Mac
        > operating system. However, 10.2.8 is the latest "pre-Panther"
        version, and
        > it *does*, in fact, run Java 1.4.
        >
        > Besides, I would be surprised to find that a difference between
        Java 1.3
        > versus Java 1.4 was the culprit behind hanging the PCGen process
        when
        > attempting a PDF export. If there were any such problems, I would
        expect
        > them to manifest elsewhere in the code.
        >
        > In any case: I'm still puzzled over this problem. I'm wondering if
        it's an
        > "out of memory" error (or something similar) that's being masked
        by the
        > fact the process hangs immediately (without getting a chance to
        output
        > anything useful to the console).

        I've also ran into an out of memory error when exporting to PDF with
        two characters. I managed to get one to work by reducing the length
        of the SPROP of her weapon to fit within one line on the forst
        page's SPROP line. I haven't figured out what causes the problem on
        the other character is yet.
      • notyetmousse24@aol.com
        mtucker sez... Thanks for the suggestion, but 10.2.8 is the latest version of OS X, running the latest version of Java. But it s still a Mac. So the easiest
        Message 3 of 14 , Jun 4, 2004
        • 0 Attachment
          mtucker sez...

          'Thanks for the suggestion, but 10.2.8 is the latest version of OS X, running
          the latest version of Java.'

          But it's still a Mac. So the easiest solution is to convert to a better
          supported OS (Linux, DOS or something along those lines).

          'Any other ideas? Memory usage, maybe?'

          Memory has been an issue, but if memory serves (did *not* mean to pun here)
          the symptoms are nothing like what you're suffering. But in case that *does*
          somehow happen to be the problem just set it to use more memory. Someone else
          posted the details yesterday so just look back.

          NotMousse
          TM, QA Tamarin, Made Emily Smirle laugh

          I mean, if I can't even get a discount out of someone else's misfortune,
          what's the point?
          -MisterTambo, founding member of the League of Unemployed Gentlemen


          [Non-text portions of this message have been removed]
        • notyetmousse24@aol.com
          mtucker sez... Replying to myself, before someone else points out my error... Reminds me to read all posts before replying to them. I wrote in response to
          Message 4 of 14 , Jun 4, 2004
          • 0 Attachment
            mtucker sez...

            'Replying to myself, before someone else points out my error...'

            Reminds me to read all posts before replying to them.

            'I wrote in response to NotMousse:'

            And I replied, but here I am replying again... awkward...

            'However, 10.2.8 is the latest "pre-Panther" version, and it *does*, in fact,
            run Java 1.4.'

            But does it run Java 1.4.2?

            'Besides, I would be surprised to find that a difference between Java 1.3
            versus Java 1.4 was the culprit behind hanging the PCGen process when attempting
            a PDF export.'

            Actually this is exactly why there was so much debate about changing between
            one and another. Some things that work with 1.4.2 most certainly do not in
            prior versions, which can cause some obscenely nasty things to happen.

            Overall my advice remains the same, but I suggest upgrading to the currently
            uber-expensive line that Jobs is pimping out.

            NotMousse
            TM, QA Tamarin, Made Emily Smirle laugh

            I mean, if I can't even get a discount out of someone else's misfortune,
            what's the point?
            -MisterTambo, founding member of the League of Unemployed Gentlemen


            [Non-text portions of this message have been removed]
          • Michael Tucker
            ... Oh, you re right. Of course. Why didn t I think of that. The obvious, easiest solution to getting PCGen to run on my Mac is to set up an Intel
            Message 5 of 14 , Jun 4, 2004
            • 0 Attachment
              On Friday, June 4, 2004, at 04:37 AM, notyetmousse24@... wrote:

              > mtucker sez...
              >
              > 'Thanks for the suggestion, but 10.2.8 is the latest version of OS X,
              > running
              > the latest version of Java.'
              >
              > But it's still a Mac. So the easiest solution is to convert to a
              > better
              > supported OS (Linux, DOS or something along those lines).
              >

              <sarcasm>
              Oh, you're right. Of course. Why didn't I think of that. The obvious,
              easiest solution to getting PCGen to run on my Mac is to set up an
              Intel box running Linux.
              </sarcasm>

              Seriously, I disagree. I've been using PCGen quite happily and well for
              a long time. There's something wrong with this release of PCGen. It may
              be subtle, and it may not be affecting that many users. But the problem
              lies in PCGen, not in my computer.

              On Friday, June 4, 2004, at 04:47 AM, notyetmousse24@... wrote:

              > 'However, 10.2.8 is the latest "pre-Panther" version, and it *does*,
              > in fact,
              > run Java 1.4.'
              >
              > But does it run Java 1.4.2?

              I posted this previously, but again for your convenience:

              % java -version
              java version "1.4.1_01"
              Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-69.1)
              Java HotSpot(TM) Client VM (build 1.4.1_01-24, mixed mode)

              So, the answer is: no, I'm not running Java 1.4.2. Perhaps Panther (Mac
              OS 10.3.4) has Java 1.4.2.

              But the only thing that's changed between "happy, joy!", and "woe!"
              regarding my PCGen experience was upgrading from 5.5.3 ("happy, joy!")
              to 5.6.1 complete w/GMGen ("woe!"). I think that this weekend I will
              download the limited version of 5.6.1 (without GMGen) and see if that
              makes a difference in the memory footprint.

              By the way, last night I invested another 2 hours fiddling with this,
              and it *is* definitely a memory footprint issue. By increasing the size
              of my Java environment, as follows ...

              % java -Xms128M -Xmx256M -jar pcgen.jar

              ... I was able to export my moderately complex character from 5.5.3.
              [Note that this is 2-4 times the default allocation for Java (64M),
              which has worked for me for previous versions. I.e., I've never had to
              explicitly increase the memory allocation for Java before, to use
              PCGen. So this version (5.6.1) is demanding at least *twice* the memory
              of a recent previous release (5.5.3).]

              However, curiously, I achieved success with Debug mode turned on.
              Here's what I tried, and what worked:

              a) java with extra memory - failed
              b) debug mode - failed
              c) java with extra memory AND debug mode - success

              Curious, eh? But now it's definitely identified as a memory footprint
              problem, and nothing else. [Strangely, the memory problem is masked (or
              avoided) with Debug mode on. I would think that Debug would use *more*
              memory, not less; but software behavior isn't always intuitive.]

              By the way, the painfully slow performance problem also went away when
              I increased the memory allocation for Java. I suspect that all these
              other strange sporadic reports of "5.6.1 is a dog!" from other users,
              are actually page-swapping problems due to the excessive memory
              requirements of this release. Thus, the *real* solution is for the
              developers to identify what changed in 5.6.1 (compared to previous
              releases) such that it's suddenly gobbling up memory, and fix that. I
              suggest looking into the "Equipment tab" area of the code, as that
              seems to take the longest to load.

              Michael
            • notyetmousse24@aol.com
              mtucker sez... The obvious, easiest solution to getting PCGen to run on my Mac is to set up an Intel box running Linux. I was actually thinking of ditching
              Message 6 of 14 , Jun 5, 2004
              • 0 Attachment
                mtucker sez...

                'The obvious, easiest solution to getting PCGen to run on my Mac is to set up
                an Intel box running Linux.'

                I was actually thinking of ditching the Mac completely as it's apparently
                being out performed by a PC from roughly a decade ago. then again I've never
                used a Mac I could stand (by stand I mean didn't bomb within a day).

                'But the problem lies in PCGen, not in my computer.'

                You may be right, and as it seems to be the case I'll make sure there's a
                tracker (FREQ unless is affects more people) that says something along the lines
                of 'optimize it already damn!'

                'So, the answer is: no, I'm not running Java 1.4.2.'

                Which was my point the whole time. While I'm not completely positive PCGen
                demands this I understand that running the latest often solves problems
                suffered by the less L33T among us (self included).

                'I was able to export my moderately complex character from 5.5.3.'

                Hmm... While I admit I don't export via PDF (never liked the format), I
                hadn't noticed any significant slowdown when exporting via HTML.

                'By the way, the painfully slow performance problem also went away when I
                increased the memory allocation for Java.'

                True, adding memory keeps it from collecting 'garbage' so often which is the
                majority of the slowdown anyone will face with the program. Been this way for
                at least the last few releases I can recall.

                'I suggest looking into the "Equipment tab" area of the code, as that seems
                to take the longest to load.'

                This I did notice taking awhile, but as I hadn't experimented with it
                previously had just assumed equipment to be one of the less well developed areas.

                NotMousse
                TM, QA Tamarin, Made Emily Smirle laugh

                I mean, if I can't even get a discount out of someone else's misfortune,
                what's the point?
                -MisterTambo, founding member of the League of Unemployed Gentlemen


                [Non-text portions of this message have been removed]
              • Michael Tucker
                ... Strangely enough, I feel the same about PCs as you seem to feel about Macs. If you want to start picking on platforms, Windows is certainly a target-rich
                Message 7 of 14 , Jun 5, 2004
                • 0 Attachment
                  On Saturday, June 5, 2004, at 04:26 AM, notyetmousse24@... wrote:

                  > mtucker sez...
                  >
                  > 'The obvious, easiest solution to getting PCGen to run on my Mac is to
                  > set up
                  > an Intel box running Linux.'
                  >
                  > I was actually thinking of ditching the Mac completely as it's
                  > apparently
                  > being out performed by a PC from roughly a decade ago. then again
                  > I've never
                  > used a Mac I could stand (by stand I mean didn't bomb within a day).
                  >

                  Strangely enough, I feel the same about PCs as you seem to feel about
                  Macs. If you want to start picking on platforms, Windows is certainly a
                  "target-rich environment".

                  Call it a personal preference (which is shared with me by several
                  million people), and let it go at that. I really don't think a
                  "religious debate" about platforms has any place here on the PCGen
                  discussion board. PCGen is written in Java, to be platform-neutral.
                  Java is fully supported by Mac OS X. Let it go.

                  > 'But the problem lies in PCGen, not in my computer.'
                  >
                  > You may be right, and as it seems to be the case I'll make sure
                  > there's a
                  > tracker (FREQ unless is affects more people) that says something along
                  > the lines
                  > of 'optimize it already damn!'
                  >

                  You apparently aren't "getting" the issue I'm trying to point out here.
                  This isn't about "optimizing performance", it's about fixing runaway
                  memory consumption.

                  PCGen's memory requirements have at least doubled from 5.5.3 to 5.6.1.
                  To make matters worse, evidently the part of the code that manages PDF
                  exports does not throw an "out of memory" exception; the process just
                  silently locks up. I'm guessing that FOP (or maybe the code that calls
                  FOP) isn't as good about throwing exceptions (let alone handling them)
                  as it ought to be.

                  > 'So, the answer is: no, I'm not running Java 1.4.2.'
                  >
                  > Which was my point the whole time. While I'm not completely positive
                  > PCGen
                  > demands this I understand that running the latest often solves problems
                  > suffered by the less L33T among us (self included).
                  >

                  Running the latest has been pointed out repeatedly on this board as
                  often being the *source* of problems, not their cure. Many has been the
                  time when someone complained that their latest beta version of the JRE
                  crashed when running PCGen. The solution was to downgrade to an
                  earlier, stable version of the JRE.

                  Regardless, Java 1.4.1 ran PCGen 5.5.3 just fine. It also runs PCGen
                  5.6.1 just fine, but only if I'm very, very careful about how much
                  memory PCGen is given and induced to consume. The version of Java is
                  therefore obviously a non-issue (especially since I'm not running
                  GMGen).

                  Please step away from that issue; nothing to be seen there.

                  > 'I was able to export my moderately complex character from 5.5.3.'
                  >
                  > Hmm... While I admit I don't export via PDF (never liked the format),
                  > I
                  > hadn't noticed any significant slowdown when exporting via HTML.
                  >

                  Nor had I. HTML outputs run fine, as I said in my post.

                  By the way, you're missing out on some truly beautiful output sheets,
                  if you aren't using the PDF sheets. The latest color PDF sheets are
                  works of art. :-)

                  > 'By the way, the painfully slow performance problem also went away
                  > when I
                  > increased the memory allocation for Java.'
                  >
                  > True, adding memory keeps it from collecting 'garbage' so often which
                  > is the
                  > majority of the slowdown anyone will face with the program. Been this
                  > way for
                  > at least the last few releases I can recall.
                  >

                  Which begs the point I'm trying to make, which is the excessive memory
                  demands of PCGen 5.6.1 in the first place. *That* is the problem that
                  needs fixing.

                  > 'I suggest looking into the "Equipment tab" area of the code, as that
                  > seems
                  > to take the longest to load.'
                  >
                  > This I did notice taking awhile, but as I hadn't experimented with it
                  > previously had just assumed equipment to be one of the less well
                  > developed areas.
                  >
                  > NotMousse
                  > TM, QA Tamarin, Made Emily Smirle laugh
                  >

                  Thanks for taking the time to reply, in any case. Despite your "troll"
                  regarding Macs, I do appreciate the feedback.

                  Bryan, Barak, if you're reading this and have made it this far: I'm
                  still trying to debug this, but I'm not making much progress. It's hard
                  when the process just locks up tight without any messages to the
                  console. HTML output works. PDF does sometimes, if I hold my mouth just
                  right; but usually it just locks up the moment I click "Save". I
                  suspect, at this point, that it dies when it tries to call FOP (but
                  without throwing an exception, at least not one that makes it to the
                  console).

                  Michael
                Your message has been successfully submitted and would be delivered to recipients shortly.