Opened 14 years ago

Closed 14 years ago

#2475 closed bug (invalid)

Segmentation Fault in 1.4, opensuse 11.2

Reported by: jtornero Owned by: nobody
Priority: critical: causes crash or data corruption Milestone: Version 1.6.0
Component: Python plugins and bindings Version: 1.4.0
Keywords: Cc:
Must Fix for Release: Yes Platform: SuSE
Platform Version: Awaiting user input: yes

Description

When Qgis starts, it crashes whith this message:


rewrewqr@ewrqwerqw:~/.config/QuantumGIS> qgis Python support ENABLED :-) Loaded : fTools (package: fTools) Warning: QHttp: empty path requested is invalid -- using '/' Loaded : Plugin Installer (package: plugin_installer) Violación de segmento (Segmentation fault)


I've been looking around and I've found that the problem itself occurs when plugin_installer is loaded (maybe that's why if you run qgis as root it works until you try to use the plugin installer, because I guess different users have different QGIS.conf files and in root maybe the plugin is not activated by default, so it's not loaded at start)

If you modify your QGIS.conf and set the string under [PythonPlugins] plugin_installer to false, it starts (but at soon as you select the plugin in the plugin manager and accept it crashes). Also is posible to start if you set the string under [QGis] plugin-installer\checkOnStart to false, in this case even if you have selected the plugin Qgis will start.

I don't know much about debugging and stuff but I've make a dbg qgis with this result (I ommit a lot of lines before):

Try: zypper install -C "debuginfo(build-id)=5a01875b572dc7f1dc3bd2aa0317bd5c16b36d05" Python support ENABLED :-) Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/math.so Try: zypper install -C "debuginfo(build-id)=4458c4c5053a5061dddb6f6d1db7782cb6b3fb86" Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/itertools.so Try: zypper install -C "debuginfo(build-id)=2810e6a3e22bae059e320128defb02d1a1fca7ce" Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/_struct.so Try: zypper install -C "debuginfo(build-id)=31f94a0ad84e920fda6bc15abe62f8d40f9f3b7a" Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/datetime.so Try: zypper install -C "debuginfo(build-id)=a178f24bded8eac318be7706ff526d0cfa452413" Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/_collections.so Try: zypper install -C "debuginfo(build-id)=afbc1f0256196518930ca48c6eb74accf09a4552" Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/operator.so Try: zypper install -C "debuginfo(build-id)=79427d04efb7e8747c51993246f46d1282e91a7d" Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/_functools.so Try: zypper install -C "debuginfo(build-id)=4fba3d2da44cc7f455ffc883bd2a6b0de4a8fe94" Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/time.so Try: zypper install -C "debuginfo(build-id)=527a1a43efd2e9702a4affc34a805e9824e08d7c" Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/_csv.so Try: zypper install -C "debuginfo(build-id)=e6ef1eb7a75617f5535ef8fba19fcc2587a87f1e" Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/cStringIO.so Try: zypper install -C "debuginfo(build-id)=5d672746cbefe392a78aecb1135800d4806d4fb5" Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/binascii.so Try: zypper install -C "debuginfo(build-id)=61fdb37e66a9cb9486056e404f49921cbea1e14b" Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/_random.so Try: zypper install -C "debuginfo(build-id)=532d0115b896c0bd8b1a3fd6fa5adb3d963f7835" Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/select.so Try: zypper install -C "debuginfo(build-id)=ba1b9d92293aeb23ca132eb2e7212783cd290d31" Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/fcntl.so Try: zypper install -C "debuginfo(build-id)=2e11381f39a2393fac77cbf169571de9bd7404b8" Loaded : fTools (package: fTools) Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/_sqlite3.so Try: zypper install -C "debuginfo(build-id)=acb37beabc55aeaadab58b029e813c5c511a4d3d" Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/unicodedata.so Try: zypper install -C "debuginfo(build-id)=1a99a0e33642f5971b234bcc58918ea807a2998e" Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/zlib.so Try: zypper install -C "debuginfo(build-id)=353df9fab19918b521114dcccd53ce55bcd724e3" Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/strop.so Try: zypper install -C "debuginfo(build-id)=abe44c078b1362972447ce77e7d0f9c58f12ed90" Missing separate debuginfo for /usr/lib/python2.6/lib-dynload/_locale.so Try: zypper install -C "debuginfo(build-id)=8033610963dbeef57d4995df6f33bcfe42c94216" Detaching after fork from child process 10333. Loaded : Plugin Installer (package: plugin_installer) Warning: QObject::connect: Incompatible sender/receiver arguments

