Software >
http://gtorrentviewer.sourceforge.net/
GTorrentViewer is a GTK2-based viewer and editor for BitTorrent meta files. It is able to retrieve information from trackers, check files, show detailed information, and modify .torrent
files without having to start downloading.
The purpose of GTorrentViewer is to give the ability to see and modify all the possible information from .torrent files without having to start downloading and the ability to see in real time the current number of seeds and peers on the torrent, so you will always know the status before start the download.
-
2010-05-25 - (version not recorded) on Unity Linux 2010 64bit rc1, updated 2010-05-17
2010-05-25 - (version not recorded) ∞
Installation ∞
su smart install libcurl-devel ./configure make make install
Seems to install and run fine.
Thoughts ∞
Feature requests:
-
^o
to open a file.
I don't think this can actually do what I want. My goal is to remove some UDP references from a torrent so it'll work with BitTornado. But with gtorrentviewer I cannot edit the details of a torrent. I see "announce-list" has some UDP entries, but I can't edit them. Actually, I can't edit anything.
This application is supposed to let you edit things.. but maybe it's only for the files list?
"Tracker Details" segfaults [reproducible] ∞
When clicking "refresh" on "Tracker Details", it gives:
[1] 793 segmentation fault gtorrentviewer
strace gtorrentviewer
and reproducing the issue gives me:
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{"%\4\1\0", 4}, {NULL, 0}, {"", 0}], 3) = 4 read(3, 0xe209d4, 4096) = -1 EAGAIN (Resource temporarily unavailable) write(2, "\n(gtorrentviewer:3160): GLib-GOb"..., 163 (gtorrentviewer:3160): GLib-GObject-WARNING **: gvalue.c:185: cannot initialize GValue with type `gchararray', the value has already been initialized as `(null)' ) = 163 <nowiki>-</nowiki>-- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++ [1] 3159 segmentation fault strace gtorrentviewer
I tried multiple torrents and it does the same for all of them.
I think this is associated with the torrent and the tracker. On the main gtorrentviewer window, when I click the bottom-right 'refresh, I get the status "Bad data from tracker". So something could be legitimately wrong.
solution ∞
Niels Horn wrote in with a solution that worked for him.
What I found is that a GValue variable is used without initialization.
I wrote a simple patch that solved the segfault:
--- GTorrentViewer-0.2b/src/mainwindow.c 2004-10-26 01:37:58.000000000 -0300 +++ GTorrentViewer-0.2b_patched/src/mainwindow.c 2010-12-15 07:50:21.000000000 -0200 @@ -744,14 +744,18 @@ { GtkListStore *list; GtkTreeIter iter; - GValue itemvalue; + GValue *itemvalue; gchar *tracker; GError *err; + + g_type_init(); + itemvalue=g_new0(GValue, 1); + g_value_init(itemvalue, G_TYPE_STRING); list = GTK_LIST_STORE(gtk_combo_box_get_model(mwin->TrackerComboBox)); gtk_combo_box_get_active_iter(mwin->TrackerComboBox, &iter); - gtk_tree_model_get_value(GTK_TREE_MODEL(list), &iter, 0, &itemvalue); - tracker = g_strdup(g_value_get_string(&itemvalue)); + gtk_tree_model_get_value(GTK_TREE_MODEL(list), &iter, 0, itemvalue); + tracker = g_strdup(g_value_get_string(itemvalue)); if(g_thread_create(tracker_scrape, tracker, FALSE, &err) == NULL) {
Last updated 2016-12-20 at 13:09:32