From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15709 invoked by alias); 15 Jan 2013 10:08:22 -0000 Received: (qmail 14630 invoked by uid 22791); 15 Jan 2013 10:07:56 -0000 X-Spam-Check-By: sourceware.org Received: from aquarius.hirmke.de (HELO calimero.vinschen.de) (217.91.18.234) by sourceware.org (qpsmtpd/0.83/v0.83-20-g38e4449) with ESMTP; Tue, 15 Jan 2013 10:07:48 +0000 Received: by calimero.vinschen.de (Postfix, from userid 500) id 7E873521456; Tue, 15 Jan 2013 11:07:45 +0100 (CET) Date: Tue, 15 Jan 2013 10:08:00 -0000 From: Corinna Vinschen To: cygwin@cygwin.com Subject: Re: rebase segfault Message-ID: <20130115100745.GC2353@calimero.vinschen.de> Reply-To: cygwin@cygwin.com Mail-Followup-To: cygwin@cygwin.com References: <50F516C8.9050602@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <50F516C8.9050602@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com X-SW-Source: 2013-01/txt/msg00202.txt.bz2 On Jan 15 09:43, marco atzeri wrote: > rebase is segfaulting on two dlls of new package > > postgresql-contrib-9.2.2-1 > > Full packages here > http://matzeri.altervista.org/cygwin-1.7/postgresql/ > > Just the two dll's here: > http://matzeri.altervista.org/works/rebase/ > > for i in *.dll; do echo $i ; rebase -O $i ; done > > dict_snowball.dll > Segmentation fault (core dumped) > > ltree.dll > Segmentation fault (core dumped) I don't know exactly what's going on here, but there's a common factor: $ objdump -h dict_snowball.dll dict_snowball.dll: file format pei-i386 Sections: Idx Name Size VMA LMA File off Algn 0 .text 00016808 4ef01000 4ef01000 00000400 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA 1 .data 00017180 4ef18000 4ef18000 00016e00 2**5 CONTENTS, ALLOC, LOAD, DATA 2 .bss 000000f8 4ef30000 4ef30000 00000000 2**5 ALLOC 3 .edata 00000fe0 4ef31000 4ef31000 0002e000 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 4 .idata 000003e0 4ef32000 4ef32000 0002f000 2**2 CONTENTS, ALLOC, LOAD, DATA 5 .reloc 0000765c 4ef33000 4ef33000 0002f400 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 6 .gnu_deb 0000001c 4ef3b000 4ef3b000 00036c00 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA $ objdump -h ltree.dll ltree.dll: file format pei-i386 Sections: Idx Name Size VMA LMA File off Algn 0 .text 000088a8 4ef31000 4ef31000 00000400 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA 1 .data 00000dc0 4ef3a000 4ef3a000 00008e00 2**5 CONTENTS, ALLOC, LOAD, DATA 2 .bss 000000f8 4ef3b000 4ef3b000 00000000 2**5 ALLOC 3 .edata 00000e3c 4ef3c000 4ef3c000 00009c00 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 4 .idata 000005b8 4ef3d000 4ef3d000 0000ac00 2**2 CONTENTS, ALLOC, LOAD, DATA 5 .reloc 00000adc 4ef3e000 4ef3e000 0000b200 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 6 .gnu_deb 00000014 4ef3f000 4ef3f000 0000be00 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA Both DLLs have a section .gnu_deb, whatever that one is good for. Rebase crashes both times when trying to relocate this .gnu_deb section. As you can see, the .gnu_deb section is pretty small, only 28 resp. 20 bytes. What happens is that the relocation information for the .gnu_deb section appears to be too big. In case of dict_snowball.dll, the reloc info covers 44 relocation entries. The segfault occurs as soon as one entry translates into a memory address which is beyond the committed area of the file memory map. Now, that's the *effect*. From this I can't say what the *cause* for this weird relocation info is. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple