ID:2082440
 
BYOND Version:509
Operating System:Windows 10 Pro 64-bit
Web Browser:Chrome 50.0.2661.94
Applies to:Dream Seeker
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:
When clicking links on chat that would output text on chat, Dream Seeker hangs and uses a lot of CPU. Basically any link that outputs text on the chat freezes Dream Seeker, which may or may not respond later.
Numbered Steps to Reproduce Problem:
Basically this happens only in Windows 10 as far as i'm aware. The only BYOND game i play is Space Station 13, but i'm sure it happens elsewhere as well. For example in SS13, the admins can click on "Who" verb to see keys and their respective characters. When clicking "?" next to the ckey, Dream Seeker freezes and may or may not respond later. This also happens with adminhelps a lot.
Code Snippet (if applicable) to Reproduce Problem:


Expected Results:
To receive the text output in chat.
Actual Results:
Dream Seeker freezing and skyrocketing in CPU usage.
Does the problem occur:
Every time? Or how often?
Everytime i click on a link.
In other games?
I only tested in Space Station 13.
In other user accounts?
I've seen other users complaining about this issue on r/spacestation13 and on bug reports, so i think it's not a problem with a specific account.
On other computers?
Some computers with Windows 10 encounter this issue, altough it's not all of them.

When does the problem NOT occur?
When i use a virtual machine with Windows 7. I tested a Windows 10 clean install in virtualbox and this happened, so it's probably not a issue with my installation.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)

Workarounds:
Using a Virtual machine to run BYOND.
If you get a hang like this, I would suggest using WinDbg to try and see where it's hanging. If you can break into the process while this is happening, you should be able to get a fix on where it's stuck.

In WinDbg, use the k command to get a stack trace. ~* will give you a list of threads, ~0s will switch to thread 0 (change to whatever number is appropriate), where you can get a stack trace just for that thread.

My guess is that something untoward is happening in either byondwin.dll or in one of the files it relies on, like the rich edit control. But even if it's the rich edit control, a stack trace may reveal useful information.
I'll post the stack trace here.
# ChildEBP RetAddr
00 09b1fbfc 75ebe193 USER32!NtUserGetMessage+0xc
01 09b1fc24 713544af USER32!GetMessageA+0x53
02 09b1fc5c 750538f4 WINMM!mciwindow+0xcf
03 09b1fc70 779e5de3 KERNEL32!BaseThreadInitThunk+0x24
04 09b1fcb8 779e5dae ntdll!__RtlUserThreadStart+0x2f
05 09b1fcc8 00000000 ntdll!_RtlUserThreadStart+0x1b
There are too many threads and i don't know which is correct, so i will post the basic "k" stack trace.
You'll want to find a thread that includes byondcore.dll or byondwin.dll. If in doubt, get a stack trace from each one. That particular thread doesn't show the problem.
Well, i guess i've found it. It's something related to byondwin.dll.

