[sword-devel] BibleTime or Sword crashes on startup on Mac OS X

Alfonso Guerra sword-devel@crosswire.org
Thu, 13 Feb 2003 09:55:52 -0600


On Wednesday, February 12, 2003, at 12:54  AM, Martin Gruner wrote:

> Alfonso,
>
> sorry for the silence you experienced here.
> Well I am not an expert in this area, but it looks rather like a sword  
> bug /
> compile issue. Could you try to compile and run the sword test programs
> included with sword? That might be a starting point for you to  
> investigate
> further.
>
> mg

What sort of docs are there relative to the test programs? I've run  
them and have gotten the following output:

casttest - prints several blank lines

complzss:
usage: complzss <filename|filename.lzs>

compnone:
usage: compnone <filename|filename.zzz>

compzip:
usage: compzip <filename|filename.zip>

configtest:
Should be Value2: Value2

filtertest:
Original:



-------

                 <verse osisID="Jas.1.1"></verse>

+++++++

genbooktest: wanted a path (for a general book?) and when I invoked it  
again with a path it set idling for nearly an hour.

indextest: output lines of numbers, starting with -24055, then  
sequentially numbered from 4 to 32300 (skipping approximately 1,194  
numbers).

introtest: sat and thought for a while before outputting:
Module heading text ?= Module heading text
OT heading text ?= OT heading text
Gen heading text ?= Gen heading text
Gen 1 heading text ?= Gen 1 heading text
Gen 1:1 text ?= Gen 1:1 text

keycast:
         On
         Off

keytest: - Output a bunch of lines in the midst of which spewed this:

Revelation of John 22:21(8245)
Revelation of John 22:21(8245)
Revelation of John 22:21(8245)


-------- Error Check ------------

bla = "Revelation of John 23:19"
(const char *)bla = Revelation of John 22:21
bla.Error() = 1
bla++
bla.Error() = 1
Revelation of John 22:21
Jude 1:1

lextest - also set there for a good while, so I aborted it (I wasn't  
going to wait another hour)

listtest:
test1
John 1:1
Jude 1:1
Jude 1:2
Jude 1:3
Jude 1:4
Jude 1:5
Jude 1:6
Jude 1:7
Jude 1:8
Jude 1:9
Jude 1:10
Jude 1:11
Jude 1:12
Jude 1:13
Jude 1:14
Jude 1:15
Jude 1:16
Jude 1:17
Jude 1:18
Jude 1:19
Jude 1:20
Jude 1:21
Jude 1:22
Jude 1:23
Jude 1:24
Jude 1:25
test2
John 21:1---------
Matthew 1:1
Matthew 1:2

until

John 21:25

localetest:
usage: localetest <locale_name> <text>

I had no idea what that meant, so I invoked it again: localetest en_US  
kjv
en_US
Jakobus 1:19
Johannes 1:1
Bus error

mgrtest:
Checking working directory for mods.conf...
Checking working directory for mods.d...
Checking SWORD_PATH...
Parsing /sw/etc/sword.conf...
Checking for /sw/etc/sword.conf...found
DataPath in /sw/etc/sword.conf is set to: /sw/share/sword/
Checking for mods.conf in DataPath
Checking for mods.d in DataPath found
Checking working directory for mods.conf...
Checking working directory for mods.d...
Checking SWORD_PATH...
Parsing /sw/etc/sword.conf...
Checking for /sw/etc/sword.conf...found
DataPath in /sw/etc/sword.conf is set to: /sw/share/sword/
Checking for mods.conf in DataPath
Checking for mods.d in DataPath found


prefixPath: /sw/share/sword/
configPath: /sw/share/sword/mods.d

[2BabDict] (Writable: No) [Definitions and Symbols from The Two  
Babylons]
AbsoluteDataPath =  
/sw/share/sword/./modules/lexdict/rawld/2babdict/2babdict
Has Feature HebrewDef = 0
[ACV] (Writable: No) [A Conservative Version]
AbsoluteDataPath = /sw/share/sword/./modules/texts/ztext/acv/
Has Feature HebrewDef = 0


