[bt-devel] FATAL ASSERT in my BibleTime 2.0 beta1 package

Jonathan Marsden jmarsden at fastmail.fm
Fri Apr 24 13:40:00 MST 2009


Eeli,

>> (BibleTime 2.0.beta1) _FATAL_: ASSERT: "sourceList.count() > 0" in file
>> /home/jonathan/packages/sword/bibletime/build-area/bibletime-2.0~beta1/src/frontend/bookshelfmanager/installpage/btsourcewidget.cpp,
>> line 224

> If no install sources are found when you open the dialog, it creates the 
> CrossWire source and adds it to the backend source list. The assertion 
> gets the source list and makes sure that the source has really been 
> added. I don't understand why it doesn't succeed.

Aha!  Thanks for putting me on the right track.  I think my preference
for using /etc/sword.conf and keeping modules under /usr/share/sword per
the library documentation just broke BibleTime?

My /etc/sword.conf says:

[Install]
DataPath=/usr/share/sword/

Of course, neither that sword.conf file nor that data location are
writeable by my "jonathan" user, but only by root.  And apparently,
someone forgot to check that before "adding to the backend source list"!

So this is (AFAICS) not a new 2.0 beta1 bug at all (which is a relief). 
It is just the lack of anyone checking whether a SWORD config gile or
data location (I suspect the former?) is writeable before trying to
write to it that bit us here.  I think BibleTime really should fail much
more gracefully in this situation :)

BTW, didn't someone (you?) suggest a couple of SWORD library methods
about two months or so ago that would help with this, by allowing
applications to check for writability ... and if so, did they make it
into the current SWORD 1.6.0RC2 codebase?  And if they did, shouldn't BT
be using them? :)

Jonathan
-- 
  Jonathan Marsden
  jmarsden at fastmail.fm




More information about the bt-devel mailing list