Uploaded image for project: 'Modules'
  1. Modules
  2. MOD-61

ZhEnglish has a bug when acquiring the keys

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Invalid
    • Component/s: None
    • Labels:
      None

      Description

      I don't know the details but it looks like ZhEnglish creates an endless loop when the keys are acquired one after another. See the bug report in BibleTime: https://sourceforge.net/tracker/index.php?func=detail&aid=1818522&group_id=954&atid=100954

        Attachments

        1. fix1.patch
          1 kB
        2. fix-lds.patch
          6 kB
        3. imp2ld.patch
          0.5 kB
        4. lds-symmetry.diff
          6 kB
        5. StrongsPadding.patch
          3 kB

          Activity

          Show
          kalemas Kostya Maslyuk added a comment - - edited https://gitorious.org/sword-svn-mirrors/kalemas_at_mail_ru-trunk/commits/f7da5a780ca000e9d22e953a7737a5fc60267128 fixed symmetry
          Hide
          MacUser Mac User added a comment - - edited

          Hi guys, this bug has plagued me for years. I don't really know anything about the API, but it's a problem with the module, I believe. Or with the way Chinese characters are handled. Something to do with encodings? Here's some more data that might help:

          1. Attempting to open ZhEnglish in Eloquent hangs the app (still, with 2.4.10). You know this. BibleDesktop opens it OK, but when you try to view particular entries, you get errors and they can't be rendered. Other entries work fine. E.g. starting from the first dictionary entries, the "-IAN" entry throws up the error "An error has occurred: Error reading". Likewise with entries "-IST", "-IZE", "10 OF A PECK", "1ST EARTHLY BRANCH", and so on. It appears to be the same entries throwing up errors each time, and in no discernable pattern.

          2. In Eloquent and BibleDesktop on Mac, there are no problems with ZhPinyin, and ZhHanzi loads OK, but with ZhHanzi in Eloquent, looking up by typing the headword doesn't work for some characters; while it does for others. Indexing the module and searching does work (if any were missing, I didn't notice). This may or may not be related. I can't find a way to look up a lexicon by typing in BibleDesktop at all.

          The good news is that on newer Mac operating systems (and iOS), it's very easy just to look up words using the built-in Dictionary (enable Chinese dictionaries first), and it uses much nicer, newer dictionaries than this 2002 version of CEDICT! Doesn't help anyone on other platforms though.

          Another idea might be to just start again with a better starting dictionary. There are much newer versions of CEDICT (now CC-CEDICT), but these don't have Bible terms. WM-Dict is much better for Bible users, as it includes lots of Bible terms: https://sites.google.com/site/wmdict/ . Also, aizhu.com has a separate and quite helpful dictionary built in, I don't know if the developer might be interested in sharing? Could see if the problem persists.

          Show
          MacUser Mac User added a comment - - edited Hi guys, this bug has plagued me for years. I don't really know anything about the API, but it's a problem with the module, I believe. Or with the way Chinese characters are handled. Something to do with encodings? Here's some more data that might help: 1. Attempting to open ZhEnglish in Eloquent hangs the app (still, with 2.4.10). You know this. BibleDesktop opens it OK, but when you try to view particular entries, you get errors and they can't be rendered. Other entries work fine. E.g. starting from the first dictionary entries, the "-IAN" entry throws up the error "An error has occurred: Error reading". Likewise with entries "-IST", "-IZE", "10 OF A PECK", "1ST EARTHLY BRANCH", and so on. It appears to be the same entries throwing up errors each time, and in no discernable pattern. 2. In Eloquent and BibleDesktop on Mac, there are no problems with ZhPinyin, and ZhHanzi loads OK, but with ZhHanzi in Eloquent, looking up by typing the headword doesn't work for some characters; while it does for others. Indexing the module and searching does work (if any were missing, I didn't notice). This may or may not be related. I can't find a way to look up a lexicon by typing in BibleDesktop at all. The good news is that on newer Mac operating systems (and iOS), it's very easy just to look up words using the built-in Dictionary (enable Chinese dictionaries first), and it uses much nicer, newer dictionaries than this 2002 version of CEDICT! Doesn't help anyone on other platforms though. Another idea might be to just start again with a better starting dictionary. There are much newer versions of CEDICT (now CC-CEDICT), but these don't have Bible terms. WM-Dict is much better for Bible users, as it includes lots of Bible terms: https://sites.google.com/site/wmdict/ . Also, aizhu.com has a separate and quite helpful dictionary built in, I don't know if the developer might be interested in sharing? Could see if the problem persists.
          Hide
          kalemas Kostya Maslyuk added a comment -

          Can't remember how it ended. Was there any progress?

          Show
          kalemas Kostya Maslyuk added a comment - Can't remember how it ended. Was there any progress?
          Hide
          kalemas Kostya Maslyuk added a comment - - edited

          BibleTime hangs opening this module. We have to rebuild this module with latest tools as they contain fix for this. Some another modules would be still affected.

          Show
          kalemas Kostya Maslyuk added a comment - - edited BibleTime hangs opening this module. We have to rebuild this module with latest tools as they contain fix for this. Some another modules would be still affected.
          Hide
          dmsmith DM Smith added a comment -

          I found two causes of the infinite loop:
          1) StrongsPadding=false has to be added to modules that have Strong's Numbers of the form G1, rather than G0001 or 1 instead of 00001.
          2) If a RawLD, RawLD4, or zLD has an entry that is entirely numeric and the module does not have Feature=GreekDef or Feature=HebrewDef, the search for a number is padded and thus not found. Example, BosworthToller, now in the Experimental repository has an entry "1" and also "3". It is not possible to search for these and also they cause an infinite loop in mod2imp.

          There also is a bug in rawld4.cpp where it unconditionally calls strongsPad.

          This patch does the following:
          In swmgr, make the default for strongsPad to be false unless GreekDef or HebrewDef is defined as a Feature. If they are defined as a feature, use the default of true and modify it based on StrongsPadding.

          Fix the bug in rawld4.cpp.

          Please test this with dictionaries that have known problems.

          Show
          dmsmith DM Smith added a comment - I found two causes of the infinite loop: 1) StrongsPadding=false has to be added to modules that have Strong's Numbers of the form G1, rather than G0001 or 1 instead of 00001. 2) If a RawLD, RawLD4, or zLD has an entry that is entirely numeric and the module does not have Feature=GreekDef or Feature=HebrewDef, the search for a number is padded and thus not found. Example, BosworthToller, now in the Experimental repository has an entry "1" and also "3". It is not possible to search for these and also they cause an infinite loop in mod2imp. There also is a bug in rawld4.cpp where it unconditionally calls strongsPad. This patch does the following: In swmgr, make the default for strongsPad to be false unless GreekDef or HebrewDef is defined as a Feature. If they are defined as a feature, use the default of true and modify it based on StrongsPadding. Fix the bug in rawld4.cpp. Please test this with dictionaries that have known problems.

            People

            • Assignee:
              scribe Troy A Griffitts
              Reporter:
              eelik Eeli Kaikkonen
            • Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: