Bug 522783 - tranmission crash with segmentation fault
Summary: tranmission crash with segmentation fault
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: transmission
Version: rawhide
Hardware: x86_64
OS: Linux
low
high
Target Milestone: ---
Assignee: Rahul Sundaram
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-09-11 12:38 UTC by Michael Stoykov
Modified: 2013-03-13 05:45 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2009-09-12 10:17:13 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Michael Stoykov 2009-09-11 12:38:03 UTC
Description of problem:
Transmission crash with segmentation fault on startup

Version-Release number of selected component (if applicable):
1.74 

How reproducible:
just install it from the rawhide repo and then run it 

Steps to Reproduce:
1.configure rawhide repo
2.yum install transmission
3.transmission
  
Actual results:
segmentation fault

Expected results:
transmission to run smoothly as ever :)

Additional info:
it doesn't help if you build it rpm yout self but it works perferctly fine if you build it from source and then run it ( I dont run make install just ./gtk/transmission). It is important to say that I make rpm and build from source 1.75b2 but there isn't so much of a difference yet. 
From the stacktrace I think it is glib2 bug as after I got it's debuginfo the stack trace changed into what it is now.


StackTrace:
[mstoikov@ltm ~]$ gdb transmission 
GNU gdb (GDB) Fedora (6.8.50.20090818-8.fc12)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
(gdb) run
Starting program: /usr/bin/transmission 
[Thread debugging using libthread_db enabled]
[New Thread 0x7fffe6082710 (LWP 25500)]

Program received signal SIGSEGV, Segmentation fault.
append_escaped_text (length=<value optimized out>, text=<value optimized out>, str=<value optimized out>) at gmarkup.c:2040
2040          next = g_utf8_next_char (p);
Missing separate debuginfos, use: debuginfo-install pango-1.25.5-1.fc12.x86_64
(gdb)

Comment 1 Charles Kerr 2009-09-11 17:54:26 UTC
Michael: Thanks for the bug report!  We're hoping to have 1.75 out in the next few days, so maybe we can get this fixed in time.

I'm glad you've got gdb installed, that will make this much easier. :)

The next thing to do is to repeat the gdb session in your original description, and after it crashes, run this command in gdb: "thread apply all bt" and then paste gdb's output into a comment in this ticket.

Comment 2 Michael Stoykov 2009-09-11 19:07:14 UTC
this is 1.75b2 as I currently make  a big upgrade and can't downgrade 






$ gdb transmission
GNU gdb (GDB) Fedora (6.8.50.20090818-8.fc12)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
(gdb) run
Starting program: /usr/bin/transmission 
[Thread debugging using libthread_db enabled]
[New Thread 0x7fffe6082710 (LWP 18912)]
[New Thread 0x7fffe5681710 (LWP 18915)]

Program received signal SIGSEGV, Segmentation fault.
append_escaped_text (length=<value optimized out>, text=<value optimized out>, str=<value optimized out>) at gmarkup.c:2040
2040          next = g_utf8_next_char (p);
Missing separate debuginfos, use: debuginfo-install pango-1.25.5-1.fc12.x86_64
(gdb) thread apply all bt

Thread 3 (Thread 0x7fffe5681710 (LWP 18915)):
#0  0x00007ffff368c0a3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x0000000000453671 in dht_bootstrap (closure=0x7fffe0028680) at tr-dht.c:115
#2  0x00007ffff4f4596a in start_thread (arg=<value optimized out>) at pthread_create.c:297
#3  0x00007ffff36932ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fffe6082710 (LWP 18912)):
#0  0x00007ffff3689ec3 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=2000) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x0000000000473f4b in ReceiveData (socket=27, data=0x7fffe60815e0 "M-SEARCH * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nST: urn:schemas-upnp-org:device:InternetGatewayDevice:1\r\nMAN: \"ssdp:discover\"\r\nMX: 2\r\n\r\n", length=1536, 
    timeout=2000) at miniupnpc.c:641
#2  0x0000000000474d6c in upnpDiscover (delay=<value optimized out>, multicastif=<value optimized out>, minissdpdsock=0x49a51c "/var/run/minissdpd.sock", sameport=0) at miniupnpc.c:499
#3  0x000000000046d5ee in tr_upnpPulse (handle=0x7fffe0028cc0, port=51413, isEnabled=1, doPortCheck=0) at upnp.c:92
#4  0x00000000004697ea in natPulse (s=0x7fffe0008820, doPortCheck=255 '\377') at port-forwarding.c:82
#5  0x00000000004698dc in onTimer (fd=<value optimized out>, what=<value optimized out>, vshared=0x7d0) at port-forwarding.c:101
#6  0x000000000047e8b8 in event_process_active (base=<value optimized out>) at event.c:392
#7  event_base_loop (base=<value optimized out>) at event.c:544
#8  0x000000000045404d in libeventThreadFunc (veh=0x78dba0) at trevent.c:239
#9  0x00007ffff4f4596a in start_thread (arg=<value optimized out>) at pthread_create.c:297
#10 0x00007ffff36932ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()
Current language:  auto
The current source language is "auto; currently asm".

Thread 1 (Thread 0x7ffff7fb37c0 (LWP 18905)):
#0  append_escaped_text (length=<value optimized out>, text=<value optimized out>, str=<value optimized out>) at gmarkup.c:2040
#1  IA__g_markup_escape_text (length=<value optimized out>, text=<value optimized out>, str=<value optimized out>) at gmarkup.c:2117
#2  0x00007ffff75ee8ad in gtk_widget_set_property (object=0x8beab0, prop_id=<value optimized out>, value=<value optimized out>, pspec=0x6fd2a0) at gtkwidget.c:2513
#3  0x00007ffff4b00b6e in object_set_property (nqueue=<value optimized out>, value=<value optimized out>, pspec=<value optimized out>, object=<value optimized out>) at gobject.c:942
#4  IA__g_object_set_valist (nqueue=<value optimized out>, value=<value optimized out>, pspec=<value optimized out>, object=<value optimized out>) at gobject.c:1431
#5  0x00007ffff4b01134 in IA__g_object_set (_object=0x8beab0, first_property_name=0x7ffff7679311 "tooltip-text") at gobject.c:1537
#6  0x00000000004361f1 in syncAltSpeedButton (p=<value optimized out>) at tr-window.c:349
#7  prefsChanged (p=<value optimized out>) at tr-window.c:279
#8  0x00000000004379c7 in tr_window_new (ui_mgr=<value optimized out>, core=<value optimized out>) at tr-window.c:1068
#9  0x00000000004276a8 in main (argc=1, argv=0x7fffffffdd18) at main.c:457
Current language:  auto
The current source language is "auto; currently c".
(gdb)

Comment 3 Charles Kerr 2009-09-11 23:45:09 UTC
Thanks!

1. What locale are you using?

2. I suspect what's happening is that the tooltip string's length is exceeding the size of the static buffer I've allocated for it.  Could you test the patch at http://trac.transmissionbt.com/changeset/9099/ to see if it's better, worse, or no change?

Comment 4 Michael Stoykov 2009-09-12 10:17:13 UTC
My locale is bg_BG.UTF-8 and the patch worked :). 10x very much :)

Comment 5 Rahul Sundaram 2009-09-16 15:20:16 UTC
1.75 is in Rawhide now. Michael Stoykov, thank you very much for the bug report and thanks Charles for identifying and fixing the problem. Your help is appreciated.


Note You need to log in before you can comment on or make changes to this bug.