ABI incompatability in libsword8 (xiphos segfaults)

Bug #935574 reported by ibidem
26
This bug affects 5 people
Affects Status Importance Assigned to Milestone
biblememorizer (Ubuntu)
Fix Released
High
Scott Kitterman
bibletime (Ubuntu)
Fix Released
High
Scott Kitterman
sword (Debian)
Fix Released
Unknown
sword (Ubuntu)
Fix Released
High
Scott Kitterman
xiphos (Ubuntu)
Fix Released
High
Scott Kitterman

Bug Description

xiphos 3.1.4-3 was built against sword 1.6.1, and works with it.

With sword 1.6.2, I get a segfault. With debug packages gdb where gives me this backtrace:

#0 0x01007ca6 in ?? () from /lib/i386-linux-gnu/libc.so.6
#1 0x00e25671 in set (newVal=0x1b <Address 0x1b out of bounds>,
    this=0xbffff49c) at /build/buildd/sword-1.6.2+dfsg/include/swbuf.h:187
#2 sword::SWBuf::SWBuf (this=0xbffff49c,
    initVal=0x1b <Address 0x1b out of bounds>, initSize=0)
    at /build/buildd/sword-1.6.2+dfsg/src/utilfuns/swbuf.cpp:41
#3 0x080a052c in BackEnd::module_has_testament (this=0x84f6718,
    module_name=0x1b <Address 0x1b out of bounds>, testament=2)
    at ../src/backend/sword_main.cc:583
#4 0x080cd3e4 in main_display_bible (key=0x8667e20 "Romans 8:28",
    mod_name=0x1b <Address 0x1b out of bounds>) at ../src/main/sword.cc:1161
#5 main_display_bible (mod_name=0x8599bc0 "Darby",
    key=0x8667e20 "Romans 8:28") at ../src/main/sword.cc:1081
#6 0x080925f6 in gui_notebook_main_switch_page (notebook=0x84a9d48, page=0x0,
    page_num=0, tl=0x80f3e10) at ../src/gnome2/tabbed_browser.c:916
#7 0x080947d2 in gui_notebook_main_setup (tabs=1, tabsfile=0x0)
    at ../src/gnome2/tabbed_browser.c:1485
#8 0x080994f7 in frontend_display (tabs=0x0) at ../src/gnome2/xiphos.c:182
#9 0x08061fbd in main (argc=1, argv=0xbffff684) at ../src/main/main.c:191

Revision history for this message
ibidem (ibid-ag) wrote :

This is with Precise 12.04.
 I thought that it was bug #783019, but it can't be since the incompatability was introduced in Precise not Natty.
Xiphos works in Oneiric.

So: please do not mark as duplicate.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in sword (Ubuntu):
status: New → Confirmed
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Are you suggesting to recompile all reverse-deps on libsword8?

When I was packaging 1.6.2 I thought there is ABI change. Upstream / other maintainers convinced me that there isn't..... I guess there actually is one.

Is there anyway to verify ABI change?

Revision history for this message
ibidem (ibid-ag) wrote :

I haven't figured out the tools, but there are abi-compliance-checker, abicheck, and icheck.

It looks like the abi is mostly the same (xsword compiled against 1.6.1 still works), but there's one change that broke xiphos and apparently bibletime (from what I hear)--so I suspect that recompiling reverse dependencies would be the proper approach.
This should probably get upstream testing and be forwarded there, but I'm not sure I'll have an opportunity soon.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :
Revision history for this message
Glenn Seymour (opensauce) wrote :

