aMule Bug Tracker - aMule
View Issue Details
0001633aMuleGUIpublic2010-10-12 16:002010-10-14 21:12
moo 
sturedman 
normalcrashalways
resolvedfixed 
2.2.6 
2.3.1 
10222
Any
0001633: crash after shared file is removed
# gdb --pid `pidof amuleweb`
0xb7352f78 in select () from /lib/libc.so.6
(gdb) c
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x0805c4fc in wxStringBase::GetStringData (this=0x0)
    at /home/moo/src/openwrt-trunk/build_dir/target-i386_eglibc-2.12/wxGTK-2.8.10/include/wx/string.h:265
265 /home/moo/src/openwrt-trunk/build_dir/target-i386_eglibc-2.12/wxGTK-2.8.10/include/wx/string.h: No such file or directory.
        in /home/moo/src/openwrt-trunk/build_dir/target-i386_eglibc-2.12/wxGTK-2.8.10/include/wx/string.h
(gdb) bt
#0 0x0805c4fc in wxStringBase::GetStringData (this=0x0)
    at /home/moo/src/openwrt-trunk/build_dir/target-i386_eglibc-2.12/wxGTK-2.8.10/include/wx/string.h:265
0000001 0x0805c5eb in wxStringBase::length (this=0x0)
    at /home/moo/src/openwrt-trunk/build_dir/target-i386_eglibc-2.12/wxGTK-2.8.10/include/wx/string.h:412
0000002 0x0805c7c5 in wxString::Length (this=0x0)
    at /home/moo/src/openwrt-trunk/build_dir/target-i386_eglibc-2.12/wxGTK-2.8.10/include/wx/string.h:1247
0000003 0x08093bc0 in amule_upload_file_prop_get (ptr=0x9535558, prop_name=0x95379f0 "short_name", result=0xbff66348) at php_amule_lib.cpp:909
0000004 0x0808a87e in php_expr_eval (expr=0x9537a00, result=0xbff66348) at php_syntree.cpp:1470
0000005 0x0808b5a0 in php_execute (node=0x9537a90, result=0x0) at php_syntree.cpp:1823
0000006 0x0808b896 in php_execute (node=0x95384e0, result=0xbff66434) at php_syntree.cpp:1901
0000007 0x0809619f in CPhPLibContext::Execute (this=0x9502838, buf=0xbff664b8) at php_core_lib.cpp:547
0000008 0x08096438 in CPhpFilter (this=0xbff664d7, server=0x94feb18, sess=0x9516e64,
    file=0x95192a8 "/usr/share/amule/webserver/php-default/amuleweb-main-dload.php", buff=0xbff664b8) at php_core_lib.cpp:624
0000009 0x0805ab99 in CScriptWebServer::ProcessPhpRequest (this=0x94feb18,
    filename=0x95192a8 "/usr/share/amule/webserver/php-default/amuleweb-main-dload.php", sess=0x9516e64, size=@0xbff66530)
    at WebServer.cpp:1796
0000010 0x0805b9cc in CScriptWebServer::ProcessURL (this=0x94feb18, Data=
      {parsedURL = {m_path = {<wxStringBase> = {static npos = 4294967295, m_pchData = 0xb772faa8}, <No data fields>}, m_file = {<wxStringBase> = {static npos = 4294967295, m_pchData = 0x952c46c}, <No data fields>}, m_params = {_M_t = {_M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<const wxString, wxString> > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const wxString, wxString> > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<wxString, wxString, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x0, _M_left = 0xbff66700, _M_right = 0xbff66700}, _M_node_count = 0}}}}, sURL = {<wxStringBase> = {static npos = 4294967295, m_pchData = 0x951931c}, <No data fields>}, SessionID = 1804289383, pSocket = 0x9516d40}) at WebServer.cpp:1917
#11 0x08072c2c in CWebSocket::OnRequestReceived (this=0x9516d40,
    pHeader=0x952dc45 "HTTP/1.1\r\nHost: router:4711\r\nUser-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b8pre) Gecko/20101009 Firefox/4.0b8pre\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAcce"..., pData=0x0, dwDataLen=0) at WebSocket.cpp:224