QgsProject::writeProject(QDomDocument&) --> QgisApp::projectChanged(QDomDocument)

Warning: QHttp: empty path requested is invalid -- using '/'

Program received signal SIGSEGV, Segmentation fault. 0xb61493d8 in strcmp () from /lib/libc.so.6

I also attach a file from strace. Hope it helps. I am newbie reporting things like this.

Best Regards

Jorge Tornero

Attachments (1)

traza.txt.tar.gz (152.9 KB ) - added by jtornero 14 years ago.
strace output

Download all attachments as: .zip

Change History (14)

by jtornero, 14 years ago

Attachment: traza.txt.tar.gz added

strace output

comment:1 by pcav, 14 years ago

Which SIP do you have?

in reply to:  1 comment:2 by jtornero, 14 years ago

Replying to pcav:

Which SIP do you have?

Well, I have installed python-sip 4.9.1-1.1.1.

By the way, yesterday I've done a DIY debbugging (adding print sentences before and after loops and if-elses, etc) and I think the segfault occurs (at least) when the plugin isntaller scripts goes into line #153 in file installer_plugin.py, when calling self.fetchDlg.exec_().

Moreover, I think I've sent an useless trace made with strace, maybe is more interesting the bt from gdb. Please tell me if all this is useless or junk for future reports.

Thank you very much for your help

Cheers,

Jorge Tornero