I am getting a crash on start up using Precise on Xiphos... any ideas when this fault will get fixed? I use Xiphos all the time... =(

Revision history for this message
Roland (Rolandixor) Taylor (rolandixor) wrote :

Any clue if this will be fixed soon? I'm getting the problem on 32bit only, and I have another system to upgrade to 12.04 soon...

Revision history for this message
ibidem (ibid-ag) wrote :

As a temporary workaround, I have libsword 1.6.1 in my foreports ppa (ppa:ibid-ag/oldgtk1)
Note that that PPA is used for a number of packages that are older than "current" or have been dropped from Ubuntu;
you may want to pin libsword, but probably not the PPA.

Revision history for this message
ibidem (ibid-ag) wrote :

@roland: It isn't architecture specific, AFAIK. The problem is that the API and ABI have changed, but it's still libsword.so.8

Revision history for this message
Scott Kitterman (kitterman) wrote :

This is fixed in Debian now and we'll get it done for Precise as well.

Changed in sword (Ubuntu):
status: Confirmed → In Progress
assignee: nobody → Scott Kitterman (kitterman)
milestone: none → ubuntu-12.04
Revision history for this message
Scott Kitterman (kitterman) wrote :

For the record, this was discussed and agreed on #ubuntu-release among the release team to go ahead with it.

Changed in biblememorizer (Ubuntu):
status: New → In Progress
Changed in bibletime (Ubuntu):
status: New → In Progress
Changed in biblememorizer (Ubuntu):
importance: Undecided → High
Changed in bibletime (Ubuntu):
importance: Undecided → High
Changed in sword (Ubuntu):
importance: Undecided → High
Changed in xiphos (Ubuntu):
importance: Undecided → High
Changed in biblememorizer (Ubuntu):
milestone: none → ubuntu-12.04
Changed in bibletime (Ubuntu):
milestone: none → ubuntu-12.04
Changed in xiphos (Ubuntu):
milestone: none → ubuntu-12.04
assignee: nobody → Scott Kitterman (kitterman)
Changed in bibletime (Ubuntu):
assignee: nobody → Scott Kitterman (kitterman)
Changed in biblememorizer (Ubuntu):
assignee: nobody → Scott Kitterman (kitterman)
Revision history for this message
Scott Kitterman (kitterman) wrote :

This bug was fixed in the package sword - 1.6.2+dfsg-3

---------------
sword (1.6.2+dfsg-3) unstable; urgency=low

  * Fix FTBFS if running binary-arch target only.

 -- Dmitrijs Ledkovs <email address hidden> Mon, 09 Apr 2012 14:58:48 +0100

sword (1.6.2+dfsg-2) unstable; urgency=low

  [ Dmitrijs Ledkovs <email address hidden> ]
  * Fix linking against CLucene
  * Backport CMake changes
  * Set sword config path to /etc
  * ABI was broken in 1.6.2, bump soname to libsword9 (Closes: 663096)
  * Split libswordX into libswordX, -utils & -common, to make libswordX
    non-conflicting with libswordX+1

 -- Dmitrijs Ledkovs <email address hidden> Sat, 07 Apr 2012 14:22:48 +0100

Changed in sword (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Any chance of syncing newer xiphos 3.1.5+dfsg-1 as part of this?

Reasons:
* currently xiphos in precise is using gtkhtml backend, because xulrunner was dropped
* 3.1.5+dfsg-1 has webkit backend which is better than obsolete xulrunner backend
* webkit is the only backend support by upstream going forward
* this would complete the goal for the Specs/Lucid/FirefoxNewSupportModel/xulrunner-list to migrate to webkit

Even without sync, recompiling xiphos will resolve bug #899090 (please keep it private, as it and all of it's dupes contain sensitive personal data)

Regards,

Dmitrijs.

ps. Too bad, I couldn't be at the release meeting. Will read the logs.

Revision history for this message
Scott Kitterman (kitterman) wrote :

Are there any other new features in 3.1.5? If not, I agree syncing it sounds better.

All the rebuilds are uploaded and waiting for the new sword, but that doesn't preclude syncing 3.1.5 if that seems like the right thing to do.

Changed in xiphos (Ubuntu):
status: New → Fix Committed
Changed in biblememorizer (Ubuntu):
status: In Progress → Fix Committed
Changed in bibletime (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Scott Kitterman (kitterman) wrote :

I noticed the new version is FTBFS on armel in Debian. That would have to be addressed too.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

3.1.5 really is:
* bugfixes
* drop xulrunner
* gain webkit
* gain gtk3

Revision history for this message
Matthew Talbert (ransom1982) wrote : Re: [Bug 935574] Re: ABI incompatability in libsword8 (xiphos segfaults)

(Upstream developer) 3.1.5 was primarily bug fixes and moving the backend
to Webkit.

On Wed, Apr 11, 2012 at 12:14 PM, Scott Kitterman <email address hidden>wrote:

> Are there any other new features in 3.1.5? If not, I agree syncing it
> sounds better.
>
> All the rebuilds are uploaded and waiting for the new sword, but that
> doesn't preclude syncing 3.1.5 if that seems like the right thing to do.
>
> ** Changed in: xiphos (Ubuntu)
> Status: New => Fix Committed
>
> ** Changed in: biblememorizer (Ubuntu)
> Status: In Progress => Fix Committed
>
> ** Changed in: bibletime (Ubuntu)
> Status: In Progress => Fix Committed
>
> --
> You received this bug notification because you are subscribed to xiphos
> in Ubuntu.
> https://bugs.launchpad.net/bugs/935574
>
> Title:
> ABI incompatability in libsword8 (xiphos segfaults)
>
> Status in “biblememorizer” package in Ubuntu:
> Fix Committed
> Status in “bibletime” package in Ubuntu:
> Fix Committed
> Status in “sword” package in Ubuntu:
> Fix Released
> Status in “xiphos” package in Ubuntu:
> Fix Committed
> Status in “sword” package in Debian:
> Unknown
>
> Bug description:
> xiphos 3.1.4-3 was built against sword 1.6.1, and works with it.
>
> With sword 1.6.2, I get a segfault. With debug packages gdb where
> gives me this backtrace:
>
> #0 0x01007ca6 in ?? () from /lib/i386-linux-gnu/libc.so.6
> #1 0x00e25671 in set (newVal=0x1b <Address 0x1b out of bounds>,
> this=0xbffff49c) at /build/buildd/sword-1.6.2+dfsg/include/swbuf.h:187
> #2 sword::SWBuf::SWBuf (this=0xbffff49c,
> initVal=0x1b <Address 0x1b out of bounds>, initSize=0)
> at /build/buildd/sword-1.6.2+dfsg/src/utilfuns/swbuf.cpp:41
> #3 0x080a052c in BackEnd::module_has_testament (this=0x84f6718,
> module_name=0x1b <Address 0x1b out of bounds>, testament=2)
> at ../src/backend/sword_main.cc:583
> #4 0x080cd3e4 in main_display_bible (key=0x8667e20 "Romans 8:28",
> mod_name=0x1b <Address 0x1b out of bounds>) at
> ../src/main/sword.cc:1161
> #5 main_display_bible (mod_name=0x8599bc0 "Darby",
> key=0x8667e20 "Romans 8:28") at ../src/main/sword.cc:1081
> #6 0x080925f6 in gui_notebook_main_switch_page (notebook=0x84a9d48,
> page=0x0,
> page_num=0, tl=0x80f3e10) at ../src/gnome2/tabbed_browser.c:916
> #7 0x080947d2 in gui_notebook_main_setup (tabs=1, tabsfile=0x0)
> at ../src/gnome2/tabbed_browser.c:1485
> #8 0x080994f7 in frontend_display (tabs=0x0) at ../src/gnome2/xiphos.c:182
> #9 0x08061fbd in main (argc=1, argv=0xbffff684) at ../src/main/main.c:191
>
> To manage notifications about this bug go to:
>
> https://bugs.launchpad.net/ubuntu/+source/biblememorizer/+bug/935574/+subscriptions
>

