[bt-devel] Showstopper bugs

Eeli Kaikkonen eekaikko at mail.student.oulu.fi
Tue Nov 10 02:10:37 MST 2009


On Mon, 9 Nov 2009, Eeli Kaikkonen wrote:
> In modified SWORD Curl is initialized when the SWORD library is loaded
> (it's static code) - if you took off the comment before global_init in
> curlftpt.cpp. WebKit uses QtNetwork even if we don't use network classes
> explicitly. I guess they are both closed when the libraries are unloaded
> or destructed (I don't know what happens to dynamic libraries when
> program exits), not depending on what you do in the program.
>
> For me it's enough to open and quit BT with the modified SWORD. But with
> original Ubuntu SWORD package it doesn't segfault even if I install a
> module and then quit. This perplexes me because the default SWORD code,
> or actually the curl library, uses global_init once anyways when it's
> used. Can it depend on the order in which the libraries are loaded?
> E.g., if SWORD and curl is loaded first, then Qt.  With the old code
> curl would be initialized after Qt has been loaded and initialized,
> but with the new code curl would be initialized first.

I just started to think: if the patch is accepted in SWORD it will
affect us whether we want it or not. Curl initialization is a static
part of the patched code and is run even if curlftpt.cpp isn't used at
all. The current SWORD implementation is against curl documentation
strong recommendations (i.e. wrong) and we can't tell to keep the faulty
code even in this situation when I asked to fix it for us and nobody
else needs the fix.  The only theoretically correct thing to do is to
report the bug to Qt and/or cURL projects and hope for best.

  Yours,
	Eeli Kaikkonen (Mr.), Oulu, Finland
	e-mail: eekaikko at mailx.studentx.oulux.fix (with no x)



More information about the bt-devel mailing list