Program received signal SIGSEGV, Segmentation fault. 0xb61493d8 in strcmp () from /lib/libc.so.6 (gdb) bt #0 0xb61493d8 in strcmp () from /lib/libc.so.6 #1 0x076e3f5d in ?? () from /opt/PostgresPlus/8.4SS/psqlODBC/lib/libcrypto.so.4 #2 0x076e03ff in ?? () from /opt/PostgresPlus/8.4SS/psqlODBC/lib/libcrypto.so.4 #3 0x076e06cf in lh_insert () from /opt/PostgresPlus/8.4SS/psqlODBC/lib/libcrypto.so.4 #4 0x076e4135 in OBJ_NAME_add () from /opt/PostgresPlus/8.4SS/psqlODBC/lib/libcrypto.so.4 #5 0x076e84c5 in EVP_add_cipher () from /opt/PostgresPlus/8.4SS/psqlODBC/lib/libcrypto.so.4 #6 0xb56ca23e in SSL_library_init () from /usr/lib/libssl.so.0.9.8 #7 0xb6dd9eeb in ?? () from /usr/lib/libQtNetwork.so.4 #8 0xb6dd665d in ?? () from /usr/lib/libQtNetwork.so.4 #9 0xb6dcdeb4 in QSslSocket::supportsSsl() () from /usr/lib/libQtNetwork.so.4 #10 0xb6d46665 in ?? () from /usr/lib/libQtNetwork.so.4 #11 0xb6d4eb88 in ?? () from /usr/lib/libQtNetwork.so.4 #12 0xb6d4f5f2 in ?? () from /usr/lib/libQtNetwork.so.4 #13 0xb6d51130 in ?? () from /usr/lib/libQtNetwork.so.4 #14 0xb6d516a5 in QHttp::qt_metacall(QMetaObject::Call, int, void) () from /usr/lib/libQtNetwork.so.4 #15 0xb2629ea2 in ?? () from /usr/lib/python2.6/site-packages/PyQt4/QtNetwork.so #16 0xb791c04a in QMetaCallEvent::placeMetaCall(QObject*) () from /usr/lib/libQtCore.so.4 #17 0xb791d796 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4 #18 0xb2629dbc in ?? () from /usr/lib/python2.6/site-packages/PyQt4/QtNetwork.so #19 0xb6f538fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #20 0xb6f5b34e in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #21 0xb7c7d9af in QgsApplication::notify(QObject*, QEvent*) () from /usr/lib/libqgis_core.so.1.4.0 #22 0xb790d32e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #23 0xb790dfdc in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4 #24 0xb790e19c in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4 #25 0xb79394dd in ?? () from /usr/lib/libQtCore.so.4 #26 0xb5f334c2 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #27 0xb5f36d98 in ?? () from /usr/lib/libglib-2.0.so.0 #28 0xb5f36ebe in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #29 0xb7939011 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #30 0xb6ff529a in ?? () from /usr/lib/libQtGui.so.4 #31 0xb790b98d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #32 0xb790bdd9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #33 0xb7433081 in QDialog::exec() () from /usr/lib/libQtGui.so.4 #34 0xb2fe2ff4 in ?? () from /usr/lib/python2.6/site-packages/PyQt4/QtGui.so #35 0xb348b651 in PyCFunction_Call () from /usr/lib/libpython2.6.so.1.0 #36 0xb34d927d in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0 #37 0xb34dedca in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0 #38 0xb3479617 in ?? () from /usr/lib/libpython2.6.so.1.0 #39 0xb3456c70 in PyObject_Call () from /usr/lib/libpython2.6.so.1.0 #40 0xb3463f61 in ?? () from /usr/lib/libpython2.6.so.1.0 #41 0xb3456c70 in PyObject_Call () from /usr/lib/libpython2.6.so.1.0 #42 0xb34d73b6 in PyEval_CallObjectWithKeywords () from /usr/lib/libpython2.6.so.1.0 #43 0xb35b27af in ?? () from /usr/lib/python2.6/site-packages/sip.so #44 0xb333cae5 in ?? () from /usr/lib/python2.6/site-packages/PyQt4/QtCore.so #45 0xb333cbeb in ?? () from /usr/lib/python2.6/site-packages/PyQt4/QtCore.so #46 0xb333cccb in ?? () from /usr/lib/python2.6/site-packages/PyQt4/QtCore.so #47 0xb7923864 in QMetaObject::activate(QObject*, int, int, void) () from /usr/lib/libQtCore.so.4 #48 0xb7923d41 in QMetaObject::activate(QObject*, QMetaObject const*, int, int, void) () from /usr/lib/libQtCore.so.4 #49 0xb6f4d0c5 in QAction::triggered(bool) () from /usr/lib/libQtGui.so.4 #50 0xb6f4e6f2 in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQtGui.so.4 #51 0xb738ca37 in ?? () from /usr/lib/libQtGui.so.4 #52 0xb7393378 in ?? () from /usr/lib/libQtGui.so.4 #53 0xb7393f18 in QMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4 #54 0xb6faabac in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4 #55 0xb73961b4 in QMenu::event(QEvent*) () from /usr/lib/libQtGui.so.4 #56 0xb6f538fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #57 0xb6f5bbbb in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #58 0xb7c7d9af in QgsApplication::notify(QObject*, QEvent*) () from /usr/lib/libqgis_core.so.1.4.0 #59 0xb790d32e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #60 0xb6f5abdc in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget, QPointer<QWidget>&) () from /usr/lib/libQtGui.so.4 #61 0xb6fcbc86 in ?? () from /usr/lib/libQtGui.so.4 #62 0xb6fcad7e in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4 #63 0xb6ff5b68 in ?? () from /usr/lib/libQtGui.so.4 ---Type <return> to continue---

comment:3 by pcav, 14 years ago

Is this still valid?

comment:4 by jtornero, 14 years ago

Yes, it is still valid.

comment:5 by wildintellect, 14 years ago

Awaiting user input: set

I think the question from pcav, is does this problem still exist if you recompile QGIS from the latest trunk?

comment:6 by pcav, 14 years ago

Milestone: Version 1.5.0Version 1.6.0
Resolution: invalid
Status: newclosed

Closing i beacause of lack of user feedback. Please reopen it if appropriate.

comment:7 by jtornero, 14 years ago

Component: Build/InstallPython plugins and bindings
Resolution: invalid
Status: closedreopened

I'm so sorry I haven't answered yet, among other things a new little human being has come and qgis stuff has been left apart for a while. Thank you for your patience, I absolutely forgot about this and I have remembered when I received your message this morning.

