HTTrack Website Copier
Free software offline browser - FORUM
Subject: Httrack crashed ; please see crash dump
Author: Rajesh Nikam
Date: 07/28/2006 10:36
 
Following crash is generated for libhttrack.dll. 
When I opened crash dump with WinDbg it browsed to fspc () function form
"htscore.c".
From the disassembly, we could observe that it matches.

What I guess is,  strc is not pointing to valid memory location.

Please let me know your comments.

Assembly:

FAULT ->01f32fbe 8b4804           mov     ecx,[eax+0x4]    
ds:0023:00021a4c=????????        01f32fc1 83c101           add     ecx,0x1

Source code:
FAULT-->				strc->warning++; <-----

*----> State Dump for Thread Id 0x1794 <----*

eax=00021a48 ebx=00000000 ecx=020ec370 edx=020ec370 esi=03300040 edi=02e7ef30
eip=01f32fbe esp=02e7ed20 ebp=02e7ef30 iopl=0         nv up ei pl zr na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010246

*** WARNING: Unable to verify checksum for X:\dev\htttrack4.31\libhttrack.dll
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for
X:\dev\htttrack4.31\libhttrack.dll - 
function: libhttrack!hts_buildtopindex
        01f32fa0 837df400         cmp     dword ptr [ebp-0xc],0x0
        01f32fa4 746e             jz  libhttrack!hts_buildtopindex+0x83daa
(01f33014)
        01f32fa6 6868c30e02       push    0x20ec368
        01f32fab 8b4510           mov     eax,[ebp+0x10]
        01f32fae 50               push    eax
        01f32faf e8c1b2f7ff       call    libhttrack!jump_toport+0x4b
(01eae275)
        01f32fb4 83c408           add     esp,0x8
        01f32fb7 85c0             test    eax,eax
        01f32fb9 7511             jnz libhttrack!hts_buildtopindex+0x83d62
(01f32fcc)
        01f32fbb 8b45f4           mov     eax,[ebp-0xc]
FAULT ->01f32fbe 8b4804           mov     ecx,[eax+0x4]    
ds:0023:00021a4c=????????        01f32fc1 83c101           add     ecx,0x1
        01f32fc4 8b55f4           mov     edx,[ebp-0xc]
        01f32fc7 894a04           mov     [edx+0x4],ecx
        01f32fca eb48             jmp libhttrack!hts_buildtopindex+0x83daa
(01f33014)
        01f32fcc 6860c30e02       push    0x20ec360
        01f32fd1 8b4510           mov     eax,[ebp+0x10]
        01f32fd4 50               push    eax
        01f32fd5 e89bb2f7ff       call    libhttrack!jump_toport+0x4b
(01eae275)
        01f32fda 83c408           add     esp,0x8
        01f32fdd 85c0             test    eax,eax

*----> Stack Back Trace <----*
ChildEBP RetAddr  Args to Child              
WARNING: Stack unwind information not available. Following frames may be
wrong.
02e7ef30 01ed82b8 00000000 02131c60 020ec368
libhttrack!hts_buildtopindex+0x83d54
02e85d20 0203aee7 021aebc0 03000068 02ec6d28
libhttrack!hts_buildtopindex+0x2904e
02e95db0 02006b42 02ec2618 02eb1610 02eb0e08
libhttrack!hts_buildtopindex+0x18bc7d
02eb9678 01f1ed79 02ec2618 02ec2598 02f1cd34
libhttrack!hts_buildtopindex+0x1578d8
02f0cbac 01f58ea3 03023718 03000068 01ead1b8
libhttrack!hts_buildtopindex+0x6fb0f
02f1cd34 01d2caa1 0000002f 021ac818 03000068
libhttrack!hts_buildtopindex+0xa9c39
===================================================================================



// écrire n espaces dans fp
HTS_INLINE int fspc(httrackp *opt,FILE* fp,const char* type) {
  fspc_strc* strc = &opt->state.fspc;

  //
  if (fp) {
    char s[256];
    time_t tt;
    struct tm* A;
    tt=time(NULL);
    A=localtime(&tt);
    if (A == NULL) {
      int localtime_returned_null=0;
      assert(localtime_returned_null);
    }
    strftime(s,250,"%H:%M:%S",A);
    if (strnotempty(type))
			fprintf(fp,"%s\t%c%s: \t",s,hichar(*type),type+1);
		else
			fprintf(fp,"%s\t \t",s);
		if (strc != NULL) {
			if (strcmp(type,"warning")==0)

FAULT-->				strc->warning++; <-----

			else if (strcmp(type,"error")==0)
				strc->error++;
			else if (strcmp(type,"info")==0)
				strc->info++;
		}
	} 
	else if (strc == NULL) {
		return 0;
	}
	else if (!type) {
		strc->error=strc->warning=strc->info=0;     // reset
	}
	else if (strcmp(type,"warning")==0)
    return strc->warning;
  else if (strcmp(type,"error")==0)
    return strc->error;
  else if (strcmp(type,"info")==0)
    return strc->info;
  return 0;
}
 
Reply


All articles

Subject Author Date
Httrack crashed ; please see crash dump

07/28/2006 10:36
Re: Httrack crashed ; more info attached

07/28/2006 11:11
**** Re: Httrack crashed ; more info attached ***

07/28/2006 11:21
Re: Httrack crashed ; more info attached

07/29/2006 08:26
**** Re: Httrack crashed ; more info attached ***

07/29/2006 08:27
Re: Httrack crashed ; please see crash dump

07/29/2006 08:31
****** Re: Httrack crashed ; please see crash dump

07/31/2006 08:06
****** Re: Httrack crashed ; please see crash dump

07/31/2006 08:39
****** Re: Httrack crashed ; please see crash dump

08/04/2006 20:58




5

Created with FORUM 2.0.11