[sword-devel] BibleTime or Sword crashes on startup on Mac OS X
Alfonso Guerra
sword-devel@crosswire.org
Tue, 11 Feb 2003 15:44:40 -0600
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