0000012 0x0807252e in CWebSocket::OnInput (this=0x9516d40) at WebSocket.cpp:117
0000013 0x0805277c in CWebServerBase::OnWebSocketEvent (this=0x94feb18, event=@0x9516d10) at WebServer.cpp:317
0000014 0xb768656f in wxAppConsole::HandleEvent () from /usr/lib/libwx_baseu-2.8.so.0
0000015 0x094feb18 in ?? ()
0000016 0x09516d10 in ?? ()
0000017 0x00002712 in ?? ()
0000018 0xb77865c4 in wxSocketBase::OnRequest () from /usr/lib/libwx_baseu_net-2.8.so.0
0000019 0x00000000 in ?? ()
(gdb) up
0000001 0x0805c5eb in wxStringBase::length (this=0x0)
    at /home/moo/src/openwrt-trunk/build_dir/target-i386_eglibc-2.12/wxGTK-2.8.10/include/wx/string.h:412
412 in /home/moo/src/openwrt-trunk/build_dir/target-i386_eglibc-2.12/wxGTK-2.8.10/include/wx/string.h
(gdb)
0000002 0x0805c7c5 in wxString::Length (this=0x0)
    at /home/moo/src/openwrt-trunk/build_dir/target-i386_eglibc-2.12/wxGTK-2.8.10/include/wx/string.h:1247
1247 in /home/moo/src/openwrt-trunk/build_dir/target-i386_eglibc-2.12/wxGTK-2.8.10/include/wx/string.h
(gdb)
0000003 0x08093bc0 in amule_upload_file_prop_get (ptr=0x9535558, prop_name=0x95379f0 "short_name", result=0xbff66348) at php_amule_lib.cpp:909
909 wxString short_name(sharedfile->sFileName.Length() > 60 ? (sharedfile->sFileName.Left(60) + (wxT(" ..."))) : sharedfile->sFileName);
(gdb) p sharedfile
$1 = (SharedFile *) 0x0
(gdb) l -
894 result->type = PHP_VAL_STRING;
895 SharedFile *sharedfile = SharedFile::GetContainerInstance()->GetByID(obj->nHash);
896 // uploading file we don't share ?! We are either out of sync with core or a shared file has been removed while uploading it
897 if ( !sharedfile ) {
898 SharedFile::GetContainerInstance()->ReQuery();
899 sharedfile = SharedFile::GetContainerInstance()->GetByID(obj->nHash);
900 }
901 result->str_val = strdup(sharedfile ? (const char *)unicode2UTF8(sharedfile->sFileName) : "???");
902 } else if ( strcmp(prop_name, "short_name") == 0 ) {
903 result->type = PHP_VAL_STRING;
904 SharedFile *sharedfile = SharedFile::GetContainerInstance()->GetByID(obj->nHash);
905 if ( !sharedfile ) {
906 SharedFile::GetContainerInstance()->ReQuery();
907 sharedfile = SharedFile::GetContainerInstance()->GetByID(obj->nHash);
908 }
(gdb) l
909 wxString short_name(sharedfile->sFileName.Length() > 60 ? (sharedfile->sFileName.Left(60) + (wxT(" ..."))) : sharedfile->sFileName);
910 result->str_val = strdup((const char *)unicode2UTF8(short_name));
911 } else if ( strcmp(prop_name, "user_name") == 0 ) {
912 result->type = PHP_VAL_STRING;
913 result->str_val = strdup((const char *)unicode2UTF8(obj->sUserName));
914 } else if ( strcmp(prop_name, "xfer_up") == 0 ) {
915 result->int_val = obj->nTransferredUp;
916 } else if ( strcmp(prop_name, "xfer_down") == 0 ) {
917 result->int_val = obj->nTransferredDown;
918 } else if ( strcmp(prop_name, "xfer_speed") == 0 ) {
919 result->int_val = obj->nSpeed;
920 } else {
921 php_report_error(PHP_ERROR, "'UploadFile' property [%s] is unknown", prop_name);
922 }
923 }
No tags attached.
Issue History
2010-10-12 16:00mooNew Issue
2010-10-12 16:00mooOperating System => Any
2010-10-14 21:12sturedmanFixed in Revision => 10222
2010-10-14 21:12sturedmanAssigned To => sturedman
2010-10-14 21:12sturedmanStatusnew => resolved
2010-10-14 21:12sturedmanResolutionopen => fixed
2010-10-14 21:12sturedmanFixed in Version => 2.3.1

There are no notes attached to this issue.