This is the mail archive of the
mailing list for the Cygwin project.
rebase segmentation fault
- From: Denis Excoffier <cygwin at Denis-Excoffier dot org>
- To: The Cygwin Mailing List <cygwin at cygwin dot com>
- Date: Sun, 16 Jul 2017 19:16:53 +0200
- Subject: rebase segmentation fault
- Authentication-results: sourceware.org; auth=none
I have a Cygwin installation under Windows 7 (32 bits).
After 'rebase-trigger full' and 'Setup', autorebase seems to finish okay, but the /etc/rebase.db.i386 remains absent after that.
Not a real problem after all (since rebase was functioning well until some recent date and all is already rebased), but some
third party builds (like e.g. perl) insist on the presence of the /etc/rebase.db.i386 database.
Indeed, rebase segfaults in rebase.c and nothing is rebased. This occurs (see rebase-4.4.2) immediately after "Skip trailing
entries as long as there is no hole." because at some point, all img_info_list[end].base are equal to 0, the while() is getting
always true, and the variable 'end' is decremented by 1 at every iteration, until it reaches -1 where the segfault occurs.
I must confess that my system contains all the available packages (except for debuginfo ones), and the rebase_all contains 9275 lines.
Later, i uninstalled a few packages (a few categories in fact), and my rebase_all contained 8337 lines, rebase worked well and
/etc/rebase.db.i386 was present.
Question: how is 'rebase' supposed to notify the user that the list of files is too large (i.e. that the overall amount of DLL sizes
is more than 0x070000000)? In source code, i found no specific message to indicate this.
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple