Opened 8 years ago

Closed 3 years ago

#7928 closed bug (fixed)

Transmission in native Daemon and Qt both cause dead locks

Reported by: SeanCollins Owned by: axeld
Priority: normal Milestone: R1
Component: System/Kernel Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

As stated. at version 42600 currently, problem did not exist at Alpha 3, I have not back checked further.

native daemon

GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-pc-haiku"...
[tcsetpgrp failed in terminal_inferior: Invalid Argument]
Reading symbols from /boot/system/runtime_loader...done.
Loaded symbols for /boot/system/runtime_loader
Reading symbols from /boot/common/lib/libevent-2.0.so.5.0.1...done.
Loaded symbols for /boot/common/lib/libevent-2.0.so.5.0.1
Reading symbols from /boot/common/lib/libcurl.so.4.2.0...done.
Loaded symbols for /boot/common/lib/libcurl.so.4.2.0
Reading symbols from /boot/common/lib/libssl.so.1.0.0...done.
Loaded symbols for /boot/common/lib/libssl.so.1.0.0
Reading symbols from /boot/common/lib/libcrypto.so.1.0.0...done.
Loaded symbols for /boot/common/lib/libcrypto.so.1.0.0
Reading symbols from /boot/system/lib/libnetwork.so...done.
Loaded symbols for /boot/system/lib/libnetwork.so
Reading symbols from /boot/system/lib/libz.so.1...done.
Loaded symbols for /boot/system/lib/libz.so.1
Reading symbols from /boot/system/lib/libroot.so...done.
Loaded symbols for /boot/system/lib/libroot.so
Reading symbols from /boot/system/lib/libbe.so...done.
Loaded symbols for /boot/system/lib/libbe.so
Reading symbols from /boot/system/lib/libstdc++.r4.so...done.
Loaded symbols for /boot/system/lib/libstdc++.r4.so
Reading symbols from /boot/system/lib/libroot-addon-icu.so...done.
Loaded symbols for /boot/system/lib/libroot-addon-icu.so
Reading symbols from /boot/system/lib/libicudata.so.44...
warning: Lowest section in /boot/system/lib/libicudata.so.44 is .hash at 00000094
done.
Loaded symbols for /boot/system/lib/libicudata.so.44
Reading symbols from /boot/system/lib/libicui18n.so.44...done.
Loaded symbols for /boot/system/lib/libicui18n.so.44
Reading symbols from /boot/system/lib/libicuio.so.44...done.
Loaded symbols for /boot/system/lib/libicuio.so.44
Reading symbols from /boot/system/lib/libicule.so.44...done.
Loaded symbols for /boot/system/lib/libicule.so.44
Reading symbols from /boot/system/lib/libiculx.so.44...done.
Loaded symbols for /boot/system/lib/libiculx.so.44
Reading symbols from /boot/system/lib/libicutu.so.44...done.
Loaded symbols for /boot/system/lib/libicutu.so.44
Reading symbols from /boot/system/lib/libicuuc.so.44...done.
Loaded symbols for /boot/system/lib/libicuuc.so.44
[tcsetpgrp failed in terminal_inferior: Invalid Argument]
[Switching to team /boot/common/bin/transmission-daemon (1960) thread pthread func (1961)]
evmap_make_space (map=0x18044244, slot=2147454951, msize=4) at evmap.c:206
206     evmap.c: No such file or directory.
        in evmap.c
(gdb) bt
#0  evmap_make_space (map=0x18044244, slot=2147454951, msize=4) at evmap.c:206
#1  0x0029250d in evmap_io_add (base=0x18044188, fd=2147454951, ev=0x182c04f0)
    at evmap.c:276
#2  0x002864e6 in event_add_internal (ev=0x182c04f0, tv=0x0, tv_is_absolute=0)
    at event.c:1995
#3  0x002848af in event_add (ev=0x182c04f0, tv=0x18044244) at event.c:1888
#4  0x00219425 in event_enable (io=0x182c1eb0, event=4) at peer-io.c:468
#5  0x00219540 in tr_peerIoSetEnabled (io=0x182949f0, dir=TR_CLIENT_TO_PEER, 
    isEnabled=1 '\001') at peer-io.c:510
#6  0x00231b6e in tr_bandwidthAllocate (b=0x18036e60, dir=TR_CLIENT_TO_PEER, 
    period_msec=405544624) at bandwidth.c:283
#7  0x0023c057 in bandwidthPulse (foo=-1, bar=1, vmgr=0x180541b8)
    at peer-mgr.c:3175
#8  0x00282ebd in event_process_active_single_queue (base=0x18044188, 
    activeq=0x18046358) at event.c:1287
#9  0x0028305c in event_process_active (base=0x18044188) at event.c:1354
#10 0x0028359b in event_base_loop (base=0x18044188, flags=0) at event.c:1551
#11 0x002830dd in event_base_dispatch (event_base=0x18044244) at event.c:1382
#12 0x00229345 in libeventThreadFunc (veh=0x1803a320) at trevent.c:245
#13 0x0021a46a in ThreadFunc (_t=0x1803e350) at platform.c:118
#14 0x00523a25 in pthread_thread_entry () from /boot/system/lib/libroot.so
#15 0x7003ffec in ?? ()
(gdb) 

QT version

GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-pc-haiku"...(no debugging symbols found)

