Opened 9 years ago

Closed 9 years ago

#4949 closed Bug (worksforme)

No Torrent Listing in Web Interface using Opera 12 on Linux

Reported by: BlazePh Owned by:
Priority: Normal Milestone: None Set
Component: Web Client Version: 2.52
Severity: Normal Keywords: web interface linux opera needinfo
Cc:

Description

When navigating to Transmission's web interface using Opera 12 on Linux, no torrents are listed. The interface works fine on all other browsers, as well as the Windows version of Opera 12. This is exclusively a problem with the Linux version of Opera 12.

Change History (10)

comment:1 follow-ups: Changed 9 years ago by livings124

Are there any error reported in the app's logs or system log? Maybe this is a bug in Opera 12?

comment:2 in reply to: ↑ 1 Changed 9 years ago by BlazePh

Replying to livings124:

Are there any error reported in the app's logs or system log? Maybe this is a bug in Opera 12?

Nothing is mentioned in any of the app/system logs. Taking a look at Opera's web inspector (similar to Firefox's and Chrome's), jQuery appears to throw two errors while the page loads as well a bunch of CSS errors, and then after the page is loaded, there is a script that repeatedly times out every few seconds. The CSS errors and two jQuery errors also occur in the Windows version of Opera, so I don't think that is the issue. I think the main cause is the script that continually times out (I presume this is the UI updater script). This only happens on the Linux version of Opera. Unfortunately, it doesn't give specifics as to which script/line is the cause of the failure. The only thing it says is "Runtime error; script terminated."

comment:3 Changed 9 years ago by jordan

I'm not able to reproduce this error with Opera for Linux version 12.00 build 1467 and Transmission r13361.

I don't have any firsthand experience debugging Javascript on Opera, so unfortunately I don't have any advice for how to coax more crash information out of it. But to move forward on this ticket I need more information on where that "Runtime error; script terminated" message is being triggered...

comment:4 Changed 9 years ago by BlazePh

I managed to get a little more information from the debugger. In addition to "Runtime error; script terminated.", it also says "Timeout thread: delay 100 ms" and it lists the source of the error as "web/" (aka the main directory for the web interface). FYI, I'm running Opera build 1467 and Transmission r13365. I was previously running r13304. Updating to the latest build had no effect.

comment:5 Changed 9 years ago by jordan

  • Keywords needinfo added

Ideally you'd find a way to get Opera to tell you what .js file the crash occurred in, and at what line number. Since I'm not able to reproduce the error in my Opera 12 on Linux, I'm not sure how else to move this ticket forward.

comment:6 Changed 9 years ago by BlazePh

Ok, so apparently Opera isn't capable of giving me any more information that that, so I paused all scripts and went line-by-line until I found the one which causes the problem. I was able to narrow it down to line 379 in torrent.js, which eventually gets called as part of the UI updating process. I'm fairly certain that the error is being caused by one of the getCollatedName() calls on that line, but I'm not sure which one. Here's a brief stack trace:

  • this.updateTorrents() in transmission.js:772
  • ...
  • this.sortRows() in transmission.js:1315
  • Torrent.sortTorrents() in transmission.js:1241
  • torrents.sort() in torrents.js:501
  • return ta.getCollatedName().localeCompare(tb.getCollatedName()) || Torrent.compareById(ta, tb) in torrents.js:379

The "..." represents a few layers in the stack that I forgot to copy down, but hopefully having the top and bottom will be enough. A couple of the missing layers are jQuery functions.

comment:7 Changed 9 years ago by jordan

That sounds like some heroic debugging and I appreciate it, but unfortunately I don't see where t.getCollatedName() is going to crash..

After Googling around a little bit more, I found <http://dev.opera.com/articles/view/how-to-debug-javascript-problems-with-op/#jsconsoleexplained> which seems to show how to get a good backtrace out of Opera's javascript console... does that console give anything useful for the crash that you're seeing?

comment:8 Changed 9 years ago by BlazePh

I actually had already read that entire page already. It's rather strange because normally the console gives detailed information about JS problems, but in this case the only thing it tells me is what I already mentioned above: "Timeout error; script terminated. Reason: Timeout thread: delay 100 ms." I'm a bit pressed today, but when I return home from work tomorrow I'll give another go at the debug and see if I can take it any further.

comment:9 in reply to: ↑ 1 Changed 9 years ago by BlazePh

Sorry about the delay. I've been very busy as of late. However, this issue strangely appears to be fixed with the latest version of Opera (12.01) which came out a few days ago, so this bug can be closed.

comment:10 Changed 9 years ago by livings124

  • Resolution set to worksforme
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.