Discussion:
Crash during sending of large binary attachments
jarrsh
2005-05-03 16:35:55 UTC
Permalink
I'm trying to run Blat 2.4 on some Windows 98 SE machines, and on all
of them it's crashing when I send certain attachments. I can send
some fine but not others using the same command line. As far as I can
tell, it seems to be determined by the size of the binary attachment,
where all files over a certain size cause mscvrt.dll to read memory at
location 0xffffffff during a memcpy. On one computer, all the test
files I'd tried that were over the size of 4.98 MB crashed it, and on
two other Windows 98 computers, the 4.98 MB file would send
successfully but 4.99 MB and higher would cause a crash.

I've also tested on one Windows XP computer and haven't encountered
any problems sending from it, even with a 20 MB file.
--
Homepage:
http://www.blat.net
c***@att.net
2005-05-03 17:40:42 UTC
Permalink
Post by jarrsh
I'm trying to run Blat 2.4 on some Windows 98 SE machines, and on all
of them it's crashing when I send certain attachments. I can send
some fine but not others using the same command line. As far as I can
tell, it seems to be determined by the size of the binary attachment,
where all files over a certain size cause mscvrt.dll to read memory at
location 0xffffffff during a memcpy. On one computer, all the test
files I'd tried that were over the size of 4.98 MB crashed it, and on
two other Windows 98 computers, the 4.98 MB file would send
successfully but 4.99 MB and higher would cause a crash.
I've also tested on one Windows XP computer and haven't encountered
any problems sending from it, even with a 20 MB file.
How much memory is in those Win98 machines? What is the maximum message size allowed by your server? If possible, please use -debug -log c:\blat.log the next time you send a small email on one of those Win98 machines, then post the server responses (250) so I can check what the server allows versus what you are trying to do.

I don't have Win98 to test with anymore, I am using WinXP SP2 at home.

Chip
--
Homepage:
http://www.blat.net
namtog
2005-05-03 18:36:04 UTC
Permalink
Post by c***@att.net
I don't have Win98 to test with anymore, I am using WinXP SP2 at home.
Chip
I still have a win 98 box, I could check it for you. It's amd k-6 333
with 160 ram.

Namtog
--
Homepage:
http://www.blat.net
Bob Schauer
2005-05-03 18:56:16 UTC
Permalink
I have a Win 98 SE machine, as well as my XP-Home machine. I'd be happy to
test something if someone sends the required commands and instructions of
what you want tested.
Bob Schauer

----- Original Message -----
From: "namtog" <***@yahoo.com>
To: <***@yahoogroups.com>
Sent: Tuesday, May 03, 2005 11:36 AM
Subject: [blat] Re: Crash during sending of large binary attachments
Post by namtog
Post by c***@att.net
I don't have Win98 to test with anymore, I am using WinXP SP2 at
home.
Post by c***@att.net
Chip
I still have a win 98 box, I could check it for you. It's amd k-6 333
with 160 ram.
Namtog
--
http://www.blat.net
http://groups.yahoo.com/group/blat
Yahoo! Groups Links
--
Homepage:
http://www.blat.net
jarrsh
2005-05-04 00:06:20 UTC
Permalink
Post by c***@att.net
How much memory is in those Win98 machines? What is the maximum
message size allowed by your server? If possible, please use -debug
-log c:\blat.log the next time you send a small email on one of those
Win98 machines, then post the server responses (250) so I can check
what the server allows versus what you are trying to do.
Post by c***@att.net
I don't have Win98 to test with anymore, I am using WinXP SP2 at home.
Chip
They have 112 MB, 192 MB, and 512 MB of memory. I don't know of there
being any message size limit on the mail server (it's Sendmail 8.13.3,
and I never explicitly configured it to limit message length), but I
don't think it has to do with the mail server itself, because I could
send the 20 MB file from the Windows XP computer without any trouble.
I tried using the debug and log flags, but it creates a zero-length
log file when I use the following command line:

------------------------------------------
blat test.txt -server mail.example.com -f ***@example.com -to
***@example.com -subject "test" -attach test.4.99.dat -debug
-log c:\blat.log
------------------------------------------