[AKJV] (Writable: No) [American King James Version]
AbsoluteDataPath = /sw/share/sword/./modules/texts/rawtext/akjv/
Has Feature HebrewDef = 0

and a lot of other modules!

[losung_en_96] (Writable: No) [1996 Watchwords (Losung) in English]
AbsoluteDataPath =  
/sw/share/sword/./modules/lexdict/rawld/losung/en/96/losung_en_96
Has Feature HebrewDef = 0
[losung_en_97] (Writable: No) [1997 Watchwords (Losung) in English]
AbsoluteDataPath =  
/sw/share/sword/./modules/lexdict/rawld/losung/en/97/losung_en_97
Has Feature HebrewDef = 0
[losung_en_98] (Writable: No) [1998 Watchwords (Losung) in English]
AbsoluteDataPath =  
/sw/share/sword/./modules/lexdict/rawld/losung/en/98/losung_en_98
Has Feature HebrewDef = 0
[losung_en_99] (Writable: No) [1999 Watchwords (Losung) in English]
AbsoluteDataPath =  
/sw/share/sword/./modules/lexdict/rawld/losung/en/99/losung_en_99
Has Feature HebrewDef = 0

modtest:
Bus error

nt:
./nt: Permission denied.

I had no idea what it wanted to do, so I didn't invoke it as root.

ot:
./ot: Permission denied.

Ditto.

parsekey:
usage: parsekey <"string to parse"> [locale name]

hmmm...okay:

parsekey "Jesus is Lord!" en_US

nothing.

rawldidxtest:
usage: rawldidxtest <lex path>

I have no idea what it wants or how to tell if it's fine.

romantest XIX:
19

swaptest:
0x00ff 0xff00
0x000000ff 0xff000000

testblocks: I have no idea what it's doing

treeidxtest:
usage: treeidxtest <tree/key/data/path>

Anyway, those are the results of running the tests as far as I know  
what they're for and how to use them.

If anyone else has some idea of what the problems are, I'd be happy to  
try for some new insights into the cause of my difficulty.

Alfonso