Revision history for this message
Scott Kitterman (kitterman) wrote :

That seems fine then. I also test built it on Ubuntu i386 with the new sword
package and it builds fine. The remaining question is armel.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

True, about armel. xiphos 3.1.5 did fail to build on armel in sid. But at configure stage. I wonder if all dependencies are available. Didn't have time to investigate yet.

Changed in sword (Debian):
status: Unknown → Fix Released
Revision history for this message
Scott Kitterman (kitterman) wrote :

I have access to an Ubuntu armel box. I'll try it and see.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package bibletime - 2.8.1-2build1

---------------
bibletime (2.8.1-2build1) precise; urgency=low

  * Rebuild with libsword9 due to ABI breakage (LP: #935574)
    - Temporarily bump libsword-dev build-dep version to prevent archive skew
 -- Scott Kitterman <email address hidden> Wed, 11 Apr 2012 11:54:23 -0400

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package biblememorizer - 0.6.4-3build1

---------------
biblememorizer (0.6.4-3build1) precise; urgency=low

  * Rebuild with libsword9 due to ABI breakage (LP: #935574)
    - Temporarily bump libsword-dev build-dep version to prevent archive skew
 -- Scott Kitterman <email address hidden> Wed, 11 Apr 2012 11:50:58 -0400

Changed in biblememorizer (Ubuntu):
status: Fix Committed → Fix Released
Changed in bibletime (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Scott Kitterman (kitterman) wrote :

This bug was fixed in the package xiphos - 3.1.5+dfsg-1

---------------
xiphos (3.1.5+dfsg-1) unstable; urgency=low

  [ Dmitrijs Ledkovs <email address hidden> ]
  * New upstream release.
  * Build using webkit backend
  * Contains unpacked source for waf binary (Closes: #654511)
  * Update debian/copyright to latest specification

 -- Dmitrijs Ledkovs <email address hidden> Sun, 11 Mar 2012 18:43:32 +0000

Changed in xiphos (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Scott Kitterman (kitterman) wrote :

Now it should just be a matter of waiting for everything to build.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.