with "example" replaced with our mail server. "test.4.99.dat" is
5,232,394 bytes long, and is the letter 'a' repeated.

I'm using Blat 2.4, but after making my last post I tested using the
Blat version 1.9.3 DLL and found that it ran successfully on Windows
98 with the same large files that cause crashes for Blat 2.4.
--
Homepage:
http://www.blat.net
Chip
2005-05-04 01:49:23 UTC
Permalink
Post by jarrsh
They have 112 MB, 192 MB, and 512 MB of memory. I don't know of there
being any message size limit on the mail server (it's Sendmail 8.13.3,
and I never explicitly configured it to limit message length), but I
don't think it has to do with the mail server itself, because I could
send the 20 MB file from the Windows XP computer without any trouble.
I tried using the debug and log flags, but it creates a zero-length
------------------------------------------
-log c:\blat.log
------------------------------------------
with "example" replaced with our mail server. "test.4.99.dat" is
5,232,394 bytes long, and is the letter 'a' repeated.
I'm using Blat 2.4, but after making my last post I tested using the
Blat version 1.9.3 DLL and found that it ran successfully on Windows
98 with the same large files that cause crashes for Blat 2.4.
Are you using the .dll from version 2.4 or the .exe? What is the date on
your msvcrt.dll?

Chip
--
Homepage:
http://www.blat.net
jarrsh
2005-05-04 16:15:50 UTC
Permalink
Post by Chip
Are you using the .dll from version 2.4 or the .exe? What is the date on
your msvcrt.dll?
Chip
I've tried the DLL and the Blat executable from 2.4, and they both
cause the same crash in msvcrt.dll. Two of the computers have
msvcrt.dll version 6.10.8637.0 with a modified date of 12/7/99, and
the other computer has version 6.00.8797.0, modified on 7/15/00.
--
Homepage:
http://www.blat.net
Chip
2005-05-04 17:54:10 UTC
Permalink
Post by jarrsh
Post by Chip
Are you using the .dll from version 2.4 or the .exe? What is the
date on your msvcrt.dll?
Chip
I've tried the DLL and the Blat executable from 2.4, and they both
cause the same crash in msvcrt.dll. Two of the computers have
msvcrt.dll version 6.10.8637.0 with a modified date of 12/7/99, and
the other computer has version 6.00.8797.0, modified on 7/15/00.
Copy the version from your XP installation to Win98 and give that a try. My
copy on XP Pro SP2 is from August 2004, and is 343040 bytes.

Chip
--
Homepage:
http://www.blat.net
jarrsh
2005-05-04 21:11:28 UTC
Permalink
Post by Chip
Copy the version from your XP installation to Win98 and give that a try. My
copy on XP Pro SP2 is from August 2004, and is 343040 bytes.
Chip
Explorer failed to start when I replaced my msvcrt.dll with XP's (the
same version as your msvcrt.dll, based on the date and size). I also
got a few error messages about failures linking to ntdll.dll, but
replacing that with XP's version just caused more processes to fail.

Would there happen to be a version of the Blat executable compiled
with debugging information? I should be able to give you more
detailed information about the crash if I could run a debug version of
Blat.
--
Homepage:
http://www.blat.net
Corp Library
2005-05-04 21:23:25 UTC
Permalink
You can download DLL's from this site:

http://www.dll-files.com

Here's a link to a free download for msvcrt.dll
http://www.dll-files.com/dllindex/dll-files.shtml?msvcrt

Malcolm
--
Homepage:
http://www.blat.net
chipprogrammer
2005-05-05 20:30:27 UTC
Permalink
Post by jarrsh
Explorer failed to start when I replaced my msvcrt.dll with XP's (the
same version as your msvcrt.dll, based on the date and size). I also
got a few error messages about failures linking to ntdll.dll, but
replacing that with XP's version just caused more processes to fail.
Would there happen to be a version of the Blat executable compiled
with debugging information? I should be able to give you more
detailed information about the crash if I could run a debug version of
Blat.
I built Blat 2.4.0 this morning from the distribution to get a debug
version, which you can download from
http://home.att.net/~chip.programmer/blat.exe

