Re: rebase segmentation fault
- Date: Sun, 16 Jul 2017 13:39:38 -0400
- From: Eliot Moss <moss@xxxxxxxxxxxx>
- Subject: Re: rebase segmentation fault
On 7/16/2017 1:16 PM, Denis Excoffier wrote:
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.
I would find notification of such overflow useful as well.
And once I have over-committed by installing too many packages,
I have found it rather difficult to figure out what to remove
that will actually help, given the general snarl of dependencies
of one thing on another ... Maybe there is room for another tool
that works over the database and helps determine what can be done.
Regards - Eliot Moss
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple