Risky Business

Being between jobs as I currently am, I've had a lot more time than usual to push on a few of the most wanted SoulseekQt features and fixes from the last couple of years that I held off on due to their level of complexity and risk. Seeing as how risky some of these are, I'm posting the new builds here instead of to the download page in hopes that enough of you will try them out and report any problems that pop up, before silence reigns supreme and I feel confident enough to release them into the wild. First, the builds:

[Check the download page for updated links]

Here's what changed:

  • Folders above shared folders should no longer show in search results and on other users' download page. For example, users should see SharedFiles/SomeFolder instead of /Users/MyRealName/SharedFiles/SomeFolder when they receive your search results and download your files. This is the riskiest of the risky changes, as it's implemented by replacing real paths on your end with random codes, and can potentially result in files that won't upload. Worked well in testing though!
  • New setting (which is on by default) allows your client to upload small files (100k maximum, or whatever you set it to) without making the downloader wait in line. Great for transferring small text files containing information about the entire folder. The risk here is that I may have done something to screw up the upload queue code.
  • File transfer code has been majorly cleaned up to minimize multithreaded interaction with sockets and files. This appears to have made one of the most persistently reported crashes on OSX over the last couple of years go away, and there's nothing pointing to the problem being Mac specific, so it could resolve some crashes on Windows as well. Who knows. Hopefully I didn't create any new potential crashes.
  • Old-style table transfer views for those of you who want it. Columns can be re-ordered at will and the new order is memorized between sessions. Lots of changes to overall UI logic.
  • Major code style change to the underlying data management system. It didn't result in any actual improvements or new functionality, and also something might have gone wrong.

Those are the big changes. Small changes include:

  • Fixed a possible crash when removing download entries.
  • Fixed a possible crash related to the top button bar when switching or opening new views.
  • Splitter and column width settings in browsed share and upload views are now memorized.
  • Tree widgets no longer use custom-drawn lines.

Added since the original post:

  • 11/1: Added the oft requested option to set how frequently the client saves its data, under Options->General.

Cheers, Nir

Comments

ukover's picture

Hi! Many thanks for your work!
Old bug: After expanding program window, left click soulseek icon in tray - window will collapse.
Also, can you make a chat selection with shift key pressed:
http://i65.fastpic.ru/big/2014/1025/34/8abac8393346b0193f3f77593265f034.png
i got tons of this messages everyday.

Both should be addressed in the updated builds above. Thanks!

psynaturecybine's picture

no linux build...

Yeah, I'm on a new MacBook Pro and I don't have my Linux VMs and development environments set up yet. I'll post Linux builds here once I have them ready.

psynaturecybine's picture

any progress with linux?
on win all seems fine

Sorry for the lateness, new job and all. Updated Linux builds posted to the download page.

Thanks, Nir

New job? Good! :-D

b0nk's picture

speed no longer shows up

http://prntscr.com/4zjd3i

Nice catch, should be fixed in the updated builds linked to above.

Just about to update to the new one! Let's see what happens....

Why can't I download the Windows build? Downloading it on my Dropbox takes forever, its last kilobytes seem damaged...

Been using this build now since yesterday morning. Found no issues with it so far. Nice job. Thanks Nir.

Nice updates in this build. Anything that reduces possible crashes is a good thing.

I noticed the new Shared File Not Found tab in the Diagnostics window. It's interesting to see that people have files still queued that I had moved or changed folder names many months ago. Maybe the username could be added, so these people could be directed to the new folder/file location.

I noticed Shared File Not Found tab also, mostly because there was a file listed in the tab, I have not moved the file or changed its name or anything, I can locate the file and download it to myself, and see no issues with the file. The only thing I can see is (2013) is not in the file title, but hasn't been since January, or before, why showing up now? Any ideas would be appreciated.

Chiquitin's picture

Hi Nir, how you're doing?

Full paths still show in the latest build.

http://oi59.tinypic.com/2dhwu41.jpg

Cheers, Chiquitin

Hey Chiquitin, it's been a while! The new client hides your own paths, not other users'.

Chiquitin's picture

Ah sorry, my fault, it of course only works for users who already have the latest build.

Chiquitin's picture

Searching for a bug............. :-)