I have to say that the problem occurs in at least three machines with opensuse 11.2, and I haven't been able to compile the sources (as I said, I am not a very, very advanced user). I did the DIY debugging and I have been sniffing around in the sources of plugin manager but no results. I also have tried to upgrade my qt libraries and all but no success.

By the way, I've realized that maybe is better to assign component property of this ticket to "Python plugins and bindings"

If you think it is worth, please tell me what I have to do (roughly) to give you the appropiate feedback on all this.

Thank you very much for your attention and, once again, my apologies.

Jorge Tornero

in reply to:  7 ; comment:8 by vinhussey, 14 years ago

Replying to jtornero:

I'm so sorry I haven't answered yet, among other things a new little human being has come and qgis stuff has been left apart for a while. Thank you for your patience, I absolutely forgot about this and I have remembered when I received your message this morning.

I have to say that the problem occurs in at least three machines with opensuse 11.2, and I haven't been able to compile the sources (as I said, I am not a very, very advanced user). I did the DIY debugging and I have been sniffing around in the sources of plugin manager but no results. I also have tried to upgrade my qt libraries and all but no success.

By the way, I've realized that maybe is better to assign component property of this ticket to "Python plugins and bindings"

If you think it is worth, please tell me what I have to do (roughly) to give you the appropiate feedback on all this.

Thank you very much for your attention and, once again, my apologies.

Jorge Tornero

Had a similar issue on opensuse. It appeared to be due to incompatibility with Qt, and was solved by upgrading to KDE 4.4. For a while, I was able to get by downgrading Qt, but this left a number of other apps (e.g. Digikam) not working.

Vincent Hussey

in reply to:  8 ; comment:9 by jtornero, 14 years ago

Replying to vinhussey:

Replying to jtornero:

I'm so sorry I haven't answered yet, among other things a new little human being has come and qgis stuff has been left apart for a while. Thank you for your patience, I absolutely forgot about this and I have remembered when I received your message this morning.

I have to say that the problem occurs in at least three machines with opensuse 11.2, and I haven't been able to compile the sources (as I said, I am not a very, very advanced user). I did the DIY debugging and I have been sniffing around in the sources of plugin manager but no results. I also have tried to upgrade my qt libraries and all but no success.

By the way, I've realized that maybe is better to assign component property of this ticket to "Python plugins and bindings"

If you think it is worth, please tell me what I have to do (roughly) to give you the appropiate feedback on all this.

Thank you very much for your attention and, once again, my apologies.

Jorge Tornero

Had a similar issue on opensuse. It appeared to be due to incompatibility with Qt, and was solved by upgrading to KDE 4.4. For a while, I was able to get by downgrading Qt, but this left a number of other apps (e.g. Digikam) not working.

Vincent Hussey

Well, I've upgraded to KDE 4.4 but I still have the problem. I don't know where to "touch" or look now, any suggestions would be appreciated.

Best regards,

Jorge Tornero

in reply to:  9 ; comment:10 by jef, 14 years ago

Replying to jtornero:

Well, I've upgraded to KDE 4.4 but I still have the problem. I don't know where to "touch" or look now, any suggestions would be appreciated.

The backtrace looks PostgreSQL related. Have you installed any additional PostgreSQL stuff? I don't known (recent versions of) SuSE, but /opt/PostgresPlus/8.4SS/psqlODBC/lib/libcrypto.so.4 doesn't look standard.

Do you have any (possibly postgres related) third party plugins installed? If so, please check if the problem also appears without them and if it doesn't try to figure out which plugin is causing this.

in reply to:  10 ; comment:11 by jtornero, 14 years ago

Replying to jef:

Replying to jtornero:

Well, I've upgraded to KDE 4.4 but I still have the problem. I don't know where to "touch" or look now, any suggestions would be appreciated.

The backtrace looks PostgreSQL related. Have you installed any additional PostgreSQL stuff? I don't known (recent versions of) SuSE, but /opt/PostgresPlus/8.4SS/psqlODBC/lib/libcrypto.so.4 doesn't look standard.

Do you have any (possibly postgres related) third party plugins installed? If so, please check if the problem also appears without them and if it doesn't try to figure out which plugin is causing this.

Hello,

I've installed PostgreSQL plus standard server 8.4 from enterpriseDB repository instead of the one provided by openSUSE mostly because it really works fine from zero. I'll try to check in a computer without this distribution and also with standard postgresql installation if the bug occurs as well.

Best regards

Jorge Tornero

in reply to:  11 ; comment:12 by jtornero, 14 years ago

Replying to jtornero:

Replying to jef:

Replying to jtornero:

Well, I've upgraded to KDE 4.4 but I still have the problem. I don't know where to "touch" or look now, any suggestions would be appreciated.

The backtrace looks PostgreSQL related. Have you installed any additional PostgreSQL stuff? I don't known (recent versions of) SuSE, but /opt/PostgresPlus/8.4SS/psqlODBC/lib/libcrypto.so.4 doesn't look standard.

Do you have any (possibly postgres related) third party plugins installed? If so, please check if the problem also appears without them and if it doesn't try to figure out which plugin is causing this.

Hello,

I've installed PostgreSQL plus standard server 8.4 from enterpriseDB repository instead of the one provided by openSUSE mostly because it really works fine from zero. I'll try to check in a computer without this distribution and also with standard postgresql installation if the bug occurs as well.

Best regards

Jorge Tornero

Hi all,

well, after reading Jef's post about the "translation" of gdb backtrace, I made a test with a fella's computer. He has the same OpenSuse as me, but instead of having installed PostgreSQL from EnterpriseDB, he installed the packages provided by openSuse through YaST (say so, an 'standard' installation)... and it worked perfectliy, so I realized that the problem could be where Jef pointed.

Because of my lack of deep knowledge about linux internals, I've done a 'brute force approach' to try to solve the problem, and... It worked!!!!

I've done the following

1) First I've located all the libcrypto related files:

/opt/lampp/lib/libcrypto.so
/opt/lampp/lib/libcrypto.so.0.9.8
/opt/lampp/lib/pkgconfig/libcrypto.pc
/opt/PostgreSQL/8.4/lib/libcrypto.so.4
/opt/PostgreSQL/psqlODBC/lib/libcrypto.so.4
/usr/lib/libcrypto.a
/usr/lib/libcrypto.so
/usr/lib/libcrypto.so.0.9.7
/usr/lib/libcrypto.so.0.9.8
/usr/lib/libcryptopp.a
/usr/lib/pkgconfig/libcrypto.pc

2) Then I've moved away (to a subfolder in /opt/PostgreSQL/8.4/lib/libcrypto.so.4) the file libcrypto.so.4 for safety reasons

3) then I've created a symlink to /usr/lib/libcrypto.so in /opt/PostgreSQL/8.4/lib/ with the name libcrypto.so.4

And voilà, QGis works again.

So I have to apologize for thinking that thas was a bug in QGis, and I have to appreciate all the help received from you.

I hope that someone of you could explain what I did for future reference, and also, please tell if the bug could be marked as solved, I don't know if what I've done is enough.

Thank you very much again

jorge Tornero

in reply to:  12 comment:13 by jef, 14 years ago

Resolution: invalid
Status: reopenedclosed

Replying to jtornero:

2) Then I've moved away (to a subfolder in /opt/PostgreSQL/8.4/lib/libcrypto.so.4) the file libcrypto.so.4 for safety reasons

It's probably better to use PostgreSQL with the libraries it was built with. But you should take care that the PostgreSQL install doesn't interfere with the rest of the system.

Your PostgreSQL install probably "infected" the system by adding a path to /etc/ld.so.conf or adding a file with a path to /etc/ld.so.conf.d Therefore libraries are also looked up in the PostgreSQL directory although the libraries there are incompatible with the rest of the system.

Removing pathes should also cure the problem. But you might find that PostgreSQL doesn't work anymore. In that case you can probably setj those pathes in LD_LIBRARY_PATH in PostgreSQL startup script, so that only PostgreSQL uses it's own versions of libraries.

I hope that someone of you could explain what I did for future reference, and also, please tell if the bug could be marked as solved, I don't know if what I've done is enough.

Sure thing. I'll close the bug.

Thank you very much again

You're welcome.

Note: See TracTickets for help on using tickets.