Crash report for BA 5.4.0.50 for Linux
Posted: Thu Sep 09, 2021 10:38 pm
Today I experienced a catastrophic and unrecoverable crash of Bible Analyzer for Linux v5.4.0.50. I am running Linux Mint version 20.2, with the MATE desktop. Each time I attempt to run Bible Analyzer, it aborts with this message:
Below are the steps I took to create this issue, and the steps I took (unsuccessfully) to resolve it.
1. Bible Analyzer (BA) was running normally in Linux and I was perfectly happy with it. Then I attempted to download and install three new Bible modules, using the Download Manager. I made this screen shot before the crash: 2. Immediately after downloading, BA offered to close and reload to show the new modules (er, I *think*). I did not manually close Bible Analyzer. Immediately after that happened, the error message above appeared, except that it was placed in a graphic textbox widget, not in a terminal window.
3. BA detected the crash and offered to send an error message. See screenshot below
I entered my email address, but the Report Error button does nothing when clicked. Nothing is transmitted. The bottom line of the error message window refers to the "Windows Start Menu", but I am on Linux, so perhaps the error-reporting module is not addressing Linux message delivery correctly. Neither the Abort button nor the Close button will take me back to the BA applications. It is unrecoverable.
4. I have the Timeshift system restore utility running on Linux Mint, so I chose a time 20 hours prior to the error, hoping that would undo the damage. Timeshift ran correctly, including uninstalling some other changes I had done previously this evening, but it did not correct the problem.
5. In trying to correct the problem, I decided to look for and remove all modified files. I executed BA from the bash shell prompt (as can be seen from the screen dump at the top), and found 3 possible candidates:
I tried this, but only one file was located:
I deleted the "default.nts" file, and it was automatically recreated. That did not fix the problem.
5.2 I ran "find" on the /opt/bibleanalyzer tree and found no files modified in the past 24 hours. Indeed, I found these results with the ls command:
I installed BA v5.4.0.50 about 3 weeks ago, so evidently the timestamps here are from the archive. It does not appear that any of these files have been modified. So why am I still getting this error??
5.3. The last place to look is my user config files. Sorting the output by time, I can see this:
The top three files have been modified, but no others.
So, I decide to rename them one-by-one, and see what happens. (I am doing this live as I type . . . )
a) Rename bibLayout.dat, the smallest, to ".dat_disabled" : SUCCESS !
I have Bible Analyzer working again. Thanks for being my "rubber duck" programming buddy. (smile)
Now that everything is back to normal, I'll close off BA and see if it restarts okay. . . . Good night, everyone!
Code: Select all
/opt/bibleanalyzer $ python3 -u /opt/bibleanalyzer/ba-run.py
3.8.10 (default, Jun 2 2021, 10:49:15)
[GCC 9.4.0]
/opt/bibleanalyzer App dir
/home/eric/Documents/BibleAnalyzer myDocs folder
/home/eric/Documents/BibleAnalyzer all users
/home/eric/Documents/BibleAnalyzer docs modules folder
/home/eric/.config/bibleanalyzer user
0.5754525661468506 imports
Valid local config
TTS is loaded
10:18:25 PM: Debug: ClientToScreen cannot work when toplevel window is not shown
10:18:25 PM: Debug: ClientToScreen cannot work when toplevel window is not shown
10:18:25 PM: Debug: ClientToScreen cannot work when toplevel window is not shown
excepthook
*** Thu Sep 9 22:18:25 2021 ***
Traceback (most recent call last):
File "/opt/bibleanalyzer/ba-540.zip/analyzer5.py", line 8651, in OnInit
self.ShowMain()
File "/opt/bibleanalyzer/ba-540.zip/analyzer5.py", line 8655, in ShowMain
self.BA = BibleAnalyzer(None, "Bible Analyzer 5.4")
File "/opt/bibleanalyzer/ba-540.zip/analyzer5.py", line 750, in __init__
self.OnCmtNBChanged(None)
File "/opt/bibleanalyzer/ba-540.zip/analyzer5.py", line 1984, in OnCmtNBChanged
self.OnCmtViewEntry()
File "/opt/bibleanalyzer/ba-540.zip/analyzer5.py", line 3821, in OnCmtViewEntry
answer, imgNames = formDctPages.showLibTopic(ref, self.cmtFileList[tab], self.font, self.cmtColor, title, 1)
File "/opt/bibleanalyzer/ba-540.zip/formDctPages.py", line 703, in showLibTopic
verses = findRefs(refs, mainApp.bibFileList[bibIdx], 4)
File "/opt/bibleanalyzer/ba-540.zip/formDctPages.py", line 87, in findRefs
noTag = re.sub(r'<a href.+?</a>|<fnc?>\d+</fnc?>', r'', row[2])
File "/usr/lib/python3.8/re.py", line 210, in sub
return _compile(pattern, flags).sub(repl, string, count)
TypeError: cannot use a string pattern on a bytes-like object
1. Bible Analyzer (BA) was running normally in Linux and I was perfectly happy with it. Then I attempted to download and install three new Bible modules, using the Download Manager. I made this screen shot before the crash: 2. Immediately after downloading, BA offered to close and reload to show the new modules (er, I *think*). I did not manually close Bible Analyzer. Immediately after that happened, the error message above appeared, except that it was placed in a graphic textbox widget, not in a terminal window.
3. BA detected the crash and offered to send an error message. See screenshot below
I entered my email address, but the Report Error button does nothing when clicked. Nothing is transmitted. The bottom line of the error message window refers to the "Windows Start Menu", but I am on Linux, so perhaps the error-reporting module is not addressing Linux message delivery correctly. Neither the Abort button nor the Close button will take me back to the BA applications. It is unrecoverable.
4. I have the Timeshift system restore utility running on Linux Mint, so I chose a time 20 hours prior to the error, hoping that would undo the damage. Timeshift ran correctly, including uninstalling some other changes I had done previously this evening, but it did not correct the problem.
5. In trying to correct the problem, I decided to look for and remove all modified files. I executed BA from the bash shell prompt (as can be seen from the screen dump at the top), and found 3 possible candidates:
- The ~/Documents/BibleAnalyzer/ directory tree
- The /opt/bibleanalyzer tree
- The ~/.config/bibleanalyzer tree
I tried this, but only one file was located:
Code: Select all
[b]eric: ~[/b] $ # find all regular files below "BibleAnalyzer" modified less than 24 hours ago
[b]eric: ~[/b] $ find ~/Documents/BibleAnalyzer -type f -mtime -1 -ls
24248965 8 -rw-rw-r-- 1 eric eric 8192 Sep 9 22:18 /home/eric/Documents/BibleAnalyzer/default.nts
5.2 I ran "find" on the /opt/bibleanalyzer tree and found no files modified in the past 24 hours. Indeed, I found these results with the ls command:
Code: Select all
$ /bin/ls -lat /opt/bibleanalyzer/
total 17416
drwxr-xr-x 6 root root 4096 Aug 25 21:03 ..
drwxr-xr-x 3 root root 4096 Aug 12 22:25 .
drwxr-xr-x 2 root root 12288 Aug 12 22:25 manual
-rw-r--r-- 1 root root 5286826 May 8 2020 ba-540.zip
-rw-r--r-- 1 root root 144 May 8 2020 ba-run.py
-rw-r--r-- 1 root root 230400 May 8 2020 contexts.dat
-rw-r--r-- 1 root root 28672 May 8 2020 filters.dat
-rw-r--r-- 1 root root 415312 May 8 2020 fonts.zip
-rw-r--r-- 1 root root 11111529 May 8 2020 mod-data.zip
-rw-r--r-- 1 root root 726016 May 8 2020 strongWds.dat
5.3. The last place to look is my user config files. Sorting the output by time, I can see this:
Code: Select all
$ /bin/ls -lat ~/.config/bibleanalyzer/*
-rw-rw-r-- 1 eric eric 4198 Sep 9 21:48 /home/eric/.config/bibleanalyzer/config.ini
-rw-rw-r-- 1 eric eric 459 Sep 9 21:48 /home/eric/.config/bibleanalyzer/bibLayout.dat
-rw-rw-r-- 1 eric eric 15327 Sep 9 21:48 /home/eric/.config/bibleanalyzer/mainLayout.dat
-rw-rw-r-- 1 eric eric 1683 Aug 12 22:28 /home/eric/.config/bibleanalyzer/purchaseData.dat
-rw-r--r-- 1 eric eric 8192 Aug 12 22:25 /home/eric/.config/bibleanalyzer/default.nts
-rw-rw-r-- 1 eric eric 28 Aug 12 22:25 /home/eric/.config/bibleanalyzer/linkMonitor.dat
-rw-r--r-- 1 eric eric 8192 Aug 12 22:25 /home/eric/.config/bibleanalyzer/markup.dat
So, I decide to rename them one-by-one, and see what happens. (I am doing this live as I type . . . )
a) Rename bibLayout.dat, the smallest, to ".dat_disabled" : SUCCESS !
I have Bible Analyzer working again. Thanks for being my "rubber duck" programming buddy. (smile)
Now that everything is back to normal, I'll close off BA and see if it restarts okay. . . . Good night, everyone!