Yeah, when you show uploads and downloads in same tab, it always focuses uploads when returning from another tab, even if downloads had focus before. I always have to click in the download window before the "Clear Complete" button appears. Minor issue, though.

Keep up the good work!

MELERIX's picture

new translations strings needed :P

I've updated the builds in the article with the latest translations, also updated the language files in Dropbox.

MELERIX's picture

Thank you Nir :D

Thank you :)

Thanks, Nir! I appreciate your continued commitment to this project — Thanks for keeping Soulseek going. Love the new build (so far)!

Happy to hear :) thank you for the kind word!

Seems to stick and then blank if a very long uploads list is being cleared, rather than the pause I used to see. Using Windows 7

I think I know why it's happening, I've updated the builds above with a probable fix.

Thanks! Nir

Added the oft requested option to set how frequently the client saves its data, under Options->General.

Thanks for this addition. I don't know if it's a bug, but I noticed when I changed the time several times while still connected that it would no longer save any of the data. It would only resume saving after I changed the time again.

elctrk's picture

*Wishlist On/Off option, either as a whole or by individual item. *Being able to stay on the tab you currently are (message/chat/chatroom/transfer room/Users files) without being automatically re-directed to the wishlist page that just opened up. PS: Thank you for all the help and for making all the sharing possible!!!!!

testing mac version. all fine by now.

i just wanted to point out and old bug:

"Removing Download" option does not delete the file being downloaded from hard disk. i had to do it manually.

thanks!

Hello good day! It's my first time to visit here
but I'm so grateful and thankful because I've found
so much of interesting articles in your website.
I'll definitely recommend this site to my friends.
Thank you and Godbless...

buy datpiff views

Im having trouble signiing in with my new password
this is the 6th time that I done this reset on my password
waiting for assistance and support

Hi, I am no longer able to open Soulseek. When I open it, I get a message titled "Microsoft Visual C++ Runtime Library" that says: "This application has requested the Runtime to terminate it in an unusual way". I tried re-installing but not luck. Any thoughts?

MELERIX's picture

generally is caused when one of the settings files is damaged/corrupted.

Got it working again. Looks good. Thanks!!!

roomx's picture

Working fine on Mac here... Thanks

Thanks for the effort, working good on Mac!

Polonium 210's picture

I had several crashes on my iMac (powered by Yosemite 10.10.1). Here is the log of the last one:
Date/Time: 2014-11-26 11:45:40 +0100
OS Version: 10.10.1 (Build 14B25)
Architecture: x86_64
Report Version: 21

Command: SoulseekQt
Path: /Applications/SoulseekQt.app/Contents/MacOS/SoulseekQt
Version: ??? (???)
Parent: launchd [1]
PID: 240

Event: hang
Duration: 0.80s (process was unresponsive for 31 seconds before sampling)
Steps: 9 (100ms sampling interval)

Hardware model: iMac11,2
Active cpus: 4

Fan speed: 1000 rpm

--------------------------------------------------
Timeline format: stacks are sorted chronologically
Use -i and -heavy to re-report with count sorting
--------------------------------------------------

Heaviest stack for the main thread of the target process:
9 start + 52 (SoulseekQt + 14948) [0x101f81a64]
9 main + 3489 (SoulseekQt + 18449) [0x101f82811]
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2338535) [0x102b2aee7]
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2324909) [0x102b279ad]
9 ??? (<11698C69-9848-3320-B311-B5F9CF22C1FE> + 128484) [0x1057995e4]
9 -[NSApplication run] + 800 (AppKit + 98033) [0x7fff99c73ef1]
9 -[NSAutoreleasePool drain] + 153 (Foundation + 115023) [0x7fff98ca114f]
9 _CFAutoreleasePoolPop + 50 (CoreFoundation + 238194) [0x7fff9b6ad272]
9 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 575 (libobjc.A.dylib + 31007) [0x7fff9903b91f]
9 objc_object::sidetable_release(bool) + 236 (libobjc.A.dylib + 128652) [0x7fff9905368c]
9 -[NSBitmapGraphicsContext dealloc] + 94 (AppKit + 987770) [0x7fff99d4d27a]
9 -[NSWindowGraphicsContext dealloc] + 67 (AppKit + 987846) [0x7fff99d4d2c6]
9 -[NSCGSContext dealloc] + 25 (AppKit + 987878) [0x7fff99d4d2e6]
9 -[NSCGSContext _invalidate] + 79 (AppKit + 987995) [0x7fff99d4d35b]
9 CFRelease + 416 (CoreFoundation + 100768) [0x7fff9b68b9a0]
9 context_reclaim + 37 (CoreGraphics + 190344) [0x7fff8e39e788]
9 CFRelease + 416 (CoreFoundation + 100768) [0x7fff9b68b9a0]
9 CGContextDelegateFinalize + 55 (CoreGraphics + 190470) [0x7fff8e39e806]
9 ripc_Finalize + 234 (libRIP.A.dylib + 59909) [0x7fff951cca05]
9 RIPRemoveContextFromContextList + 40 (libRIP.A.dylib + 60488) [0x7fff951ccc48]
7 x_list_remove + 34 (CoreGraphics + 151204) [0x7fff8e394ea4] (running)

