Bug #55

nntpgrab_gui: symbol lookup error: nntpgrab_gui: undefined symbol: soup_content_decoder_get_type

Added by eustonr over 4 years ago. Updated over 4 years ago.

Status:Closed Start:09/10/2010
Priority:Normal Due date:
Assigned to:Alguno % Done:

0%

Category:Infrastructure
Target version:0.7.0
Votes: 0

Description

Installing on Fedora 12 gets the following errors when running from the commandline :

[eustonr@beast ~]$ nntpgrab_gui
Xlib: extension "RANDR" missing on display ":0.0".
nntpgrab_gui: symbol lookup error: nntpgrab_gui: undefined symbol: soup_content_decoder_get_type
[eustonr@beast ~]$ nntpgrab_gui_qt
Xlib: extension "RANDR" missing on display ":0.0".
Segmentation fault

This was fixed, by updating the libsoup and libsoup2 libraries to the latest versions :

[eustonr@beast ~]$ rpm -q libsoup
libsoup-2.28.2-1.fc12.x86_64
[eustonr@beast ~]$ rpm -q libsoup22
libsoup22-2.2.105-6.fc12.x86_64
[eustonr@beast ~]$

Therefore there needs to be a change in the rpm/yum pre-requisites for the new version of nntpgrab (6.90)

History

Updated by eustonr over 4 years ago

Ooops - spoke to soon. The library update fixes the standard gui, but not the qt version - it still seg faults

Updated by Alguno over 4 years ago

  • Status changed from New to In Progress

The segfault in the Qt frontend probably is a different issue than the libsoup one.
Could you please try to generate a stack trace of the segfault? Instructions can be found at the Debugging page.
Note that the instructions refer to the 'nntpgrab_gui' binary. To debug the Qt frontend you have to use the 'nntpgrab_gui_qt' binary there

Updated by eustonr over 4 years ago

Hi - Here's the trace info requested...

----cut here ----

Thread 1 (Thread 0x7ffff773f840 (LWP 3344)):
#0 QMetaObject::cast (this=0x65a320, obj=0x7fffffffdfb0) at kernel/qmetaobject.cpp:306
#1 0x00000031723863f3 in qobject_cast<QDialog const*> (object=<value optimized out>)
at ../../src/corelib/kernel/qobject.h:456
#2 QPushButtonPrivate::dialogParent (object=<value optimized out>)
at widgets/qpushbutton.cpp:300
#3 0x0000003172386445 in QPushButton::autoDefault (this=<value optimized out>)
at widgets/qpushbutton.cpp:358
#4 0x0000003172386a4c in QPushButton::initStyleOption (this=0x807ff0, option=
0x7fffffffdbc0) at widgets/qpushbutton.cpp:327
#5 0x0000003172386c30 in QPushButtonPrivate::resetLayoutItemMargins (this=0x7f3cb0)
at widgets/qpushbutton.cpp:623
#6 0x00000031723878eb in init (this=0x7fffffffdfb0)
at ../../src/gui/widgets/qpushbutton_p.h:70
#7 QPushButton::QPushButton (this=0x7fffffffdfb0) at widgets/qpushbutton.cpp:245
#8 0x0000000000429e33 in Ui_DialogConnect::setupUi (this=0x7cd010, DialogConnect=
0x7fffffffdfb0) at ui_DialogConnect.h:137
#9 0x0000000000428b62 in DialogConnect::DialogConnect (this=0x7fffffffdfb0,
parent=<value optimized out>) at DialogConnect.cpp:12
#10 0x000000000040db90 in main (argc=1, argv=<value optimized out>) at main.cpp:50
(gdb) thread apply all bt full

Thread 1 (Thread 0x7ffff773f840 (LWP 3344)):
#0 QMetaObject::cast (this=0x65a320, obj=0x7fffffffdfb0) at kernel/qmetaobject.cpp:306
m = 0xd00000001
#1 0x00000031723863f3 in qobject_cast<QDialog const*> (object=<value optimized out>)
at ../../src/corelib/kernel/qobject.h:456
No locals.
#2 QPushButtonPrivate::dialogParent (object=<value optimized out>)
at widgets/qpushbutton.cpp:300
dialog = <value optimized out>
p = <value optimized out>
#3 0x0000003172386445 in QPushButton::autoDefault (this=<value optimized out>)
at widgets/qpushbutton.cpp:358
d = <value optimized out>
#4 0x0000003172386a4c in QPushButton::initStyleOption (this=0x807ff0, option=
0x7fffffffdbc0) at widgets/qpushbutton.cpp:327
d = 0x7f3cb0
#5 0x0000003172386c30 in QPushButtonPrivate::resetLayoutItemMargins (this=0x7f3cb0)
at widgets/qpushbutton.cpp:623
q = 0x807ff0
opt = {<QStyleOption> = {version = 1, type = 2, state = {i = 1}, direction =
LeftToRight, rect = {x1 = 0, y1 = 0, x2 = 99, y2 = 29}, fontMetrics = {d =
0x7ccb80}, palette = {static staticMetaObject = {d = {superdata = 0x0, stringdata =
0x31725e5dc0 "QPalette", data = 0x31725e5f00, extradata = 0x0}}, d = 0x7c8800,
current_group = 0, resolve_mask = 0}}, features = {i = 0}, text = {
static null = {<No data fields>}, static shared_null = {ref = {_q_value =
1}, alloc = 0, size = 0, data = 0x65a43a, clean = 0, simpletext = 0, righttoleft =
0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {
ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x3171239d5a, clean = 0,
simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved =
0, array = {0}}, d = 0x65a420, static codecForCStrings = 0x0}, icon = {d = 0x0},
iconSize = {wd = 1, ht = -1}}
#6 0x00000031723878eb in init (this=0x7fffffffdfb0)
at ../../src/gui/widgets/qpushbutton_p.h:70
No locals.
#7 QPushButton::QPushButton (this=0x7fffffffdfb0) at widgets/qpushbutton.cpp:245
d = 0x7fffffffdfb0
#8 0x0000000000429e33 in Ui_DialogConnect::setupUi (this=0x7cd010, DialogConnect=
0x7fffffffdfb0) at ui_DialogConnect.h:137
icon = {d = 0x7cc750}
#9 0x0000000000428b62 in DialogConnect::DialogConnect (this=0x7fffffffdfb0,
parent=<value optimized out>) at DialogConnect.cpp:12
No locals.
#10 0x000000000040db90 in main (argc=1, argv=<value optimized out>) at main.cpp:50
a = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x3172990790,
static staticMetaObject = {d = {superdata = 0x0, stringdata =
--Type <return> to continue, or q <return> to quit---info locals
0x3170fd34e0 "QObject", data = 0x3170fd3580, extradata = 0x3171231580}}, d_ptr =
0x65b420, static staticQtMetaObject = {d = {superdata = 0x0, stringdata =
0x3170fdcd60 "Qt", data = 0x3170fe00e0, extradata = 0x0}}},
static staticMetaObject = {d = {superdata = 0x65a300, stringdata =
0x3170fe5280 "QCoreApplication", data = 0x3170fe5320, extradata = 0x0}},
static self = 0x7fffffffe010}, static staticMetaObject = {d = {superdata =
0x3171238580, stringdata = 0x3172594280 "QApplication", data = 0x3172594480,
extradata = 0x0}}}
qtTranslator = {<QObject> = {_vptr.QObject = 0x31712388d0,
static staticMetaObject = {d = {superdata = 0x0, stringdata =
0x3170fd34e0 "QObject", data = 0x3170fd3580, extradata = 0x3171231580}}, d_ptr =
0x7ce090, static staticQtMetaObject = {d = {superdata = 0x0, stringdata =
0x3170fdcd60 "Qt", data = 0x3170fe00e0, extradata = 0x0}}},
static staticMetaObject = {d = {superdata = 0x65a300, stringdata =
0x3170fe56c0 "QTranslator", data = 0x3170fe56e0, extradata = 0x0}}}
nntpgrabTranslator = {<QObject> = {_vptr.QObject = 0x31712388d0,
static staticMetaObject = {d = {superdata = 0x0, stringdata =
0x3170fd34e0 "QObject", data = 0x3170fd3580, extradata = 0x3171231580}}, d_ptr =
0x7cdee0, static staticQtMetaObject = {d = {superdata = 0x0, stringdata =
0x3170fdcd60 "Qt", data = 0x3170fe00e0, extradata = 0x0}}},
static staticMetaObject = {d = {superdata = 0x65a300, stringdata =
0x3170fe56c0 "QTranslator", data = 0x3170fe56e0, extradata = 0x0}}}
d = {<QDialog> = {<QWidget> = {<QObject> = {_vptr.QObject = 0x442f90,
static staticMetaObject = {d = {superdata = 0x0, stringdata =
0x3170fd34e0 "QObject", data = 0x3170fd3580, extradata = 0x3171231580}}, d_ptr =
0x7cefd0, static staticQtMetaObject = {d = {superdata = 0x0, stringdata =
0x3170fdcd60 "Qt", data = 0x3170fe00e0, extradata = 0x0}}}, <QPaintDevice> = {
_vptr.QPaintDevice = 0x443168, painters = 0}, static staticMetaObject = {
d = {superdata = 0x65a300, stringdata = 0x3172598100 "QWidget", data =
0x3172598640, extradata = 0x0}}, data = 0x7cf058}, static staticMetaObject = {d = {
superdata = 0x65a540, stringdata = 0x31725d4980 "QDialog", data =
0x31725d4a20, extradata = 0x0}}}, static staticMetaObject = {d = {superdata =
0x65a320, stringdata = 0x442ea0 "DialogConnect", data = 0x442f00, extradata = 0x0}},
ui = 0x7cd010, w = 0x659d28}
(gdb)

Updated by Alguno over 4 years ago

  • Category set to Infrastructure
  • Assigned to set to Alguno
  • Target version set to 0.7.0

A new RPM package has just been published which fixes the undefined symbol error.
I tried to analyze the Qt crash on a Fedora 12 x86_64 environment, but I wasn't able to reproduce it.
What version of Qt do you have installed? You can use this command to retrieve this information: rpm -qa | grep qt | sort

Updated by eustonr over 4 years ago

My version is qt-4.5.3-7.fc12.x86_64, compared to my other FC12 machine (which works) qt-4.6.2-17.fc12.x86_64

So thats the issue here.

I'm trying to update QT to fix it, but my install is an updated corporate version of fc11, and it appears not everything was updated correctly to fc12 - I wont go into it here, but the result is yum update is broken for certain apps - unfortunately qt is one of them... Looks like a re-install is required... )-:

Updated by Alguno over 4 years ago

  • Status changed from In Progress to Closed

The NNTPGrab package for Fedora 12 is built against Qt 4.6, so you need Qt 4.6 or higher to run it.
I just updated the package to have an explicit requirement on Qt 4.6 or higher.
That's all I can do, so I'm closing the bugreport

Also available in: Atom PDF