Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#2823 closed Bug (fixed)

Crash in bsearch() while updating blocklist

Reported by: Tali Owned by: charles
Priority: Normal Milestone: 1.90
Component: libtransmission Version: 1.76
Severity: Normal Keywords: backport-1.8x
Cc:

Description

Self compiled Transmission (r10008) crashed (without any user action at this time)

Attachments (1)

Transmission-1.82+.crash (34.2 KB) - added by Tali 12 years ago.

Download all attachments as: .zip

Change History (9)

Changed 12 years ago by Tali

comment:1 Changed 12 years ago by charles

  • Component changed from Transmission to libtransmission
  • Milestone changed from None Set to Sometime
  • Owner set to charles
  • Status changed from new to assigned

Pretty sure the fix to this is to wrap the contents of session.c's tr_blocklistSetContent() in a tr_sessionLock() + tr_sessionUnlock() pair. IMO that's too dangerous for 1.83 without moving the code freeze.

comment:2 Changed 12 years ago by charles

  • Summary changed from Crash while downloading torrents to Crash in bsearch() while updating blocklist
  • Version changed from 1.82+ to 1.76

This was first reported by John Clay during the 1.7x series, though your crash report is the first item to really tie together the blocklist connection. Bumping the version number down to 1.7x

comment:3 Changed 12 years ago by charles

  • Keywords backport-1.8x added
  • Milestone changed from Sometime to 1.90
  • Resolution set to fixed
  • Status changed from assigned to closed

Fixed in trunk for 1.90 by r10045.

Adding a backport-1.8x tag to indicate possible inclusion if/when we do another 1.8x release, but this will need more testing by mac users first.

comment:4 Changed 12 years ago by charles

  • Resolution fixed deleted
  • Status changed from closed to reopened

Reopening due to http://forum.transmissionbt.com/viewtopic.php?p=44351#p44351 ... it looks like maybe this is causing deadlock?

comment:5 Changed 12 years ago by Ryoujin

Not sure if this log is related:

2/1/10 7:03:14 AM	[0x0-0xc00c].org.m0k.transmission[111]	[07:03:14.789] Starting libevent thread
2/1/10 7:03:15 AM	kernel	CoreServicesUIAg[112] Unable to clear quarantine `Growl': 93
2/1/10 7:03:15 AM	kernel	CoreServicesUIAg[112] Unable to clear quarantine `Headers': 93
2/1/10 7:03:15 AM	kernel	CoreServicesUIAg[112] Unable to clear quarantine `Resources': 93
2/1/10 7:03:15 AM	kernel	CoreServicesUIAg[112] Unable to clear quarantine `Current': 93
2/1/10 7:03:15 AM	kernel	CoreServicesUIAg[112] Unable to clear quarantine `Headers': 93
2/1/10 7:03:15 AM	kernel	CoreServicesUIAg[112] Unable to clear quarantine `Resources': 93
2/1/10 7:03:15 AM	kernel	CoreServicesUIAg[112] Unable to clear quarantine `Sparkle': 93
2/1/10 7:03:15 AM	kernel	CoreServicesUIAg[112] Unable to clear quarantine `fr_CA.lproj': 93
2/1/10 7:03:15 AM	kernel	CoreServicesUIAg[112] Unable to clear quarantine `Current': 93

To reproduce the error in my side, update the blocklist and, while downloading, hide Transmission. After it finishes downloading go back to T and the preference dialog should have locked up.

This doesn't crash my Transmission nor freezes the application itself, tho, just locks the preference dialog (until you quit and reopen Transmission).

comment:6 Changed 12 years ago by charles

  • Component changed from libtransmission to Mac Client

Reclassifying as Mac -- I need livings to test this.

comment:7 Changed 12 years ago by livings124

  • Resolution set to fixed
  • Status changed from reopened to closed

The Mac issue is separate. Closing this as fixed and opening #2871.

comment:8 Changed 12 years ago by livings124

  • Component changed from Mac Client to libtransmission
Note: See TracTickets for help on using tickets.