Sign in to follow this  
Followers 0
Satan

[CRASH][1.0.1]

6 posts in this topic

Tried it three times, move a full folder with a non-english character in Download queue and you get this:

Code: c0000005 (Access violation)
Version: 1.0.1 (2008-03-09)
Major: 6
Minor: 0
Build: 6001
SP: 1
Type: 1
Time: 2008-03-28 15:48:55
TTH: H6JE7JFGAHDTABZAJLSO3RRWNEI7VBJ6LAYWMUQ

d:\development\includes\stlport\stlport\stl\_string.c(561): ?

Code: c0000005 (Access violation)
Version: 1.0.1 (2008-03-09)
Major: 6
Minor: 0
Build: 6001
SP: 1
Type: 1
Time: 2008-03-28 15:50:00
TTH: H6JE7JFGAHDTABZAJLSO3RRWNEI7VBJ6LAYWMUQ

d:\development\includes\stlport\stlport\stl\_string.c(561): ?

Code: c0000005 (Access violation)
Version: 1.0.1 (2008-03-09)
Major: 6
Minor: 0
Build: 6001
SP: 1
Type: 1
Time: 2008-03-28 15:52:14
TTH: H6JE7JFGAHDTABZAJLSO3RRWNEI7VBJ6LAYWMUQ

d:\development\includes\stlport\stlport\stl\_string.c(561): ?

Also, SDC does not crash with this, but it won't move the folder.

Share this post


Link to post
Share on other sites

Hmm, interesting... I cannot reproduce this crash.

I did the following:

I've chosen a large folder with many files and started to download it (the folder name contained some russian chars). When some files were copied, i renamed the target folder. But no crash occured: Apex created the folder again and continued to download files to it. Renaming was done via FAR 1.7.

Can you please describe your action sequence a little bit detailed? Of course if you did the same as I described?

PS. I'm using Apex 1.0.1 built from the latest STLport taken from SVN. Will try it with canonical build placed on website....

Share this post


Link to post
Share on other sites

I moved the folder via DC Download queue, call me stupid, but what is FAR?

Share this post


Link to post
Share on other sites

If it helps, this bug does not seem to depend on folders not being english, but I can move the files directly, I just cant move an entire folder....

Share this post


Link to post
Share on other sites

I moved the folder via DC Download queue, call me stupid, but what is FAR?

No, this was a misunderstanding from my side. I thought that you moved folder (i.e. renamed it in your FS) that was put into DL Queue. But I didnt know (till this moment) that i can move smth in DL queue... Ok, now i (probably) understand you, so i will try...

PS. FAR is a popular file manager (h**p:/farmanager.com), but now I see that it doesnt matter.

-----------------------------------------------------------

3 minutes later:

Yes, yes, yes!!! It crashed! Rightclick, then select rename/move and ... gotcha :P :blushing:

So it's a bug... :crying: ...confirmed one.

Share this post


Link to post
Share on other sites

Well, now it's interesting to dig up where... Where is my debugger, btw? Hope i didn't drunk it yesterday... (lol)

Call stack:

>	StrongDC.exe!stlp_std::priv::_String_base<char,stlp_std::allocator<char> >::_M_Finish()  Line 89 + 0x26 bytes	C++

 	StrongDC.exe!stlp_std::basic_string<char,stlp_std::char_traits<char>,stlp_std::allocator<char> >::size()  Line 485 + 0x2b bytes	C++

 	StrongDC.exe!stlp_std::basic_string<char,stlp_std::char_traits<char>,stlp_std::allocator<char> >::rfind(char __c='\', unsigned int __pos=4294967295)  Line 561 + 0x8 bytes	C++

 	StrongDC.exe!dcpp::Util::getFileName(const stlp_std::basic_string<char,stlp_std::char_traits<char>,stlp_std::allocator<char> > & path={...})  Line 177 + 0xc bytes	C++

 	StrongDC.exe!QueueFrame::moveDir(_TREEITEM * ht=0x0013ffe8, const stlp_std::basic_string<char,stlp_std::char_traits<char>,stlp_std::allocator<char> > & target={...})  Line 672 + 0x15 bytes	C++

 	StrongDC.exe!QueueFrame::moveSelectedDir()  Line 655 + 0x47 bytes	C++

 	StrongDC.exe!QueueFrame::onMove(unsigned short __formal=0, unsigned short __formal=0, unsigned short __formal=0, unsigned short __formal=0)  Line 139 + 0x16 bytes	C++

 	StrongDC.exe!QueueFrame::ProcessWindowMessage(HWND__ * hWnd=0x003105d6, unsigned int uMsg=273, unsigned int wParam=1098, long lParam=0, long & lResult=-858993460, unsigned long dwMsgMapID=0)  Line 76 + 0x44 bytes	C++

 	StrongDC.exe!ATL::CWindowImplBaseT<WTL::CMDIWindow,ATL::CWinTraits<1456406528,64> >::WindowProc(HWND__ * hWnd=0x01ab5550, unsigned int uMsg=273, unsigned int wParam=1098, long lParam=0)  Line 3081 + 0x27 bytes	C++

 	user32.dll!77d48709() 	

 	[Frames below may be incorrect and/or missing, no symbols loaded for user32.dll]	

 	user32.dll!77d487eb() 	

 	user32.dll!77d70494() 	

 	user32.dll!77d489e8() 	

 	StrongDC.exe!WTL::CMessageLoop::Run()  Line 989 + 0xf bytes	C++

 	StrongDC.exe!Run(wchar_t * __formal=0x0002099c, int nCmdShow=1)  Line 474 + 0x8 bytes	C++

 	StrongDC.exe!wWinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * __formal=0x00000000, wchar_t * lpstrCmdLine=0x0002099c, int nCmdShow=1)  Line 606 + 0xd bytes	C++

 	StrongDC.exe!__tmainCRTStartup()  Line 263 + 0x2c bytes	C

 	StrongDC.exe!wWinMainCRTStartup()  Line 182	C

 	kernel32.dll!7c816d4f() 	

 	kernel32.dll!7c8399f3()
Crash occurs when calling getFileName() in line
QueueManager::getInstance()->move(ii->getTarget(), target + Util::getFileName(ii->getTarget()));
in
void QueueFrame::moveDir(HTREEITEM ht, const string& target)

so ii->getTarget() returns bad string.

So now it's need to track why ii->getTarget returns garbage.

Share this post


Link to post
Share on other sites
Sign in to follow this  
Followers 0