From: Juanma Barranquero <lekktu@gmail.com>
Subject: Re: Problem with library images on Windows (again)
Date: Mon, 6 Jun 2005 13:26:33 +0200 [thread overview]
Message-ID: <f7ccd24b050606042622111ca9@mail.gmail.com> (raw)
In-Reply-To: <f7ccd24b050604174447923bd0@mail.gmail.com>
Funnier and funnier.
I've been able to compile an MSVC debug release of libpng13; with it,
both the MSVC and the GCC builds of Emacs crash.
It happens inside msvcr71d.dll; (part of) the stack is:
ntdll.dll!7c928fea()
ntdll.dll!7c91104b()
msvcr71d.dll!_lock_file(void * pf=0x77c2fce0) Line 236 C
> msvcr71d.dll!fread(void * buffer=0x0082e268, unsigned int
size=0x00000001, unsigned int count=0x00000004, _iobuf *
stream=0x77c2fce0) Line 75 + 0x9 C
libpng13d.dll!png_default_read_data(png_struct_def *
png_ptr=0x20844540, unsigned char * data=0x0082e268, unsigned int
length=0x00000004) Line 55 + 0x19 C
libpng13d.dll!png_read_data(png_struct_def * png_ptr=0x20844540,
unsigned char * data=0x0082e268, unsigned int length=0x00000004) Line
31 + 0x14 C
libpng13d.dll!png_read_info(png_struct_def * png_ptr=0x20844540,
png_info_struct * info_ptr=0x208483e0) Line 402 + 0xf C
The crash is on the _lock_file() call inside the msvcr71
implementation of fread(); the relevant code is:
void __cdecl _lock_file (
void *pf
)
{
/*
* The way the FILE (pointed to by pf) is locked depends on whether
* it is part of _iob[] or not
*/
if ( (pf >= (void *)_iob) && (pf <= (void *)(&_iob[_IOB_ENTRIES-1])) )
/*
* FILE lies in _iob[] so the lock lies in _locktable[].
*/
_lock( _STREAM_LOCKS + (int)((FILE *)pf - _iob) );
else
/*
* Not part of _iob[]. Therefore, *pf is a _FILEX and the
* lock field of the struct is an initialized critical
* section.
*/
EnterCriticalSection( &(((_FILEX *)pf)->lock) );
}
The code decides that the FILE * is not part of _iob[] and calls
EnterCriticalSection, which gets an access violation writing on
0x00000010.
(I suppose I could get around the issue by writing read functions for
libpng and jpeg and bypassing the standard code altogether; still,
it'd be great to understand what's happening.)
--
/L/e/k/t/u
next prev parent reply other threads:[~2005-06-06 11:26 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-18 15:53 Problem with library images on Windows (again) Juanma Barranquero
2005-05-18 19:30 ` Andreas Schwab
2005-05-18 22:44 ` Juanma Barranquero
2005-05-19 6:58 ` Jason Rumney
2005-05-18 22:16 ` Jason Rumney
2005-05-18 22:52 ` Juanma Barranquero
2005-05-19 3:50 ` Eli Zaretskii
2005-05-19 8:13 ` Juanma Barranquero
2005-05-19 19:05 ` Eli Zaretskii
2005-05-19 19:31 ` Juanma Barranquero
2005-05-19 19:32 ` Juanma Barranquero
2005-05-20 7:20 ` Eli Zaretskii
2005-05-20 8:24 ` Kim F. Storm
2005-05-20 10:01 ` Eli Zaretskii
2005-05-20 10:16 ` Jason Rumney
2005-05-20 10:42 ` Juanma Barranquero
2005-05-20 14:44 ` Eli Zaretskii
2005-05-20 15:46 ` Jason Rumney
2005-05-20 15:52 ` Eli Zaretskii
2005-05-20 16:33 ` Juanma Barranquero
2005-05-20 17:57 ` Juanma Barranquero
2005-05-21 10:21 ` Jason Rumney
2005-05-21 10:33 ` Juanma Barranquero
2005-05-21 21:13 ` Jason Rumney
2005-05-22 21:21 ` Juanma Barranquero
2005-06-03 12:08 ` Juanma Barranquero
2005-06-03 13:06 ` David Kastrup
2005-06-03 15:28 ` jasonr
2005-06-03 17:23 ` Stefan Monnier
2005-06-05 0:44 ` Juanma Barranquero
2005-06-06 11:26 ` Juanma Barranquero [this message]
2005-06-14 2:02 ` Juanma Barranquero
2005-06-14 7:32 ` David Kastrup
2005-06-14 9:15 ` Juanma Barranquero
2005-05-20 16:31 ` Juanma Barranquero
2005-05-20 16:29 ` Juanma Barranquero
2005-05-20 12:19 ` Benjamin Riefenstahl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f7ccd24b050606042622111ca9@mail.gmail.com \
--to=lekktu@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).