DC++(0.707) repeated crashing: instruct at 0x7c901010 refrenced memory at 0x00000030 could not be read

Asked by joshuack

Error: "The instruction at 0x7c901010 referenced memory at 0x00000030. The memory could not be read." This error is consistent with all the crashes so far. Uptime ranges from (max)1.5 days to (min)3 minutes, median of several hours.

Symptoms:
Crash dialog box pops up, with Close and Debug options. So far, each of the times, the hex numbers have been the same.
DC++ is usually minimized, however it can be restored after the dialog box pops up, and while all new connections are shown as "connection timeout", all existing transfers - including multipart transfers - continue until the connection fails or is closed or completed from either end, apparently. On more then one occasion, I have let transfers continue after getting the first error popup and gotten a second. Hitting Close, of course, immediately closes the DC++ application.

Hardware and Environment:
WinXPSP2, Netgear 10/100 hub, connected via Ethernet.
SPI firewall has a large range of port forwarding to this machine.
Functional connecting and downloading - although search has not worked the two times I've tried it.
Installed for less than a week, formerly ApexDC - switched after their bungled handling of their forced upgrade.
3 hubs, 5 slots.
Extensive download queue: 8mb in the Queue.xml, though starting with a clean Queue.xml also crashed after a few hours with the same error.
Nothing shown of the crash in system.log, DrWatson does not start when I click debug. No other dump or log files found where I tried looking for them.
HijackThis, AdAware, SpybotSD, and AVG show no anomalies, and no unknown / unapproved software.

Software:
Kerio firewall v4.2 (old ver) - DC++ given a full exclusion on all ports/addresses
AVG 8 - and YES, I am trying to find a better antivirus - After they've turned the best, most efficient no-frills AV product into DDOS bloatware . . . (sorry. : )
All other security software or anything else that may affect performance (Dragon Naturally Speaking, Azureus, etc.) disabled or uninstalled to ease diagnosing the cause of the error.

I had moved to ApexDC after having similar / the same problems with 0.699 and 0.704 - though I don't recall the hex at this point. With 0.704, I believe, the behavior was different - "This application has encountered an error and must close" was the dialog, however the behavior roughly described in the Symptoms section above still applies - connections usually continued until the crash dialog was closed, and only then would the application terminate, although new connections weren’t formed. In the case of 0.704, these crashes usually deleted or corrupted whatever files were in transit or completed , or possibly even opened for reading at the time the crash occurred - I lost several dozen files to the crashes, and many more were corrupted. Hence my move to ApexDC.

I'd really like to stick with the core DC app, so if one of your troubleshooters would like to contact me direct, I will provide any and all info that they would think might help, and run any tests you believe might help identify the issue. I have a brain, so it shouldn't be too difficult for you. : )

Thanks!

Question information

Language:
English Edit question
Status:
Answered
For:
DC++ Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
MikeJJ (mrmikejj) said :
#1

There is a version of exchndl.dll which arnetheduck made which if placed with the .exe should generate a crash report file (DCPlusPlus.RPT), which sometimes contain useful information regarding crashes.
magnet:?xt=urn:tree:tiger:LOJGML27PAA32T4YPII6OTQJFKHKHRB7QQOW3JY&xl=3845627&dn=exchndl.dll
If you can't find it (that exact TTH), come speak to me in dc dev public, and i can give you a copy of it. :)
adc://devpublic.adcportal.com:16591

Revision history for this message
joshuack (joshuack) said :
#2

Thank you for the exchndl.dll file - I stuck it where you told me, and here are the results: (less then 10 min, two crashes. : )

If you would like more data, please don't hesitate to ping me.

1st:

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

Error occured on Saturday, July 19, 2008 at 06:50:58.

C:\Program Files\StandardDC\DCPlusPlus.exe caused an Access Violation at location 7c901010 in module C:\WINDOWS\system32\ntdll.dll Reading from location 00000030.

