X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Tue, 15 Jan 2013 11:07:45 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: rebase segfault Message-ID: <20130115100745.GC2353@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <50F516C8 DOT 9050602 AT gmail DOT 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 AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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