dot99 发表于 2005-10-18 22:43:32

gcc-3.4.4编译eva,导致crash的问题(解决)

emerge qt kdelibs
然后编译eva
运行后出现登录框,输入信息点登录按钮,crash掉
信息如下:

dot99@hardcoreX src $ ./eva
kbuildsycoca running...
Got server :219.133.60.31
EvaUHProfile::loadProfile -- file not exists
password key set!
got login token
login token set!
password key set!
InPacket->decryptBody: session key not set yet, set decrypted length to 0
Bad packet, ignore it
session key set!
file session key set!
file share token set!
client key set!
user "2998337" logged in!
user info
change status reply
got keys reply
file agent key set!
61384b34536d33326a7961584454637a
file agent token set!
friend list
KCrash: Application 'eva' crashing...

wm为ion3

dot99 发表于 2005-10-18 23:27:34

上面的eva版本是0.3.2

另外
eva-0.3.1的binray.rpm包在Ion3可以运行,只是需要去配置一下字体,还有不能输入中文
我的输入法是scim,换成skim可能会解决这个问题?

其他目前一切正常,冲着eva的screenshot来的 :-D

yunfan 发表于 2005-10-19 05:17:47

能否把crash后的回溯跟踪贴出来参考一下啊, 谢谢。

dot99 发表于 2005-10-19 10:25:46

dot99@hardcoreX src $ gdb ./eva
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) r
Starting program: /home/dot99/eva/src/eva


Got server :219.133.40.138
EvaUHProfile::loadProfile -- file not exists
password key set!

Program received signal SIGSEGV, Segmentation fault.

0xb64f581c in memcpy () from /lib/libc.so.6
(gdb) backtrace
#00xb64f581c in memcpy () from /lib/libc.so.6
#10xb76a61c7 in std::string::_Rep::_M_clone () from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5
#20xb76a343b in std::string::_Rep::_M_grab () from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5
#30xb76a469f in std::string::assign () from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5
#40x081440c4 in EvaHelper::doQunUserLoading ()
#50x081462bc in EvaHelper::run ()
#60x08135abb in EvaUserSetting::loadQunList ()
#70x08131db9 in EvaUser::loadQunList ()
#80x08072e7c in EvaMain::slotSetupEvaClient ()
#90x080735b8 in EvaMain::slotGotServer ()
#10 0x0807aa54 in EvaMain::qt_invoke ()
#11 0xb6bd7178 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#12 0x0815911d in EvaServers::isReady ()
#13 0x08140706 in EvaServers::getResultsSlot ()
#14 0x081591a8 in EvaServers::qt_invoke ()
#15 0xb6bd7178 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#16 0xb6bd78a2 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#17 0xb6f411f7 in QDns::resultsReady () from /usr/qt/3/lib/libqt-mt.so.3
#18 0xb6dbd464 in QDnsUgleHack::ugle () from /usr/qt/3/lib/libqt-mt.so.3
#19 0xb6dbd625 in QDnsAnswer::notify () from /usr/qt/3/lib/libqt-mt.so.3
#20 0xb6dbd85e in QDnsManager::answer () from /usr/qt/3/lib/libqt-mt.so.3
#21 0xb6f41520 in QDnsSocket::qt_invoke () from /usr/qt/3/lib/libqt-mt.so.3
#22 0xb6bd7178 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
---Type <return> to continue, or q <return> to quit---
#23 0xb6bd7748 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#24 0xb6f15e46 in QSocketNotifier::activated () from /usr/qt/3/lib/libqt-mt.so.3
#25 0xb6bf2e2a in QSocketNotifier::event () from /usr/qt/3/lib/libqt-mt.so.3
#26 0xb6b76b36 in QApplication::internalNotify () from /usr/qt/3/lib/libqt-mt.so.3
#27 0xb6b76cc5 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
#28 0xb71c754e in KApplication::notify () from /usr/kde/3.4/lib/libkdecore.so.4
#29 0xb6b6add2 in QEventLoop::activateSocketNotifiers () from /usr/qt/3/lib/libqt-mt.so.3
#30 0xb6b257dc in QEventLoop::processEvents () from /usr/qt/3/lib/libqt-mt.so.3
#31 0xb6b8c9d1 in QEventLoop::enterLoop () from /usr/qt/3/lib/libqt-mt.so.3
#32 0xb6b8c92a in QEventLoop::exec () from /usr/qt/3/lib/libqt-mt.so.3
#33 0xb6b75e21 in QApplication::exec () from /usr/qt/3/lib/libqt-mt.so.3
#34 0x08067d12 in main ()
(gdb)

dot99 发表于 2005-10-19 10:32:23

然后,删除~/.eva目录,再次运行(由于运行过0.3.1的binary)

dot99@hardcoreX src $ rm -rf ~/.eva
dot99@hardcoreX src $ gdb ./eva
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) r
Starting program: /home/dot99/eva/src/eva


kbuildsycoca running...
Got server :219.133.60.31
EvaUHProfile::loadProfile -- file not exists
password key set!
got login token
login token set!
password key set!
InPacket->decryptBody: session key not set yet, set decrypted length to 0
Bad packet, ignore it
session key set!
file session key set!
file share token set!
client key set!
user "3806642" logged in!
change status reply
got keys reply
file agent key set!
4e764267635941347439765553465a45
file agent token set!
user info
friend list

Program received signal SIGSEGV, Segmentation fault.

0xb75f4ff8 in std::__default_alloc_template<true, 0>::allocate ()
   from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5
(gdb) backtrace
#00xb75f4ff8 in std::__default_alloc_template<true, 0>::allocate ()
   from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5
#10xb75fa0d0 in std::string::_Rep::_S_create () from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5
#20xb75f712f in std::string::_M_mutate () from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5
#30xb75faade in std::string::_M_replace_safe<char const*> ()
   from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5
#40xb75f87d7 in std::string::assign () from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5
#50x080ffba2 in QQFriend::initalizeBuddy ()
#60x08100048 in QQFriend::QQFriend ()
#70x081237be in EvaPacketManager::processGetFriendListReply ()
#80x08126a15 in EvaPacketManager::parsePacket ()
#90x08126bf5 in EvaPacketManager::newPacketSlot ()
#10 0x08153d03 in EvaPacketManager::qt_invoke ()
#11 0xb6b2b178 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#12 0xb6b2b8a2 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#13 0x081585ec in EvaConnecter::newPacket ()
#14 0x08115181 in EvaConnecter::processPacket ()
#15 0x08115353 in EvaConnecter::dataCommingSlot ()
#16 0x081586d8 in EvaConnecter::qt_invoke ()
#17 0xb6b2b178 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#18 0xb6b2b748 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#19 0x08158b81 in EvaNetwork::dataComming ()
#20 0x08158cf2 in EvaNetwork::qt_emit ()
---Type <return> to continue, or q <return> to quit---
#21 0xb6b2b1f5 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#22 0xb6b2b748 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#23 0x08156721 in EvaSocket::receivedData ()
#24 0x08131017 in EvaSocket::slotReceiveReady ()
#25 0x08156806 in EvaSocket::qt_invoke ()
#26 0xb6b2b178 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#27 0xb6b2b748 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#28 0xb6e69e46 in QSocketNotifier::activated () from /usr/qt/3/lib/libqt-mt.so.3
#29 0xb6b46e2a in QSocketNotifier::event () from /usr/qt/3/lib/libqt-mt.so.3
#30 0xb6acab36 in QApplication::internalNotify () from /usr/qt/3/lib/libqt-mt.so.3
#31 0xb6acacc5 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
#32 0xb711b54e in KApplication::notify () from /usr/kde/3.4/lib/libkdecore.so.4
#33 0xb6abedd2 in QEventLoop::activateSocketNotifiers () from /usr/qt/3/lib/libqt-mt.so.3
#34 0xb6a797dc in QEventLoop::processEvents () from /usr/qt/3/lib/libqt-mt.so.3
#35 0xb6ae09d1 in QEventLoop::enterLoop () from /usr/qt/3/lib/libqt-mt.so.3
#36 0xb6ae092a in QEventLoop::exec () from /usr/qt/3/lib/libqt-mt.so.3
#37 0xb6ac9e21 in QApplication::exec () from /usr/qt/3/lib/libqt-mt.so.3
#38 0x08067d12 in main ()
(gdb)

dot99 发表于 2005-10-19 10:36:12

希望对evaq的开发者们有帮助:D

screenshot好用阿~:D

ps:qtconfig配置字体以后,还是不行~难道真要去整那个硕大无比的KDE? 我从来没用过qt/KDE。

dot99 发表于 2005-10-19 10:59:10

自己看了看调试信息, 然后把编译器换成gcc-3.3.6, 编译后能运行了....

发生错误的编译器是gcc version 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)

dot99 发表于 2005-10-19 11:30:23

gcc 3.4.4~也能运行了~~~~
用gcc 3.4.4编译了一遍libstdc++-v3,ok....

alpher 发表于 2005-10-19 12:24:48

gx

yunfan 发表于 2005-10-19 12:40:29

我还正奇怪, 因为以前没有人发现过这个问题, 看来是std::string里的问题, 如果eva有问题的话, 那前几个版本就该出问题了。

不过, 能用就好了, 呵呵, 有关字体, 好象 装个 kde 控制中心可以改。可能还要个kde-i18n 吧。

yunfan 发表于 2005-10-19 12:42:25

不过, 你也够辛苦的了 :)
页: [1]
查看完整版本: gcc-3.4.4编译eva,导致crash的问题(解决)