*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files (x86)\BYOND\bin\byondwin.dll -
36 0018de0c 63195913 ffffffff ffffffff 834d0bb4 mfc120!CRichEditCtrl::SetSel+0x25 [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\winctrl4.cpp @ 129]
WARNING: Stack unwind information not available. Following frames may be wrong.
37 0018de4c 63195cf9 000002ca 00000001 834d0b7c byondwin!CVDMTCtrl::PutSimpleText+0x3d3
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files (x86)\BYOND\bin\byondcore.dll -
38 0018de84 5b3d3b85 1e87f990 6b84ad77 04803e70 byondwin!CVDMTCtrl::PutText+0x319
39 0018deac 5b3f536f 14bb2a88 00000000 0936846c byondcore!InternalDebugPrinter+0x9235
3a 0018dec0 631942f4 14fd2af8 834d0b0c 093683f8 byondcore!DMTextPrinter::PrintText+0x5f
3b 0018def4 631c998a 14fd2af8 834d0ae8 0018df40 byondwin!CVDMTCtrl::PrintText+0x1a4
3c 0018df10 0125bc03 14fd2af8 5b0ab628 e15fe062 byondwin!CIOutputCtrl::PutText+0x3a
3d 0018df4c 5b29ee25 0467e9dc 5b4be8d3 0018df88 dreamseeker+0x4bc03
3e 0018df5c 5b276b11 0467e9dc 5b4be8d3 0467e9c0 byondcore!DMTextPrinter::ValidateResourceFile+0x292b5
3f 0018df88 5b273879 0467e9c0 0467e9c0 0467e8d8 byondcore!DMTextPrinter::ValidateResourceFile+0xfa1
40 0018df9c 5b402c98 0467e9c0 00000001 0467e8d8 byondcore!DungServer::GetServerPort+0x5e9
41 0018dfc4 5b401705 1c429ac0 00000594 0018dffc byondcore!MakeFileWriteable+0x4868
42 0018dfd4 5b4137a1 00000594 00000001 0467e8d8 byondcore!MakeFileWriteable+0x32d5
43 0018dffc 012557e2 00000594 00000001 012557b0 byondcore!SocketLib::Event_io+0x1f1
44 0018e02c 5b04540a 00000594 00000001 bb64b637 dreamseeker+0x457e2
45 0018e0f8 5b0450ca 000007e8 00000594 00000001 mfc120!CWnd::OnWndMsg+0x31d [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp @ 2272]
46 0018e118 5b0436ad 000007e8 00000594 00000001 mfc120!CWnd::WindowProc+0x22 [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp @ 2094]
47 0018e188 5b0438cf 0018e3dc 00773630 000007e8 mfc120!AfxCallWndProc+0x99 [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp @ 285]
48 0018e1a8 5af43a36 00773630 000007e8 00000594 mfc120!AfxWndProc+0x34 [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp @ 434]
49 0018e1e4 75ec84f3 00773630 000007e8 00000594 mfc120!AfxWndProcBase+0x34 [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\afxstate.cpp @ 299]
4a 0018e210 75ea6c40 5af43a02 00773630 000007e8 USER32!_InternalCallWinProc+0x2b
4b 0018e2b8 75ea6541 5af43a02 00000000 000007e8 USER32!UserCallWinProcCheckWow+0x1f0
4c 0018e324 75ec6f30 0018e360 5b032d8c 00eeaef8 USER32!DispatchMessageWorker+0x231
4d 0018e32c 5b032d8c 00eeaef8 00000000 0018e3dc USER32!DispatchMessageA+0x10
4e 0018e33c 5b047f80 00000004 0018e3dc 00000001 mfc120!AfxInternalPumpMessage+0x3e [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 183]
4f 0018e360 5afea745 00000004 00000000 0018e3dc mfc120!CWnd::RunModalLoop+0xc6 [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp @ 4644]
50 0018e378 5afea9c8 012ab7e0 00000000 01210000 mfc120!CWnd::CreateRunDlgIndirect+0x3e [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dlgcore.cpp @ 474]
51 0018e3cc 0123bbae e15fc252 012a30a8 012798dc mfc120!CDialog::DoModal+0x109 [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dlgcore.cpp @ 633]
52 0018fd7c 5b056300 00000000 00e63f3b 0000000a dreamseeker+0x2bbae
53 0018fd90 01267d6e 01210000 00000000 00e63f3b mfc120!AfxWinMain+0x47 [f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\winmain.cpp @ 37]
54 0018fddc 750538f4 002f8000 750538d0 9579386e dreamseeker+0x57d6e
55 0018fdf0 779e5de3 002f8000 97dee8b9 00000000 KERNEL32!BaseThreadInitThunk+0x24
56 0018fe38 779e5dae ffffffff 77a0b7bd 00000000 ntdll!__RtlUserThreadStart+0x2f
57 0018fe48 00000000 01267c3f 002f8000 00000000 ntdll!_RtlUserThreadStart+0x1b
Oddly that doesn't list anything related to the link click. I'm not sure that stack info is correct, but at least it's something. If there's any chance you can save that as a minidump file, maybe I can take a look at it myself.

There was one fix to the output control in the 510 series, and it's vaguely possible that it had a bearing on this, so I'd recommend also that you upgrade to the latest 510 build and try that. The chances it'll fix your issue may be slim, but it's worth a shot.
I downgraded to 509 since 510 had the same issue. I do know my way around tech, but this is getting on my nerves.
EDIT: I'll upload the minidump.
EDIT 2: How do i save this information on a minidump? I've never debugged before...
Might want to check with MrStonedOne on that. He was working with me on a WinDbg issue not that long ago and could probably help you with that part. I pretty much only use WinDbg for handling these sorts of cases, so I've never saved a minidump myself.
I just found out. The command is .dump /m Z:\INSERT PATH HERE\INSERT FILE NAME HERE
Here is the minidump
http://puu.sh/oNGhB/3ee40da2bd.dmp
Is that dump file from 509.1319? The addresses in byondwin.dll are not lining up with anything remotely correct for me.
I'm sorry, it seems that i uploaded the wrong file. Here is the correct one.
http://puu.sh/oOVVy/9d5759130a.dmp
This is confusing me, because the new dump file has nothing corresponding to byondwin.dll in it, which is where I'd expect any bug that involved clicking a link in the output to manifest. The old dump had byondwin.dll in it and the addresses were similar to those used by the output control, but because it wasn't version 509.1319 (what version was it?), I wasn't able to do anything with it.

Basically, the second dump file is useless; the first one might be potentially useful if I can find out which version you were running at the time.
I think i screwed up somewhere, the old file is from 510, and this from 509.
The old file is the only one that actually indicates it's connected to your link problem; it would be helpful to know the exact build number you were using for it. The 509 file does not seem to have anything to do with your link issue.
it's the latest 509 version, the one you mentioned.
No, the old file that you said was from 510. Which 510? The 509 dump is giving me nothing.
It's the latest version of 510.
The dump file for that shows that the dump happened inside of a call to SetRedraw(FALSE) on the rich edit control. That's useful info, although I'm not finding anything in Google to suggest a simple approach to the problem from there.

Was that dump file also from a hang?
Yes, i'm sure that i attached WinDbg when dream seeker was frozen. I actually made sure of that.
Page: 1 2 3 4 5