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

Martin Gruner sword-devel@crosswire.org
Wed, 12 Feb 2003 07:54:26 +0100


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

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