0 votes

I’ve got PT9 on my Linux virtual machine. After some time, it has begun to be largely non-functional, with a click on the menu for the project window resulting in this dialog:


Basically, it means I can no longer do anything in PT9. Is there a way to get over this (restart with shift down doesn’t do it), or do I need to wait for an update? Meanwhile, I’m continuing with PT8.

JohnBrownie

Paratext by (320 points)

5 Answers

0 votes
Best answer

This is what I get. The initial errors (before the fatal unhandled exception) happen on launch. I have uninstalled and reinstalled PT9 a couple of times, once blowing away the ~/.local/share/Paratext90 folder, without change.

Mozilla Roots Importer - version 3.2.8.0
Download and import trusted root certificates from Mozilla’s MXR.
Copyright 2002, 2003 Motus Technologies. Copyright 2004-2008 Novell. BSD licensed.

Importing certificates into user store…
Import process completed.

(1,2): warning CS0105: The using directive for `System’ appeared previously in this namespace
Checking for ParatextProjects.
Apport Ignore file doesn’t need updating.
Updating EncConverts Registry Keys
Writing silencconverters40key key
SLT Resources already Installed.

(Paratext:6994): GLib-GObject-WARNING **: 17:02:11.358: invalid (NULL) pointer instance

(Paratext:6994): GLib-GObject-CRITICAL **: 17:02:11.358: g_signal_handler_disconnect: assertion ‘G_TYPE_CHECK_INSTANCE (instance)’ failed

(Paratext:6994): Gdk-CRITICAL **: 17:02:11.358: gdk_frame_clock_end_updating: assertion ‘GDK_IS_FRAME_CLOCK (frame_clock)’ failed

(Paratext:6994): GLib-GObject-WARNING **: 17:02:11.359: …/…/…/…/gobject/gsignal.c:2641: instance ‘0x7f93f1c9d380’ has no handler with id ‘853’

(Paratext:6994): GLib-GObject-WARNING **: 17:02:11.377: invalid (NULL) pointer instance

(Paratext:6994): GLib-GObject-CRITICAL **: 17:02:11.377: g_signal_handler_disconnect: assertion ‘G_TYPE_CHECK_INSTANCE (instance)’ failed

(Paratext:6994): Gdk-CRITICAL **: 17:02:11.377: gdk_frame_clock_end_updating: assertion ‘GDK_IS_FRAME_CLOCK (frame_clock)’ failed

(Paratext:6994): GLib-GObject-WARNING **: 17:02:11.377: …/…/…/…/gobject/gsignal.c:2641: instance ‘0x7f93f1c9d490’ has no handler with id ‘861’

(Paratext:6994): GLib-CRITICAL **: 17:02:12.187: Source ID 87 was not found when attempting to remove it

(Paratext:6994): GLib-CRITICAL **: 17:02:12.188: Source ID 86 was not found when attempting to remove it

(Paratext:6994): GLib-CRITICAL **: 17:02:12.188: Source ID 85 was not found when attempting to remove it

(Paratext:6994): GLib-CRITICAL **: 17:02:12.188: Source ID 88 was not found when attempting to remove it

(Paratext:6994): Gtk-CRITICAL **: 17:02:12.356: gtk_window_resize: assertion ‘height > 0’ failed

(Paratext:6994): Gtk-CRITICAL **: 17:02:12.356: gtk_window_resize: assertion ‘height > 0’ failed

(Paratext:6994): Gtk-CRITICAL **: 17:02:12.356: gtk_window_resize: assertion ‘height > 0’ failed

(Paratext:6994): Gtk-CRITICAL **: 17:02:12.357: gtk_window_resize: assertion ‘height > 0’ failed

(Paratext:6994): Gtk-CRITICAL **: 17:02:12.357: gtk_window_resize: assertion ‘height > 0’ failed
No LSB modules are available.

(Paratext:6994): GLib-GObject-WARNING **: 17:03:06.509: invalid (NULL) pointer instance

(Paratext:6994): GLib-GObject-CRITICAL **: 17:03:06.509: g_signal_handler_disconnect: assertion ‘G_TYPE_CHECK_INSTANCE (instance)’ failed

(Paratext:6994): Gdk-CRITICAL **: 17:03:06.509: gdk_frame_clock_end_updating: assertion ‘GDK_IS_FRAME_CLOCK (frame_clock)’ failed

(Paratext:6994): GLib-GObject-WARNING **: 17:03:06.509: …/…/…/…/gobject/gsignal.c:2641: instance ‘0x7f93f1c9dc00’ has no handler with id ‘1809’

(Paratext:6994): GLib-GObject-WARNING **: 17:03:06.518: invalid (NULL) pointer instance

(Paratext:6994): GLib-GObject-CRITICAL **: 17:03:06.518: g_signal_handler_disconnect: assertion ‘G_TYPE_CHECK_INSTANCE (instance)’ failed

(Paratext:6994): Gdk-CRITICAL **: 17:03:06.518: gdk_frame_clock_end_updating: assertion ‘GDK_IS_FRAME_CLOCK (frame_clock)’ failed

(Paratext:6994): GLib-GObject-WARNING **: 17:03:06.518: …/…/…/…/gobject/gsignal.c:2641: instance ‘0x7f93f1c9daf0’ has no handler with id ‘1811’
[ERROR] FATAL UNHANDLED EXCEPTION: System.ObjectDisposedException: Cannot write to a closed TextWriter.
at System.IO.StreamWriter.Flush (System.Boolean flushStream, System.Boolean flushEncoder) [0x0000b] in <8f2c484307284b51944a1a13a14c0266>:0
at System.IO.StreamWriter.Write (System.Char[] buffer, System.Int32 index, System.Int32 count) [0x0008a] in <8f2c484307284b51944a1a13a14c0266>:0
at System.IO.TextWriter.WriteLine (System.String value) [0x00083] in <8f2c484307284b51944a1a13a14c0266>:0
at System.IO.TextWriter.WriteLine (System.String format, System.Object arg0) [0x0000e] in <8f2c484307284b51944a1a13a14c0266>:0
at PtxUtils.UI.FlushOnCrashLogTraceListener+c__AnonStorey0.<>m__0 () [0x0009a] in /home/build/paratext-geckofx-linux-9.0/PtxUtils.UI/FlushOnCrashLogTraceListener.cs:56
at PtxUtils.UI.FlushOnCrashLogTraceListener+c__AnonStorey0.<>m__1 () [0x00000] in /home/build/paratext-geckofx-linux-9.0/PtxUtils.UI/FlushOnCrashLogTraceListener.cs:63
at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00017] in <8f2c484307284b51944a1a13a14c0266>:0
at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x0008d] in <8f2c484307284b51944a1a13a14c0266>:0
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x00031] in <8f2c484307284b51944a1a13a14c0266>:0
at System.Threading.ThreadHelper.ThreadStart () [0x0000b] in <8f2c484307284b51944a1a13a14c0266>:0

by (320 points)
0 votes

Possibly there is a problem with

~/.local/share/SIL/WritingSystemRepository

could you try running the following in a terminal (with Paratext not running):

mv ~/.local/share/SIL/WritingSystemRepository ~/.local/share/SIL/WritingSystemRepository_backup

Then start Paratext to see if it makes any difference?

by [Moderator]
(2.3k points)

hindlemail via Paratext Supporter Site
wrote on 3/2/20 21:03:

Possibly there is a problem with

~/.local/share/SIL/WritingSystemRepository

could you try running the following in a terminal (with Paratext not running):

mv
~/.local/share/SIL/WritingSystemRepository ~/.local/share/SIL/WritingSystemRepository_backup

Then start Paratext to see if it makes any difference?

No difference, I’m afraid. I still get the error message when clicking on the menu button.

JohnBrownie

I’ve seen that error message in Windows and tinkering with files in the repository settings has often not helped. What I’ve found on some machines is the problem seems to appear after installing Fieldworks 9, (current version 9.07). On one new machine, I installed Fieldworks 9, had the problem, then removed FW9 and installed FW8 and the problem went away. Then I reinstalled FW9 and the problem did not reappear.

But on another new machine, reinstalling FW9 brought the problem back again, so I have stayed with FW 8.

Could you try running Paratext from a terminal:

paratext9 --debug

Then see what is output in the terminal after you get that error message.

0 votes

Oh I found an automated exception for this and the error appears to be coming from the Fieldworks file ParatextLexiconPlugin.dll:

at SIL.FieldWorks.ParatextLexiconPlugin.FwLexiconPlugin.TryGetLcmCache (System.String projectId, System.String langId, SIL.LCModel.LcmCache& fdoCache) [0x0011b] in :0
at SIL.FieldWorks.ParatextLexiconPlugin.FwLexiconPlugin.ValidateLexicalProject (System.String projectId, System.String langId) [0x00011] in :0
at Paratext.InternalShared.Lingustics.LexiconManager.IsValidDB (Paratext.Data.AssociatedLexicalProject alp, System.String langID, Paratext.LexicalContracts.LexiconPlugin& lexiconPlugin) [0x00051] in /home/build/paratext-geckofx-linux-9.0/ParatextInternalShared/Lingustics/LexiconManager.cs:44
at Paratext.InternalShared.Lingustics.LexiconManager.IsAvailableDB (Paratext.Data.AssociatedLexicalProject alp, System.String langID) [0x00000] in /home/build/paratext-geckofx-linux-9.0/ParatextInternalShared/Lingustics/LexiconManager.cs:52
at Paratext.TextForm.UpdateMenuStatus () [0x00649] in /home/build/paratext-geckofx-linux-9.0/Paratext/TextForm.cs:973
at Paratext.Base.MegaMenu.MegaMenuButton.ToggleShowMenu (System.String acceleratorKey) [0x00061] in /home/build/paratext-geckofx-linux-9.0/ParatextBase/MegaMenu/MegaMenuButton.cs:141

by [Moderator]
(2.3k points)

So what can I do about that? Do I need to break the relationship to FieldWorks somehow?

Breaking the FW connection would likely stop the error message. (one could likely do that by renaming ParatextLexiconPlugin.dll to something else but there likely better ways)
I suspect there is some ldml file, somewhere in FW, or somewhere FW reads, that the ldml lib can’t read. Given the error message it’s likely something to do with the keyboard setting in the file.
But I need to spend some time looking into this to know for sure…

I suspect what is going on is that, there is keyboard associated with one of your flex projects, that is causing this exception:

To help locate which one run the following:

find ~/.local/share/fieldworks/Projects -name *.ldml | xargs grep external-resources

Then look in each of the resultant files for external-resources and then look for a keyboard definition. Other things you will likely see if in that element is font + spellcheck info.

Alternatively you could use flex to remove this keyboard association from your flex projects.

0 votes

I ran that command, which found 48 files, which boiled down to the same 12 languages, one copy in a WritingSystemStore directory and one in a trash directory within that, one each in CachedSettings and the project folder.

Running through them, the only thing in the external resources section is a font for each of them. It’s not surprising, given that I don’t have any keyboard needs, and so use a standard system keyboard layout for use with the language. I fiddled around, and tried deleting all but one standard keyboard layout (English US, International with dead keys), with no effect.

Should there be a keyboard listed in that section? Is it failing to find one and then that causes a crash?

Here is what it says in the preferences for input method:

Current configuration for the input method:

  • Active configuration: ibus (normally missing)
  • Normal automatic choice: ibus (normally ibus or fcitx or uim)
  • Override rule: zh_CN,fcitx:zh_TW,fcitx:zh_HK,fcitx:zh_SG,fcitx:ja_JP,fcitx:ko_KR,fcitx:vi_VN,fcitx
  • Current override choice: (en_US)
  • Current automatic choice: ibus
  • Number of valid choices: 2 (normally 1)
    The override rule is defined in /etc/default/im-config.
    The configuration set by im-config is activated by re-starting X.
    Explicit selection is not required to enable the automatic configuration if the active one is default/auto/cjkv/missing.
    Available input methods: ibus xim
    Unless you really need them all, please make sure to install only one input method tool.

I tried resetting the keyboard preferences to defaults, with no change.

by (320 points)

I notified the Fieldworks developers about how Paratext has problems connecting to FW 9, and they said they were aware there are more writing system errors in 9, and they need to work on a new release to fix these, but that release has not appeared yet.

0 votes

OK, that’s good to know. I’ll wait on the Fieldworks update.

by (320 points)

With the latest version of PT9 on Linux, I don’t get the error message, but it eventually hangs the whole virtual machine. If I avoid using the menu, I can do things, so I can edit the text and make comments, and can also do send/receive, so it’s a partial win there.

With FLEx 9.0.8 released, I am no longer having the problem, and PT9 appears to work reliably now. Thanks to the developers who fixed the issue!

Related questions

0 votes
5 answers
Paratext Jan 27, 2020 asked by Paul (615 points)
0 votes
2 answers
0 votes
1 answer
0 votes
0 answers
Paratext Aug 1, 2020 asked by listentwice (1.2k points)
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
There is neither Jew nor Gentile, neither slave nor free, nor is there male and female, for you are all one in Christ Jesus.
Galatians 3:28
2,618 questions
5,350 answers
5,037 comments
1,421 users