#acl PaulHowarth:read,write,admin,revert,delete All:read === Friday 25th June 2010 === ==== Fedora Project ==== * Finally got round to debugging a segfault in `gtorrentviewer` ([[RedHatBugzilla:542502|Bug #542502]] and [[RedHatBugzilla:572806|Bug #572806]]), which turned out to be straightforward as one of the bug reporters took the trouble to provide a reliable reproducer of the bug; in the end it was the simple matter of a `GValue` being declared as a local variable in a function and not initialized to zero before use, resulting in this stack trace: . {{{ [New Thread 23163] Core was generated by `gtorrentviewer /storage/data/torrents-new/xxxx'. Program terminated with signal 11, Segmentation fault. #0 0x000000340cc28f9c in type_check_is_value_type_U (value=0x7fffdbacac80, type=64) at gtype.c:3836 3836 gtype.c: No such file or directory. in gtype.c ... Thread 1 (Thread 23160): #0 0x000000340cc28f9c in type_check_is_value_type_U (value=0x7fffdbacac80, type=64) at gtype.c:3836 tflags = G_TYPE_FLAG_VALUE_ABSTRACT node = 0x2224010 #1 IA__g_type_check_value_holds (value=0x7fffdbacac80, type=64) at gtype.c:3878 No locals. #2 0x000000340cc31219 in IA__g_value_set_string (value=0x7fffdbacac80, v_string=0x22c4560 "http://tracker.openbittorrent.com/announce") at gvaluetypes.c:922 __val = 0x7fffdbacac80 __r = _g_boolean_var_ = new_val = 0x22c4560 "http://tracker.openbittorrent.com/announce" __PRETTY_FUNCTION__ = "IA__g_value_set_string" #3 0x0000000000407aa6 in on_RefreshTrackerButton_clicked ( mwin=, user_data=) at mainwindow.c:753 iter = {stamp = -1347712751, user_data = 0x22e5830, user_data2 = 0x0, user_data3 = 0x0} itemvalue = {g_type = 35799056, data = {{v_int = 214096389, v_uint = 214096389, v_long = 223552395781, v_ulong = 223552395781, v_int64 = 223552395781, v_uint64 = 223552395781, v_float = 3.00216485e-31, v_double = 1.1044955880089772e-312, v_pointer = 0x340cc2da05}, { v_int = 36582800, v_uint = 36582800, v_long = 36582800, v_ulong = 36582800, v_int64 = 36582800, v_uint64 = 36582800, v_float = 1.27988727e-37, v_double = 1.8074304708681154e-316, v_pointer = 0x22e3590 } }} err = 0x340cc1894c }}} . The fix was as simple as this: . {{{ --- GTorrentViewer-0.2b/src/mainwindow.c.orig 2004-10-26 05:37:58.000000000 +0100 +++ GTorrentViewer-0.2b/src/mainwindow.c 2010-06-25 14:43:22.391786427 +0100 @@ -744,7 +744,7 @@ { GtkListStore *list; GtkTreeIter iter; - GValue itemvalue; + GValue itemvalue = {0}; gchar *tracker; GError *err; }}} ==== Local Packages ==== * Updated `gtorrentviewer` as per the Fedora package, fixing a crash when the "Refresh" button on the "Tracker Details" tab was pushed * Rebuilt `libspf2` for `perl` 5.12.1 in Rawhide and added `-fno-strict-aliasing` compiler option * Updated `perl-Number-Compare` with patch from [[CPAN:58466|CPAN RT#58466]] to fix "`uninitialized value in comparison`" warnings (raised as [[RedHatBugzilla:607982|Bug #607982]] in Fedora) * Updated `perl-YAML-Tiny` to 1.42: * No functional changes * Clarified documation regarding treatment of "`bool`" keywords * `YAML::Perl` comparison tests were behaving incorrectly * Author tests updated and moved into `xt/` * Updated the versions of the other YAML parsers for testing * Completed the rebuild of Rawhide packages for `perl` 5.12.1: `bw-whois`, `grepmail`, `perl-Array-Compare`, `perl-Carp-Clan`, `perl-Class-C3-XS`, `perl-Class-Factory-Util`, `perl-Class-Inspector`, `perl-Class-MOP`, `perl-Class-Singleton`, `perl-ConfigReader-Simple`, `perl-Convert-BinHex`, `perl-Convert-TNEF`, `perl-Convert-UUlib`, `perl-DBD-SQLite`, `perl-DBI`, `perl-DBM-Deep`, `perl-DateTime-Calendar-Mayan`, `perl-DateTime-Format-Builder`, `perl-DateTime-Format-MySQL`, `perl-DateTime-Format-Strptime`, `perl-DateTime`, `perl-Declare-Constraints-Simple`, `perl-Devel-GlobalDestruction`, `perl-Devel-StackTrace`, `perl-Devel-Symdump`, `perl-Digest-BubbleBabble`, `perl-Email-Address`, `perl-Error`, `perl-Expect`, `perl-ExtUtils-CBuilder`, `perl-File-Find-Rule-Perl`, `perl-File-Find-Rule`, `perl-File-Remove`, `perl-FileHandle-Fmode`, `perl-HTML-Lint`, `perl-HTML-SimpleLinkExtor`, `perl-HTTP-SimpleLinkChecker`, `perl-HTTP-Size`, `perl-Hook-LexWrap`, `perl-IO-Multiplex`, `perl-IO-Socket-INET6`, `perl-IO-Socket-SSL`, `perl-IO-Tty`, `perl-IO-stringy`, `perl-IPC-Run`, `perl-Jcode`, `perl-LMAP-CID2SPF`, `perl-Locale-US`, `perl-MIME-tools`, `perl-Mail-IMAPClient`, `perl-Mail-SPF-Query`, `perl-Mail-SPF-Test`, `perl-Mail-SPF`, `perl-Mail-SRS`, `perl-Mail-Sender`, `perl-Mail-Sendmail`, `perl-MailTools`, `perl-Module-Pluggable`, `perl-Module-Refresh`, `perl-Moose`, `perl-Net-CIDR-Lite`, `perl-Net-CIDR`, `perl-Net-DNS-Resolver-Programmable`, `perl-Net-DNS`, `perl-Net-IP`, `perl-Net-LibIDN`, `perl-Net-SMTP-SSL`, `perl-Net-SSLeay`, `perl-Net-Server`, `perl-NetAddr-IP`, `perl-Package-Constants`, `perl-Package-Stash`, `perl-Params-Coerce`, `perl-Params-Validate`, `perl-Parse-CPAN-Meta`, `perl-Pod-Escapes`, `perl-Pod-Simple`, `perl-Readonly-XS`, `perl-Readonly`, `perl-Regexp-Common`, `perl-SUPER`, `perl-Scope-Guard`, `perl-Sendmail-PMilter`, `perl-Socket6`, `perl-TimeDate`, `perl-version`, and `weblint++` ----