>
> Am Dienstag, 11. Februar 2003 22:44 schrieb Alfonso Guerra:
>> Anyone have any thoughts on what the possible causes might be or how  
>> to
>> pinpoint the fault?
>>
>> On Sunday, February 9, 2003, at 05:15  AM, Alfonso Guerra wrote:
>>> I'm trying to get bibletime 1.3beta4 to run on Mac OS X using Apple's
>>> X11 with KDE 3.1. Here's a dump of what happens under gdb:
>>>
>>> GNU gdb 5.3-20021014 (Apple version gdb-250) (Sat Dec  7 02:14:27 GMT
>>> 2002)
>>> Copyright 2002 Free Software Foundation, Inc.
>>> GDB is free software, covered by the GNU General Public License, and
>>> you are
>>> welcome to change it and/or distribute copies of it under certain
>>> conditions.
>>> Type "show copying" to see the conditions.
>>> There is absolutely no warranty for GDB.  Type "show warranty" for
>>> details.
>>> This GDB was configured as "powerpc-apple-macos10".
>>> Reading symbols for shared libraries ........ done
>>> (gdb) run
>>> Starting program: /sw/bin/bibletime
>>> [Switching to process 3295 thread 0xb03]
>>> Reading symbols for shared libraries . done
>>> Reading symbols for shared libraries
>>> ..................................................................... 
>>> ..
>>> ........... done
>>>
>>> Program received signal SIGABRT, Aborted.
>>> 0x9001b52c in kill ()
>>> (gdb) bt
>>> #0  0x9001b52c in kill ()
>>> #1  0x9005ceec in abort ()
>>> #2  0x027b6ff0 in __cxxabiv1::__terminate(void (*)()) ()
>>> #3  0x027b705c in std::terminate() ()
>>> #4  0x027b7a8c in __cxa_throw ()
>>> #5  0x027b6840 in std::__throw_logic_error(char const*) ()
>>> #6  0x027b6518 in char* std::string::_S_construct<char const*>(char
>>> const*, char const*, std::allocator<char> const&,
>>> std::forward_iterator_tag) ()
>>> #7  0x027b3164 in std::string::string(char const*,
>>> std::allocator<char> const&) ()
>>> #8  0x0277f3ac in sword::LocaleMgr::getLocale(char const*)
>>> (this=0x27f9de4, name=0x0) at
>>> /usr/include/gcc/darwin/3.1/g++-v3/bits/stl_alloc.h:630
>>> #9  0x0276b2ec in sword::VerseKey::setLocale(char const*)
>>> (this=0x10696c, name=0x0) at ../src/keys/versekey.cpp:159
>>> #10 0x0276ae8c in sword::VerseKey::VerseKey(char const*)
>>> (this=0x10696c, ikey=0x0) at ../src/keys/versekey.cpp:91
>>> #11 0x000e34bc in __static_initialization_and_destruction_0(int, int)
>>> ()
>>> #12 0x8fe16594 in __dyld_call_module_initializers_for_objects ()
>>> #13 0x8fe160a0 in __dyld_call_module_initializers ()
>>> #14 0x8fe133ac in __dyld__dyld_make_delayed_module_initializer_calls  
>>> ()
>>> #15 0x00002598 in _call_mod_init_funcs () at
>>> /SourceCache/Csu/Csu-45/crt.c:299
>>> #16 0x00002480 in _start (argc=1, argv=0xbffffaac, envp=0xbffffab4)  
>>> at
>>> /SourceCache/Csu/Csu-45/crt.c:217
>>> #17 0x000023e0 in start ()
>>> (gdb) list sword::VerseKey::setLocale
>>> 141
>>> 142             --instance;
>>> 143     }
>>> 144
>>> 145
>>> 146     void VerseKey::setLocale(const char *name) {
>>> 147             char *BMAX;
>>> 148             struct sbook **books;
>>> 149             bool useCache = false;
>>> 150
>>> (gdb)
>>> 151             if (localeCache.name)
>>> 152                     useCache = (!strcmp(localeCache.name, name));
>>> 153
>>> 154             if (!useCache)  {       // if we're setting params  
>>> for
>>> a new locale
>>> 155                     stdstr(&(localeCache.name), name);
>>> 156                     localeCache.abbrevsCnt = 0;
>>> 157             }
>>> 158
>>> 159             SWLocale *locale = (useCache) ? localeCache.locale :
>>> LocaleMgr::systemLocaleMgr.getLocale(name);
>>> 160             localeCache.locale = locale;
>>> (gdb)
>>> 161
>>> 162             if (locale) {
>>> 163                     locale->getBooks(&BMAX, &books);
>>> 164                     setBooks(BMAX, books);
>>> 165                     setBookAbbrevs(locale->getBookAbbrevs(),
>>> localeCache.abbrevsCnt);
>>> 166                     localeCache.abbrevsCnt = abbrevsCnt;
>>> 167             }
>>> 168             else {
>>> 169                     setBooks(builtin_BMAX, builtin_books);
>>> 170                     setBookAbbrevs(builtin_abbrevs,
>>> localeCache.abbrevsCnt);
>>>
>>> It's difficult to tell *why* it's failing, but it is. Perhaps the
>>> globals aren't being initialized in the correct order. In any case, a
>>> solution or possible causes would be appreciated.
>>>
>>> Alfonso
>>>
>>> _______________________________________________
>>> sword-devel mailing list
>>> sword-devel@crosswire.org
>>> http://www.crosswire.org/mailman/listinfo/sword-devel
>>
>> _______________________________________________
>> sword-devel mailing list
>> sword-devel@crosswire.org
>> http://www.crosswire.org/mailman/listinfo/sword-devel
>
> _______________________________________________
> sword-devel mailing list
> sword-devel@crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel