Bug #1309

Client aborted

Added by liveriondev about 7 years ago. Updated about 7 years ago.

Status:New Start date:06/03/2011
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:-
Target version:-

Description

I'm experiencing a crash which happens more and more often (let's say every 30 minutes), especially since the last official patch (I don't know if it is linked).

Unfortunately, I have no crash trace.

The only message I get is from my terminal :

terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::substr
Abandon

I'm up to date according to the ryzom_update.sh command.

How can I provide more help to identify this bug ?

log000.log (5 MB) liveriondev, 06/04/2011 03:09 am

client000.log (5 MB) liveriondev, 06/04/2011 03:09 am

History

#1 Updated by liveriondev about 7 years ago

Running with gdb :

gdb ./ryzom_client
GNU gdb (GDB) 7.0.1-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/ocb/ryzom/ryzom_client...(no debugging symbols found)...done.
(gdb) r
Starting program: /home/ocb/ryzom/ryzom_client
[Thread debugging using libthread_db enabled]
[New Thread 0xf64dfb70 (LWP 15307)]
[New Thread 0xf430eb70 (LWP 15308)]
[New Thread 0xf2787b70 (LWP 15309)]
[New Thread 0xf1f86b70 (LWP 15310)]
[Thread 0xf1f86b70 (LWP 15310) exited]
[New Thread 0xf137fb70 (LWP 15311)]
[New Thread 0xf0b7eb70 (LWP 15312)]
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::substr

Program received signal SIGABRT, Aborted.
0xf7fdf430 in _kernel_vsyscall ()
(gdb) bt
#0 0xf7fdf430 in __kernel_vsyscall ()
#1 0xf7b6ea21 in
_GI_raise (sig=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2 0xf7b71e42 in *_GI_abort () at abort.c:92
#3 0xf7d7089f in __gnu_cxx::
_verbose_terminate_handler() ()
from /usr/lib32/libstdc++.so.6
#4 0xf7d6e765 in ?? () from /usr/lib32/libstdc++.so.6
#5 0xf7d6e7a2 in std::terminate() () from /usr/lib32/libstdc++.so.6
#6 0xf7d6e8e1 in _cxa_throw () from /usr/lib32/libstdc++.so.6
#7 0xf7d04e0f in std::
_throw_out_of_range(char const
) ()
from /usr/lib32/libstdc++.so.6
#8 0x088e503c in CChatGroupWindow::displayMessage(ucstring const&, NLMISC::CRGBA, CChatGroup::TGroupType, unsigned int, unsigned int, bool*) ()
#9 0x0893e440 in CChatInputFilter::displayMessage(ucstring const&, NLMISC::CRGBA, unsigned int, bool*) ()
#10 0x0875d6da in CInterfaceChatDisplayer::displayChat(unsigned int, ucstring const&, ucstring const&, CChatGroup::TGroupType, NLMISC::CEntityId, ucstring&, unsigned int) ()
#11 0x08596ec8 in CClientChatManager::processChatString(NLMISC::CBitMemStream&, CClientChatManager::IChatDisplayer&) ()
#12 0x0874c921 in impulseChat(NLMISC::CBitMemStream&) ()
#13 0x09616e9d in CGenericXmlMsgHeaderManager::execute(NLMISC::CBitMemStream&)
#14 0x087bdfc8 in CNetworkConnection::receiveNormalMessage(NLMISC::CBitMemStream&) ()
#15 0x087be6b8 in CNetworkConnection::stateConnected() ()
#16 0x087c0d3a in CNetworkConnection::update() ()
#17 0x08762c6c in CNetManager::update() ()
#18 0x086abec2 in mainLoop() ()
#19 0x086f567f in main ()
(gdb)

#2 Updated by TomH about 7 years ago

liveriondev wrote:

Running with gdb :

gdb ./ryzom_client
GNU gdb (GDB) 7.0.1-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/ocb/ryzom/ryzom_client...(no debugging symbols found)...done.
(gdb) r
Starting program: /home/ocb/ryzom/ryzom_client
[Thread debugging using libthread_db enabled]
[New Thread 0xf64dfb70 (LWP 15307)]
[New Thread 0xf430eb70 (LWP 15308)]
[New Thread 0xf2787b70 (LWP 15309)]
[New Thread 0xf1f86b70 (LWP 15310)]
[Thread 0xf1f86b70 (LWP 15310) exited]
[New Thread 0xf137fb70 (LWP 15311)]
[New Thread 0xf0b7eb70 (LWP 15312)]
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::substr

Program received signal SIGABRT, Aborted.
0xf7fdf430 in _kernel_vsyscall ()
(gdb) bt
#0 0xf7fdf430 in __kernel_vsyscall ()
#1 0xf7b6ea21 in
_GI_raise (sig=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2 0xf7b71e42 in *_GI_abort () at abort.c:92
#3 0xf7d7089f in __gnu_cxx::
_verbose_terminate_handler() ()
from /usr/lib32/libstdc++.so.6
#4 0xf7d6e765 in ?? () from /usr/lib32/libstdc++.so.6
#5 0xf7d6e7a2 in std::terminate() () from /usr/lib32/libstdc++.so.6
#6 0xf7d6e8e1 in _cxa_throw () from /usr/lib32/libstdc++.so.6
#7 0xf7d04e0f in std::
_throw_out_of_range(char const
) ()
from /usr/lib32/libstdc++.so.6
#8 0x088e503c in CChatGroupWindow::displayMessage(ucstring const&, NLMISC::CRGBA, CChatGroup::TGroupType, unsigned int, unsigned int, bool*) ()
#9 0x0893e440 in CChatInputFilter::displayMessage(ucstring const&, NLMISC::CRGBA, unsigned int, bool*) ()
#10 0x0875d6da in CInterfaceChatDisplayer::displayChat(unsigned int, ucstring const&, ucstring const&, CChatGroup::TGroupType, NLMISC::CEntityId, ucstring&, unsigned int) ()
#11 0x08596ec8 in CClientChatManager::processChatString(NLMISC::CBitMemStream&, CClientChatManager::IChatDisplayer&) ()
#12 0x0874c921 in impulseChat(NLMISC::CBitMemStream&) ()
#13 0x09616e9d in CGenericXmlMsgHeaderManager::execute(NLMISC::CBitMemStream&)
#14 0x087bdfc8 in CNetworkConnection::receiveNormalMessage(NLMISC::CBitMemStream&) ()
#15 0x087be6b8 in CNetworkConnection::stateConnected() ()
#16 0x087c0d3a in CNetworkConnection::update() ()
#17 0x08762c6c in CNetManager::update() ()
#18 0x086abec2 in mainLoop() ()
#19 0x086f567f in main ()
(gdb)

Don't you have a couple of log files inside the client folder?

#3 Updated by liveriondev about 7 years ago

Indeed, but I don't think there is something valuable.

You can find them enclosed (last crash occurred at 2011/06/04 02:24).

#4 Updated by TomH about 7 years ago

liveriondev wrote:

Indeed, but I don't think there is something valuable.

You can find them enclosed (last crash occurred at 2011/06/04 02:24).

According to the logs, part if not all of the client data is missing.
Is the data folder empty?

Here is a link to download the client on a linux machine. http://dev.ryzom.com/wiki/ryzom/LinuxBinaries

#5 Updated by rti about 7 years ago

Did your linux client receive an update since Wednesday, 1st June 2011?
If not, I assume this crash happens due to the changes from the last patch (1.12).

Your client crashes while processing chat messages.
The patch to 1.12 includes some changes in the chat system. So this might be connected :)

http://ryzom.hg.sourceforge.net/hgweb/ryzom/ryzom/rev/3e750315a4a7
http://ryzom.hg.sourceforge.net/hgweb/ryzom/ryzom/rev/ead1e3e0d745
(search for the string "tell")

The updated code is part of the ryzom core repository.

#6 Updated by liveriondev about 7 years ago

Still no update available with the ryzom_update.sh...

And Kervala's Ubuntu binaries need to recent dependencies to be suitable for my Debian squeeze.

#7 Updated by kervala about 7 years ago

I will try to add more tests before doing substr and we'll see.

Also available in: Atom PDF