From 18a18468e1033311f3de3badf9d6e14cb5f67677 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Thu, 28 Aug 2014 11:20:40 +0200 Subject: fix segfaulting when managing exceptions we were loading gtk+2 in order to set my_gtk_main_level to gtk_main_level which resulted in us strange segfaults when eg trying to save a package: $ gdb -q --args perl ./gurpmi ./coreutils-doc-8.23-1.mga5.noarch.rpm (gdb) s generic_exceptions_handler () at GClosure.xs:774 774 if ((*my_gtk_main_level)()) (gdb) print my_gtk_main_level $1 = (guint (*)()) 0x7fffe75eebf0 (gdb) print *my_gtk_main_level Cannot access memory at address 0x7fffe75eebf0 (gdb) s Program received signal SIGSEGV, Segmentation fault. 0x00007fffe75eebf0 in ?? () (gdb) print gtk_main_level $2 = {guint (void)} 0x7fffee90d650 --- NEWS | 2 ++ gurpmi | 2 +- gurpmi2 | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index caa24f09..38bd863c 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,8 @@ - bump split-length from 8 to 50 improves installing gnome in a chroot from 14m to 11m - update bash completion +- gurpmi: + o fix segfaulting when managing exceptions - fix some warnings with perl 5.20 Version 7.31 - 24 January 2014 diff --git a/gurpmi b/gurpmi index bc66e877..7c79f87e 100755 --- a/gurpmi +++ b/gurpmi @@ -17,7 +17,7 @@ use gurpmi; use urpm::util 'basename'; # For other distros w/o exception support: -eval { Glib->enable_exceptions2 }; +eval { Glib->enable_exceptions3 }; if (my $err = $@) { warn "Error: $err\n"; } diff --git a/gurpmi2 b/gurpmi2 index bb8e60f5..7f346a39 100755 --- a/gurpmi2 +++ b/gurpmi2 @@ -29,7 +29,7 @@ our $test = 0; our $use_provides = 1; # For other distros w/o exception support: -eval { Glib->enable_exceptions2 }; +eval { Glib->enable_exceptions3 }; if (my $err = $@) { warn "Error: $err\n"; } -- cgit v1.2.1