dnssec-signzone crash on Windows 2000
stefanpuiu at itcnetworks.ro
Wed Jan 19 09:50:16 UTC 2005
Thanks for confirming this, am I to understand that bind9-bugs is to be
used for reporting BIND 9 bugs, and bind-bugs for BIND 8 ones? And also,
is there an online database of BIND bugs and fixes that I can query, so
that I don't end up reporting known bugs?
On the other hand, it would be real nice to see a stable Windows build
of BIND 9 without crashing binaries. I haven't tried 9.2.4, though.
mayer at gis.net wrote:
>I submitted fixes for this to bind9-bugs (not bind-bugs) several months
>It wasn't just the dnssec-signzone there were changes required for some
>the other builds. Your fix is correct for the .exe files and that was
>change that I submitted. It is not necessary to change libisc.dsp since
>is already set up correctly. Also /MDd is the debug version. For the
>version it needs to be /MD.
>----- Original Message Follows -----
>>I've tried using dnssec-signzone from the Win32 BIND 9.3.0 binary
>>distribution to sign a simple zone on Windows 2000 SP4 and failed, the
>>app crashing with an access violation. The same operation succeeded on
>>Solaris, using the same key and zone files. The zone file and key
>>files are attached (they were used for testing purposes only, the
>>zone file too - it's bogus).
>>The command line used was:
>>dnssec-signzone -v 99 -o ns.itc.ro -t ns.itc.ro.db
>>I remember experiencing crashes with dnssec-signzone in 9.2.3 when
>>using RSA keys. The problem would go away when recompiling BIND. This
>>is also true for 9.3.0, as shown below, but we're lucky to have a MS
>>VC++ 6.0 license, others might not be that lucky.
>>Here's what a co-worker found when trying to debug this problem:
>>The stack trace for the crash is:
>>"First-chance exception in dnssec-signzone.exe (NTDLL.DLL):
>>0xC0000005: Access Violation."
>>Using a debug version, the stack trace becomes:
>>fprintf(_iobuf * 0x00437ab8, const char * 0x100677a0 `string') line 62
>>+ 9 bytes
>>isc_log_doit(isc_log * 0x007fb458, isc_logcategory * 0x1006f9d0,
>>isc_logmodule * 0x00691980, int -3, int 0, isc_msgcat * 0x00000000,
>>int 0, int 0, const char * 0x0066a19c `string', char * 0x0012ec6c)
>>line 1700 + 407 bytes
>>isc_log_vwrite(isc_log * 0x007fb458, isc_logcategory * 0x1006f9d0,
>>isc_logmodule * 0x00691980, int -3, const char * 0x0066a19c `string',
>>char * 0x0012ec6c) line 846 + 37 bytes
>>isclog_warn_callback(dns_rdatacallbacks * 0x0012fbe4, const char *
>>0x0066a19c `string') line 80 + 36 bytes
>>load(dns_loadctx * 0x00803da0) line 1771 + 44 bytes
>>dns_master_loadfile(const char * 0x00d60ed4, dns_name * 0x00802670,
>>dns_name * 0x00802670, unsigned short 1, unsigned int 0,
>>dns_rdatacallbacks * 0x0012fbe4, isc_mem * 0x00801c80) line 1913 + 9
>>dns_db_load(dns_db * 0x00802660, const char * 0x00d60ed4) line 324 +
>>loadzone(char * 0x00d60ed4, char * 0x00d60ec7, unsigned short 1,
>>dns_db * * 0x0043942c gdb) line 1323 + 15 bytes
>>main(int 1, char * * 0x00d60e7c) line 1884 + 23 bytes
>>mainCRTStartup() line 206 + 25 bytes
>>The problem is fixed by altering compilation options for libisc.dll
>>and dnssec-signzone.exe and recompiling, namely, under Project
>>Settings -> C/C++ -> Code Generation -> Use run-time library ->
>>"Multithreaded DLL" instead of "Multithreaded" as in the original dsp
>>- thus using the /MD option instead of /MT for the MS compiler for
>>dnssec-signzone and, strangely, /MTd instead of /MDd for libisc. The
>>diffs are attached.
>>I put bind-bugs in the Cc field because I presume this to be a bug,
>>even if it's in the project settings and not in the actual source.
>>Can somebody please confirm this?
More information about the bind-users