Registers:
eax=008c72c0 ebx=00000000 ecx=7ffae000 edx=0000001c esi=0000001c edi=04403948
eip=7c901010 esp=0722fb18 ebp=0722fb54 iopl=0 nv up ei pl nz ac pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010212

Call stack:
7C901010 C:\WINDOWS\system32\ntdll.dll:7C901010
005B41E1 C:\Program Files\StandardDC\DCPlusPlus.exe:005B41E1
0054F061 C:\Program Files\StandardDC\DCPlusPlus.exe:0054F061
00535E5D C:\Program Files\StandardDC\DCPlusPlus.exe:00535E5D
00537DBD C:\Program Files\StandardDC\DCPlusPlus.exe:00537DBD
007325F1 C:\Program Files\StandardDC\DCPlusPlus.exe:007325F1
7C80B683 C:\WINDOWS\system32\kernel32.dll:7C80B683

2nd:

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

Error occured on Saturday, July 19, 2008 at 06:53:05.

C:\Program Files\StandardDC\DCPlusPlus.exe caused an Access Violation at location 7c901010 in module C:\WINDOWS\system32\ntdll.dll Reading from location 00000030.

Registers:
eax=008c72c0 ebx=00000000 ecx=7ffae000 edx=0000001c esi=0000001c edi=21a24b00
eip=7c901010 esp=0722fb18 ebp=0722fb54 iopl=0 nv up ei pl nz ac pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010212

Call stack:
7C901010 C:\WINDOWS\system32\ntdll.dll:7C901010
005B41E1 C:\Program Files\StandardDC\DCPlusPlus.exe:005B41E1
0054F061 C:\Program Files\StandardDC\DCPlusPlus.exe:0054F061
00535E5D C:\Program Files\StandardDC\DCPlusPlus.exe:00535E5D
00537DBD C:\Program Files\StandardDC\DCPlusPlus.exe:00537DBD
007325F1 C:\Program Files\StandardDC\DCPlusPlus.exe:007325F1
7C80B683 C:\WINDOWS\system32\kernel32.dll:7C80B683

--- On Thu, 7/10/08, MikeJJ <email address hidden> wrote:

> From: MikeJJ <email address hidden>
> Subject: Re: [Question #38724]: DC++(0.707) repeated crashing: instruct at 0x7c901010 refrenced memory at 0x00000030 could not be read
> To: <email address hidden>
> Date: Thursday, July 10, 2008, 9:25 PM
> Your question #38724 on DC++ changed:
> https://answers.launchpad.net/dcplusplus/+question/38724
>
> Status: Open => Answered
>
> MikeJJ proposed the following answer:
> There is a version of exchndl.dll which arnetheduck made
> which if placed with the .exe should generate a crash
> report file (DCPlusPlus.RPT), which sometimes contain
> useful information regarding crashes.
> magnet:?xt=urn:tree:tiger:LOJGML27PAA32T4YPII6OTQJFKHKHRB7QQOW3JY&xl=3845627&dn=exchndl.dll
> If you can't find it (that exact TTH), come speak to me
> in dc dev public, and i can give you a copy of it. :)
> adc://devpublic.adcportal.com:16591
>
> --
> If this answers your question, please go to the following
> page to let us
> know that it is solved:
> https://answers.launchpad.net/dcplusplus/+question/38724/+confirm?answer_id=0
>
> If you still need help, you can reply to this email or go
> to the
> following page to enter your feedback:
> https://answers.launchpad.net/dcplusplus/+question/38724
>
> You received this question notification because you are a
> direct
> subscriber of the question.

Revision history for this message
MikeJJ (mrmikejj) said :
#3

Unfortuately that only contains memory addresses, not the actual File and Line numbers normally presented with a call stack.
If you are willing, there is a way to get a proper one, but it involves more effort (but with it, a bug report can be filed, and hopefully someone will be able to fix it :))
You'll need a "unstripped" exe, which contains the debugging symbols (it's about 90mb), and i can make one of these from the latest source code for you.
With that you can try with that dll again, see if it provides more meaningful information. If not, it'll need to be ran under GDB (the gnu debugger) and it'll give a proper backtrace / callstack. :)

Revision history for this message
joshuack (joshuack) said :
#4

I'll be happy to give it a try. Thanks for going though the trouble. : )

I assume the easiest way to get it would be though a magnet link, (assuming I can keep DC++ open long enough. ; ) so when you have it built, please ping me with whatever hub and nick you prefer to use, and I'll jump on as soon as I read the message.

Thanks!

Joshuack

Revision history for this message
MikeJJ (mrmikejj) said :
#5

Okay, no problem :)
I figured this was the easiest way since my isp kills nmdc connections, lol :S
http://rapidshare.com/files/130889807/bzr-1345.tar.gz.html
In this archive there are 2 exe's. One is a debug build of dc++ (which should provide more debugging information), and the other is a release build (on the off chance that you issue has already been fixed, so one for you to use).
Try with the DLL, if that fails i can help you setup GDB and get a full call stack. :)

Revision history for this message
joshuack (joshuack) said :
#6

Thanks for the help - sorry for the delay in responding.

Using the debug version has not resolved the problem, but did change the way it is expressed. Previously, as long as I did not click Close to the error message that popped up (as described earlier), the primary window remained open. Now, no error message is displayed, and the primary window has vanished some length of time after startup, but connections are still active, and the DC++ dos status window that is a part of this build is still showing active connections being made, in and out. The icon still exists in the system tray, and I can select "Settings..." and see that window, but clicking "Show" or "Downloads Directory" both do nothing.

No information was generated in the DCPlusPlus.RPT file, and nothing of consequence showed up in the system.log file. Are there any other sources for data you could use?

If it is any help, I'd gladly do whatever configuration settings changes are necessary for you to get accurate data.

Thanks

Joshuack

--- On Sat, 7/19/08, MikeJJ <email address hidden> wrote:

> From: MikeJJ <email address hidden>
> Subject: Re: [Question #38724]: DC++(0.707) repeated crashing: instruct at 0x7c901010 refrenced memory at 0x00000030 could not be read
> To: <email address hidden>
> Date: Saturday, July 19, 2008, 10:38 AM
> Your question #38724 on DC++ changed:
> https://answers.launchpad.net/dcplusplus/+question/38724
>
> Status: Open => Answered
>
> MikeJJ proposed the following answer:
> Okay, no problem :)
> I figured this was the easiest way since my isp kills nmdc
> connections, lol :S
> http://rapidshare.com/files/130889807/bzr-1345.tar.gz.html
> In this archive there are 2 exe's. One is a debug
> build of dc++ (which should provide more debugging
> information), and the other is a release build (on the off
> chance that you issue has already been fixed, so one for you
> to use).
> Try with the DLL, if that fails i can help you setup GDB
> and get a full call stack. :)
>
> --
> If this answers your question, please go to the following
> page to let us
> know that it is solved:
> https://answers.launchpad.net/dcplusplus/+question/38724/+confirm?answer_id=4
>
> If you still need help, you can reply to this email or go
> to the
> following page to enter your feedback:
> https://answers.launchpad.net/dcplusplus/+question/38724
>
> You received this question notification because you are a
> direct
> subscriber of the question.

Revision history for this message
Pietry (pietry) said :
#7

You could try to install cygwin ( www.cygwin.com ) and make sure that during installation you pick up GDB from the list of packages ( gdb stands for gnu debugger )
After installing cygwin, run dc++ like this
- Let's say your dc++ debug exe is in c:\dc++
- open up cygwin and type cd /cygdrive/c/dc++
- then type gdb DCPlusPlus.exe
- then type run
- DC++ starts, make your crash
- return to cygwin, and type bt then copypaste all the info in there to us
That should be it...

Can you help with this problem?

Provide an answer of your own, or ask joshuack for more information if necessary.

To post a message you must log in.