Chip
--
Homepage:
http://www.blat.net
jarrsh
2005-05-06 17:02:37 UTC
Permalink
Post by chipprogrammer
I built Blat 2.4.0 this morning from the distribution to get a debug
version, which you can download from
http://home.att.net/~chip.programmer/blat.exe
Chip
I thought I might be able to see which Blat function was last called
before the crash, but the JIT debugger I'm using (Dr. MingW) isn't
showing that even with the debug version. Maybe it can't read that
format of debugging info? I can tell you, though, that the debugging
version was linking to MSVCR71.DLL instead of MSVCRT.DLL, and it
crashes the same way (though it could only send up to a 4.6 MB file
where the normal executable could send a 4.8 MB one). The MSVCR71.DLL
file that I have is 348,160 bytes, dated 2/21/03, and is version
7.10.3052.4
--
Homepage:
http://www.blat.net
jarrsh
2005-05-10 17:20:23 UTC
Permalink
Gilles Vollant's modification of base64.cpp and buf.h (posted in
message 7185) fixes the problem I was having. I've tested up to a 20
MB attachment and had no problem sending it. I think the code that he
added avoids memory reallocations in the class "Buf", so maybe that
class has bugs related to allocation of memory that aren't showing up
any more when using Gilles' patch.
--
Homepage:
http://www.blat.net
Corp Library
2005-05-10 17:58:28 UTC
Permalink
Hi Chip,
Gilles Vollant's modification of base64.cpp and buf.h (posted in message 7185) fixes the problem I was having. I think the code that he added avoids memory reallocations in the class "Buf", so maybe that class has bugs related to allocation of memory that aren't showing up any more when using Gilles' patch.
Does this mean there will be a new build of Blat on the horizon?
(Possibly with your Unicode enhancements?)

Thanks again for supporting Blat!

Malcolm
--
Homepage:
http://www.blat.net
Chip
2005-05-11 01:23:54 UTC
Permalink
Post by jarrsh
Gilles Vollant's modification of base64.cpp and buf.h (posted in
message 7185) fixes the problem I was having. I've tested up to a 20
MB attachment and had no problem sending it. I think the code that he
added avoids memory reallocations in the class "Buf", so maybe that
class has bugs related to allocation of memory that aren't showing up
any more when using Gilles' patch.
Not so much a bug in Blat's Buf class as a bug in Windows 98 memory manager.
I have not had a chance to see Gilles' changes, yet, but will get there
tonight. I was out of town this past weekend without 'net access; riding my
motorcycle 2800 miles. :)

Chip
--
Homepage:
http://www.blat.net
Rick Nakroshis
2005-05-11 03:09:34 UTC
Permalink
Post by Chip
I was out of town this past weekend without 'net access; riding my
motorcycle 2800 miles. :)
Chip
And now you're standing at your keyboard, typing in your replies? LOL

Glad you came back safely.

Rick
--
Homepage:
http://www.blat.net
Corp Library
2005-05-11 13:20:19 UTC
Permalink
Hi Chip,
riding my motorcycle 2800 miles. :)
Now that's what I call a road trip! <very big, very envious grin>

And a well deserved vacation from this list.

Thanks again for supporting Blat!

Malcolm
--
Homepage:
http://www.blat.net
L.Willms
2005-05-05 09:58:13 UTC
Permalink
Post by Chip
Post by jarrsh
msvcrt.dll version 6.10.8637.0 with a modified date of 12/7/99, and
the other computer has version 6.00.8797.0, modified on 7/15/00.
Copy the version from your XP installation to Win98 and give that a try. My
copy on XP Pro SP2 is from August 2004, and is 343040 bytes.
One can't use most DLLs from a NT-system on a DOS-based Windows
system (95, 98, ME).


Yours,
Lüko Willms
-----------------------------------------------
Frankfurt/Main
--
Homepage:
http://www.blat.net
Loading...