Process: SoulseekQt [240]
Path: /Applications/SoulseekQt.app/Contents/MacOS/SoulseekQt
Architecture: x86_64
Parent: launchd [1]
UID: 502
Task size: 121236 pages (-512)
CPU Time: 0.798s
Note: Unresponsive for 31 seconds before sampling
Note: 3 idle work queue threads omitted

Thread 0xd73 DispatchQueue 1 9 samples (1-9) priority 46 cpu time 0.798s

9 start + 52 (SoulseekQt + 14948) [0x101f81a64] 1-9
9 main + 3489 (SoulseekQt + 18449) [0x101f82811] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2338535) [0x102b2aee7] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2324909) [0x102b279ad] 1-9
9 ??? (<11698C69-9848-3320-B311-B5F9CF22C1FE> + 128484) [0x1057995e4] 1-9
9 -[NSApplication run] + 800 (AppKit + 98033) [0x7fff99c73ef1] 1-9
9 -[NSAutoreleasePool drain] + 153 (Foundation + 115023) [0x7fff98ca114f] 1-9
9 _CFAutoreleasePoolPop + 50 (CoreFoundation + 238194) [0x7fff9b6ad272] 1-9
9 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 575 (libobjc.A.dylib + 31007) [0x7fff9903b91f] 1-9
9 objc_object::sidetable_release(bool) + 236 (libobjc.A.dylib + 128652) [0x7fff9905368c] 1-9
9 -[NSBitmapGraphicsContext dealloc] + 94 (AppKit + 987770) [0x7fff99d4d27a] 1-9
9 -[NSWindowGraphicsContext dealloc] + 67 (AppKit + 987846) [0x7fff99d4d2c6] 1-9
9 -[NSCGSContext dealloc] + 25 (AppKit + 987878) [0x7fff99d4d2e6] 1-9
9 -[NSCGSContext _invalidate] + 79 (AppKit + 987995) [0x7fff99d4d35b] 1-9
9 CFRelease + 416 (CoreFoundation + 100768) [0x7fff9b68b9a0] 1-9
9 context_reclaim + 37 (CoreGraphics + 190344) [0x7fff8e39e788] 1-9
9 CFRelease + 416 (CoreFoundation + 100768) [0x7fff9b68b9a0] 1-9
9 CGContextDelegateFinalize + 55 (CoreGraphics + 190470) [0x7fff8e39e806] 1-9
9 ripc_Finalize + 234 (libRIP.A.dylib + 59909) [0x7fff951cca05] 1-9
9 RIPRemoveContextFromContextList + 40 (libRIP.A.dylib + 60488) [0x7fff951ccc48] 1-9
4 x_list_remove + 34 (CoreGraphics + 151204) [0x7fff8e394ea4] (running) 1-4
1 x_list_remove + 60 (CoreGraphics + 151230) [0x7fff8e394ebe] (running) 5
2 x_list_remove + 34 (CoreGraphics + 151204) [0x7fff8e394ea4] (running) 6-7
1 x_list_remove + 60 (CoreGraphics + 151230) [0x7fff8e394ebe] (running) 8
1 x_list_remove + 34 (CoreGraphics + 151204) [0x7fff8e394ea4] (running) 9

Thread 0xe3a DispatchQueue 2 9 samples (1-9) priority 46