[tcsetpgrp failed in terminal_inferior: Invalid Argument]
Reading symbols from /boot/system/runtime_loader...done.
Loaded symbols for /boot/system/runtime_loader
Reading symbols from /boot/common/lib/libevent-1.4.so.2.2.0...done.
Loaded symbols for /boot/common/lib/libevent-1.4.so.2.2.0
Reading symbols from /boot/common/lib/libcurl.so.4.2.0...done.
Loaded symbols for /boot/common/lib/libcurl.so.4.2.0
Reading symbols from /boot/common/lib/libssl.so.1.0.0...done.
Loaded symbols for /boot/common/lib/libssl.so.1.0.0
Reading symbols from /boot/common/lib/libcrypto.so.1.0.0...done.
Loaded symbols for /boot/common/lib/libcrypto.so.1.0.0
Reading symbols from /boot/system/lib/gcc4/libz.so.1...done.
Loaded symbols for /boot/system/lib/gcc4/libz.so.1
Reading symbols from /boot/common/lib/gcc4/libQtGui.so.4.7.3...done.
Loaded symbols for /boot/common/lib/gcc4/libQtGui.so.4.7.3
Reading symbols from /boot/system/lib/gcc4/libtracker.so...done.
Loaded symbols for /boot/system/lib/gcc4/libtracker.so
Reading symbols from /boot/common/lib/gcc4/libQtNetwork.so.4.7.3...done.
Loaded symbols for /boot/common/lib/gcc4/libQtNetwork.so.4.7.3
Reading symbols from /boot/system/lib/gcc4/libnetwork.so...done.
Loaded symbols for /boot/system/lib/gcc4/libnetwork.so
Reading symbols from /boot/common/lib/gcc4/libQtCore.so.4.7.3...done.
Loaded symbols for /boot/common/lib/gcc4/libQtCore.so.4.7.3
Reading symbols from /boot/system/lib/gcc4/libroot.so...done.
Loaded symbols for /boot/system/lib/gcc4/libroot.so
Reading symbols from /boot/system/lib/gcc4/libstdc++.so...done.
Loaded symbols for /boot/system/lib/gcc4/libstdc++.so
Reading symbols from /boot/system/lib/gcc4/libbe.so...done.
Loaded symbols for /boot/system/lib/gcc4/libbe.so
Reading symbols from /boot/system/lib/gcc4/libpng.so.1.4...done.
Loaded symbols for /boot/system/lib/gcc4/libpng.so.1.4
Reading symbols from /boot/system/lib/gcc4/libfreetype.so...done.
Loaded symbols for /boot/system/lib/gcc4/libfreetype.so
Reading symbols from /boot/system/lib/gcc4/libtranslation.so...done.
Loaded symbols for /boot/system/lib/gcc4/libtranslation.so
Reading symbols from /boot/system/lib/gcc4/liblocale.so...done.
Loaded symbols for /boot/system/lib/gcc4/liblocale.so
Reading symbols from /boot/system/lib/gcc4/libsupc++.so...done.
Loaded symbols for /boot/system/lib/gcc4/libsupc++.so
Reading symbols from /boot/system/lib/gcc4/libtextencoding.so...done.
Loaded symbols for /boot/system/lib/gcc4/libtextencoding.so
Reading symbols from /boot/system/lib/gcc4/libicudata.so.44...
warning: Lowest section in /boot/system/lib/gcc4/libicudata.so.44 is .hash at 00000094
done.
Loaded symbols for /boot/system/lib/gcc4/libicudata.so.44
Reading symbols from /boot/system/lib/gcc4/libicui18n.so.44...done.
Loaded symbols for /boot/system/lib/gcc4/libicui18n.so.44
Reading symbols from /boot/system/lib/gcc4/libicuio.so.44...done.
Loaded symbols for /boot/system/lib/gcc4/libicuio.so.44
Reading symbols from /boot/system/lib/gcc4/libicule.so.44...done.
Loaded symbols for /boot/system/lib/gcc4/libicule.so.44
Reading symbols from /boot/system/lib/gcc4/libiculx.so.44...done.
Loaded symbols for /boot/system/lib/gcc4/libiculx.so.44
Reading symbols from /boot/system/lib/gcc4/libicutu.so.44...done.
Loaded symbols for /boot/system/lib/gcc4/libicutu.so.44
Reading symbols from /boot/system/lib/gcc4/libicuuc.so.44...done.
Loaded symbols for /boot/system/lib/gcc4/libicuuc.so.44
Reading symbols from /boot/system/lib/gcc4/libroot-addon-icu.so...done.
Loaded symbols for /boot/system/lib/gcc4/libroot-addon-icu.so
Reading symbols from /boot/common/add-ons/Qt/plugins/imageformats/libqgif.so...done.
Loaded symbols for /boot/common/add-ons/Qt/plugins/imageformats/libqgif.so
Reading symbols from /boot/common/add-ons/Qt/plugins/imageformats/libqico.so...done.
Loaded symbols for /boot/common/add-ons/Qt/plugins/imageformats/libqico.so
Reading symbols from /boot/common/add-ons/Qt/plugins/imageformats/libqjpeg.so...done.
Loaded symbols for /boot/common/add-ons/Qt/plugins/imageformats/libqjpeg.so
Reading symbols from /boot/system/lib/gcc4/libjpeg.so.8.0...done.
Loaded symbols for /boot/system/lib/gcc4/libjpeg.so.8.0
Reading symbols from /boot/common/add-ons/Qt/plugins/imageformats/libqmng.so...done.
Loaded symbols for /boot/common/add-ons/Qt/plugins/imageformats/libqmng.so
Reading symbols from /boot/common/add-ons/Qt/plugins/imageformats/libqsvg.so...done.
Loaded symbols for /boot/common/add-ons/Qt/plugins/imageformats/libqsvg.so
Reading symbols from /boot/common/lib/gcc4/libQtSvg.so.4.7.3...done.
Loaded symbols for /boot/common/lib/gcc4/libQtSvg.so.4.7.3
Reading symbols from /boot/common/lib/gcc4/libQtXml.so.4.7.3...done.
Loaded symbols for /boot/common/lib/gcc4/libQtXml.so.4.7.3
Reading symbols from /boot/common/add-ons/Qt/plugins/imageformats/libqtiff.so...done.
Loaded symbols for /boot/common/add-ons/Qt/plugins/imageformats/libqtiff.so
Reading symbols from /boot/system/lib/gcc4/libtiff.so.3.8...done.
Loaded symbols for /boot/system/lib/gcc4/libtiff.so.3.8
[tcsetpgrp failed in terminal_inferior: Invalid Argument]
[Switching to team /boot/apps/TransmissionBt-Qt/TransmissionBt-Qt (15422) thread pthread func (15473)]
0x003643a2 in poll_add (arg=0x181b2f20, ev=0x185474ac) at poll.c:266
266     poll.c: No such file or directory.
        in poll.c
