Opened 9 years ago

Closed 9 years ago

#4956 closed Bug (fixed)

Crash when creating a torrent on 10.7

Reported by: alimony Owned by: livings124
Priority: High Milestone: 2.61
Component: Mac Client Version: 2.60
Severity: Normal Keywords:
Cc:

Description

If I create a new torrent file, and when the dialog for generating that file shows, try to generate another torrent file at the same time, Transmission crashes. Two dialogs show for a short while, but the new one never shows any progress. I get a beach ball for a short time, and then the crash. Crash report is attached.

Attachments (1)

Transmission_2012-07-10-133405_Markus-Amalthea-Magnuson.crash (52.5 KB) - added by alimony 9 years ago.

Download all attachments as: .zip

Change History (10)

comment:1 Changed 9 years ago by livings124

Is this repeatable? I'm unable to recreate the crash.

comment:2 Changed 9 years ago by livings124

alimony: Any advice on how to generate this?

comment:3 Changed 9 years ago by alimony

Actually, it turned out not having to do with multiple windows, I get a crash whenever generating a new torrent file. After the window has been open for some time, Transmission crashes with the already attached stack trace.

I think it has to do with ticket #4921 in one way or another.

(I've tried moving both preferences and application support files, with the same crash occuring.)

comment:4 Changed 9 years ago by x190

You are not the only one getting this crash.

https://forum.transmissionbt.com/viewtopic.php?f=4&t=13583#p60970

Application Specific Information:
objc_msgSend() selector name: state
objc[57309]: garbage collection is OFF
Calling encodeRestorableStateWithCoder: on window of class 'NSWindow' with title 'Legal Torrent' (delegate is 0x1018f6ab0, fr is 0x108d81fc0)
- (void) window: (NSWindow *) window willEncodeRestorableState: (NSCoder *) state 
 	226	{ 
 	227	    [state encodeObject: fPath forKey: @"TRCreatorPath"]; 
 	228	    [state encodeObject: fLocation forKey: @"TRCreatorLocation"]; 
 	229	    [state encodeObject: fTrackers forKey: @"TRCreatorTrackers"]; 
 	230	    [state encodeInteger: [fOpenCheck state] forKey: @"TRCreatorOpenCheck"]; 
 	231	    [state encodeInteger: [fPrivateCheck state] forKey: @"TRCreatorPrivateCheck"]; 
 	232	    [state encodeObject: [fCommentView string] forKey: @"TRCreatorPrivateComment"]; 
 	233	} 
 	234	 

http://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSResponder_Class/Reference/Reference.html#//apple_ref/occ/instm/NSResponder/encodeRestorableStateWithCoder:

Do we need "RestorableState?" for this window? Something may be getting freed before it is encoded?

Last edited 9 years ago by x190 (previous) (diff)

comment:5 Changed 9 years ago by rsclns

I can reproduce this issue on 10.7.4 (Server edition, in my case).

I drag a piece of media (in my case, about 500 MB in size) onto Transmission's main window. The trackers are filled in for me and "private" is checked. I click "Create" and the issue appears to be with the progress bar's window.

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Application Specific Information:
objc_msgSend() selector name: state
objc[57309]: garbage collection is OFF
Calling encodeRestorableStateWithCoder: on window of class 'NSWindow' with title 'My Torrent' (delegate is 0x107078b60, fr is 0x020d73b0)

Appears to be crashing on the main thread:

20 org.m0k.transmission    0x0000000100001d46 0x100000000 + 7494
21 org.m0k.transmission    0x0000000100001a94 0x100000000 + 6804

comment:7 Changed 9 years ago by x190

  • Priority changed from Normal to High
  • Summary changed from Crash when generating more than one torrent at the same time to Crash when creating a torrent on 10.7

comment:8 Changed 9 years ago by rsclns

From what I can tell (and that post verifies it) its based on time more than actual file size. I assume every X seconds OSX asks for info about a window to restore it, and depending on when you opened the window the progress bar will be at a different increment. If the file is small enough then the poll is never sent to it, and therefore no crash.

Now I could be completely off-base with how this works, but I suspect this is due to auto-save, which is probably implemented in a way like this.

comment:9 Changed 9 years ago by livings124

  • Milestone changed from None Set to 2.61
  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.