9 _dispatch_mgr_thread + 52 (libdispatch.dylib + 19050) [0x7fff911eda6a] 1-9
9 kevent64 + 10 (libsystem_kernel.dylib + 94766) [0x7fff96d3022e] 1-9
*9 ??? (kernel + 6000416) [0xffffff80007b8f20] 1-9

Thread 0xf21 9 samples (1-9) priority 46

9 thread_start + 13 (libsystem_pthread.dylib + 5297) [0x7fff99b204b1] 1-9
9 _pthread_start + 176 (libsystem_pthread.dylib + 12921) [0x7fff99b22279] 1-9
9 _pthread_body + 131 (libsystem_pthread.dylib + 13052) [0x7fff99b222fc] 1-9
9 __select + 10 (libsystem_kernel.dylib + 91126) [0x7fff96d2f3f6] 1-9
*9 ??? (kernel + 6154000) [0xffffff80007de710] 1-9

Thread 0xf22 9 samples (1-9) priority 31

9 thread_start + 13 (libsystem_pthread.dylib + 5297) [0x7fff99b204b1] 1-9
9 _pthread_start + 176 (libsystem_pthread.dylib + 12921) [0x7fff99b22279] 1-9
9 _pthread_body + 131 (libsystem_pthread.dylib + 13052) [0x7fff99b222fc] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 209906) [0x1029233f2] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 192638) [0x10291f07e] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2324909) [0x102b279ad] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2686363) [0x102b7fd9b] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2682104) [0x102b7ecf8] 1-9
9 __select + 10 (libsystem_kernel.dylib + 91126) [0x7fff96d2f3f6] 1-9
*9 ??? (kernel + 6154000) [0xffffff80007de710] 1-9

Thread 0xf61 9 samples (1-9) priority 31

9 thread_start + 13 (libsystem_pthread.dylib + 5297) [0x7fff99b204b1] 1-9
9 _pthread_start + 176 (libsystem_pthread.dylib + 12921) [0x7fff99b22279] 1-9
9 _pthread_body + 131 (libsystem_pthread.dylib + 13052) [0x7fff99b222fc] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 209906) [0x1029233f2] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 192638) [0x10291f07e] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2324909) [0x102b279ad] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2686363) [0x102b7fd9b] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2682104) [0x102b7ecf8] 1-9
9 __select + 10 (libsystem_kernel.dylib + 91126) [0x7fff96d2f3f6] 1-9
*9 ??? (kernel + 6154000) [0xffffff80007de710] 1-9

Thread 0xf62 9 samples (1-9) priority 31

9 thread_start + 13 (libsystem_pthread.dylib + 5297) [0x7fff99b204b1] 1-9
9 _pthread_start + 176 (libsystem_pthread.dylib + 12921) [0x7fff99b22279] 1-9
9 _pthread_body + 131 (libsystem_pthread.dylib + 13052) [0x7fff99b222fc] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 209906) [0x1029233f2] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 192638) [0x10291f07e] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2324909) [0x102b279ad] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2686363) [0x102b7fd9b] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2682104) [0x102b7ecf8] 1-9
9 __select + 10 (libsystem_kernel.dylib + 91126) [0x7fff96d2f3f6] 1-9
*9 ??? (kernel + 6154000) [0xffffff80007de710] 1-9

Thread 0x1130 9 samples (1-9) priority 46

9 thread_start + 13 (libsystem_pthread.dylib + 5297) [0x7fff99b204b1] 1-9
9 _pthread_start + 176 (libsystem_pthread.dylib + 12921) [0x7fff99b22279] 1-9
9 _pthread_body + 131 (libsystem_pthread.dylib + 13052) [0x7fff99b222fc] 1-9
9 _NSEventThread + 137 (AppKit + 1603495) [0x7fff99de37a7] 1-9
9 CFRunLoopRunSpecific + 296 (CoreFoundation + 464952) [0x7fff9b6e4838] 1-9
9 __CFRunLoopRun + 1371 (CoreFoundation + 466907) [0x7fff9b6e4fdb] 1-9
9 __CFRunLoopServiceMachPort + 212 (CoreFoundation + 469780) [0x7fff9b6e5b14] 1-9
9 mach_msg_trap + 10 (libsystem_kernel.dylib + 70958) [0x7fff96d2a52e] 1-9
*9 ipc_mqueue_receive_continue + 0 (kernel + 1209328) [0xffffff80003273f0] 1-9