(gdb) bt
#0  0x003643a2 in poll_add (arg=0x181b2f20, ev=0x185474ac) at poll.c:266
#1  0x0035724a in event_add (ev=0x185474ac, tv=0x0) at event.c:751
#2  0x002f2a1b in tr_peerIoAddrStr ()
#3  0x002ed414 in tr_bandwidthAllocate ()
#4  0x002f8cc9 in tr_peerMgrStartTorrent ()
#5  0x00356a9d in event_process_active (base=0x181b6bb0) at event.c:395
#6  0x00356daf in event_base_loop (base=0x181b6bb0, flags=0) at event.c:547
#7  0x00356c60 in event_loop (flags=128) at event.c:471
#8  0x00356ae9 in event_dispatch () at event.c:409
#9  0x002e49a5 in tr_eventInit ()
#10 0x002d0c4d in tr_lockFree ()
#11 0x01547f1d in _ZL20pthread_thread_entryPvS_ ()
   from /boot/system/lib/gcc4/libroot.so
#12 0x780f6fec in ?? ()
(gdb) 

Attachments (2)

Change History (10)

comment:1 Changed 8 years ago by bonefish

Summary: Transmission in native Daemon and QT both cuase dead locks in Pthread functionsTransmission in native Daemon and Qt both cause dead locks

What exactly do you mean by "dead lock"?

Neither stack trace shows the threads being even in a syscall. Please go to KDL and get a thread listing for the team (threads <teamID>) and stack traces for all of the team's threads (sc <threadID> for each thread).

comment:2 Changed 8 years ago by SeanCollins

I will read through the man pages and get the requested info, it might take a few days. To reproduce grab at least version 42600 gcc2 hybrid and install transmission.Try downloding a torrent and the pthread func in the team monitor just hangs and does nothing but consumes massive cpu.The application becomes unresponsive,also cuase some serious slowdowns. I initially though the issue was with the QT port, so I installed transmission from optional packages and the result was the same. This problem was not present in Alpha3 as I noted above.

comment:3 Changed 8 years ago by SeanCollins

Ok, I can't get any better debug info then I have here. However I did find a version of transmission that does in fact work.

I am attaching it to the ticket incase it is of help. The biggest difference seems to be the lib versions in use. Seems the newer version have trouble with some change made in the last few months just around the time of A3 being released.

Wish I could offer more but this is all I can come up with.

Changed 8 years ago by SeanCollins

Changed 8 years ago by SeanCollins

comment:4 Changed 7 years ago by scottmc

can you recheck this with the latest nightly build?

comment:5 Changed 7 years ago by SeanCollins

Won't have time for a few weeks. busy with family stuff. There is a new client thats native to haiku, might want to ask him to contribute it to the project.

Also the same problem existed, and the developer somehow solved it.

http://haikuware.com/directory/view-details/internet-network/clients/torrentor

comment:6 in reply to:  4 Changed 6 years ago by SeanCollins

Replying to scottmc:

can you recheck this with the latest nightly build?

still broken

comment:7 Changed 3 years ago by SeanCollins

tested recently, was fixed sometime in the last year, unable to reproduce, please close

comment:8 Changed 3 years ago by diver

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.