Thread 0x118f 9 samples (1-9) priority 31

9 thread_start + 13 (libsystem_pthread.dylib + 5297) [0x7fff99b204b1] 1-9
9 _pthread_start + 176 (libsystem_pthread.dylib + 12921) [0x7fff99b22279] 1-9
9 _pthread_body + 131 (libsystem_pthread.dylib + 13052) [0x7fff99b222fc] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 209906) [0x1029233f2] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 192638) [0x10291f07e] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2324909) [0x102b279ad] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2686363) [0x102b7fd9b] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 2682104) [0x102b7ecf8] 1-9
9 __select + 10 (libsystem_kernel.dylib + 91126) [0x7fff96d2f3f6] 1-9
*9 ??? (kernel + 6154000) [0xffffff80007de710] 1-9

Thread 0x27cac 9 samples (1-9) priority 31

9 thread_start + 13 (libsystem_pthread.dylib + 5297) [0x7fff99b204b1] 1-9
9 _pthread_start + 176 (libsystem_pthread.dylib + 12921) [0x7fff99b22279] 1-9
9 _pthread_body + 131 (libsystem_pthread.dylib + 13052) [0x7fff99b222fc] 1-9
9 ??? (<94810710-91FA-308D-B210-3166F83FCA81> + 209906) [0x1029233f2] 1-9
9 ??? (<85B57365-7E11-3D55-A891-2810FB8D36EE> + 17868) [0x108c845cc] 1-9
9 -[CWInterface scanForNetworksWithName:error:] + 109 (CoreWLAN + 132364) [0x7fff940d950c] 1-9
9 -[CWInterface(Private) scanForNetworksWithChannels:ssidList:legacyScanSSID:includeHiddenNetworks:mergedScanResults:maxAge:maxMissCount:maxWakeCount:maxAutoJoinCount:waitForWiFi:waitForBluetooth:priority:error:] + 638 (CoreWLAN + 154757) [0x7fff940dec85] 1-9
9 semaphore_wait_trap + 10 (libsystem_kernel.dylib + 71018) [0x7fff96d2a56a] 1-9
*9 semaphore_wait_continue + 0 (kernel + 1415472) [0xffffff8000359930] 1-9

Thanks for your great job !

psynaturecybine's picture

bug found:
"excluded download extensions" doesn't work. this regards to 2014.11.30 build as well

Will look into it over the weekend. Thanks!

Rowan Berkeley's picture

Well, I dunno Nir, - it works (even in Ubuntu), but what was wrong with the old display - funky, organic, rootsy, etcetera, whydja change it?

Not sure what you're referring to... what display?

Thanks for maintaining Soulseek! I'm creating package for my users (and lusers), for professional (my job) and home use (my friends). With soulseek I can give them a better alternative to spotify.
Soulseek -> check artist -> album good -> buy album -> done!
Spotify -> check artist -> listen -> artist gets paid nothing!

Thanks a lot!

Thanks a lot

Hi Nir, I can no longer download music. As soon as I issue a request the system goes offline. I continue to reset the modem, the bird turns blue and then I issue the search again and the bird goes offline and my downloads stop. This is only a few days old as a problem, cause you probably can tell I had success recently. Even tonight it goes off/on intermittently so I cannot rely on downloading. Please advise. I have over 370 days of support left and I'm worried that my downloads can no longer continue. Thanks Giuseppe

it is still behaving as usual. Called my ISP, they said everything was OK. Called Mcafee and they said my computer was fine. Please advise. I know you multitask at many jobs so please when you get time, please provide me with instructions to remedy this situation. Thanks Giuseppe.

Network keeps dropping upon request. Do you have an update as to why only on Soulseek, the network intermittently drops. I can't get the application to run steady. Thanks.

whb456's picture

Hello Nir, which backup and restore tool for SoulseekQT do you stand by, there are 2 different tools available, below are the links.

http://noyou.net/ss/SoulSeek-Backup.zip

http://www32.zippyshare.com/v/8318605/file.html

I really can't say since I haven't used either one. Perhaps someone else can weigh in?

Pages