ScarletFire build

Tristis Oris's picture

Hi Nir, new build looks very good, and consumes far less memory, but but there are several major problems.
1. SS very often crashes. Especially when i turn it to tray.
2. dont save new file sharing. I take about 10 running and any time he scan it again.
2. Version of client is 0.0.0 and it offers to update on 2013.5.18.

Made a clean installation. run with admin rights and without.

***
Some debug logs from visual studio 2012.

Unhandled exception at 0x0042A383 in SoulseekQt.exe: 0xC0000005: Access violation when writing to the address 0x00090FB0.

The first phase of exception handling at 0x0042A383 in SoulseekQt.exe: 0xC0000005: Access violation when writing to the address 0x00090FB0.

Hi there Tristis, can you see if you can generate a crash log using the method covered in the FAQ?

Tristis Oris's picture

Of course, started to check before going to work)
Win8 x64

If program closed in tray - nothing any errors.
In windowed mode it works 5-10 min.

SoulseekQt.exe caused a Stack Overflow at location 0042a383 in module SoulseekQt.exe.

Registers:
eax=000930b8 ebx=000930b8 ecx=09476ef0 edx=0009305c esi=0124d158 edi=000931e4
eip=0042a383 esp=00092fb0 ebp=0009305c iopl=0 nv up ei pl nz na po nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00210206

Call stack:

Can you please try this build and let me know if it works any better for you, it's built against the very recently released Qt 5.1:

https://www.dropbox.com/s/7a921ed5e4dwhpu/SoulseekQt-5.1-Static.7z

Tristis Oris's picture

crushed in 5 minutes. =(

SoulseekQt.exe caused a Stack Overflow at location 00ed65ec in module SoulseekQt.exe.

Registers:
eax=00200000 ebx=0b5418f0 ecx=0b5418f0 edx=0f696310 esi=0b5418f0 edi=01435178
eip=00ed65ec esp=00092fd0 ebp=000930cc iopl=0 nv up ei pl nz na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00210202

Call stack:
00ED65EC SoulseekQt.exe:00ED65EC google::sparse_hashtable, google::libc_allocator_with_realloc >::Identity, google::sparse_hash_set, google::libc_allocator_with_realloc >::SetKey, std::equal_to, google::libc_allocator_with_realloc >::find_position sparsehashtable.h:842
struct pair google::sparse_hashtable, google::libc_allocator_with_realloc >::Identity, google::sparse_hash_set, google::libc_allocator_with_realloc >::SetKey, std::equal_to, google::libc_allocator_with_realloc >::find_position(
struct sparse_hashtable * this = ,
struct Item * key = )
000931B8
004289A8 SoulseekQt.exe:004289A8 ItemSet::erase stl_iterator.h:734
void ItemSet::erase(
struct ItemSet * this = ,
struct Item * i_item = )
004247F2 SoulseekQt.exe:004247F2 TypeItemsMap::iterator::items Data.cpp:2354
struct ItemSet * TypeItemsMap::iterator::items(
struct iterator * this =
)
00428EF3 SoulseekQt.exe:00428EF3 Data::MarkItemConnections Data.cpp:598
void Data::MarkItemConnections(
struct Data * this = ,
struct ItemBody * ip_item = ,
struct TypeItemsMap m_typeItemsMap = {
struct pair * mp_pair = ,
SparseTypeMap * mp_map =
}
}
)

Tristis Oris's picture

I deleted the old settings and its work good. Need again to share all the music, maybe it was the cause.

***
crushed while sharing. perhaps because of the large volume.

SoulseekQt.exe caused a Stack Overflow at location 00ed65ec in module SoulseekQt.exe.

Registers:
eax=00200000 ebx=0b6a3930 ecx=0b6a3930 edx=0dfc45e8 esi=0b6a3930 edi=01435178
eip=00ed65ec esp=00092fd0 ebp=000930cc iopl=0 nv up ei pl nz na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010202

Call stack:
00ED65EC SoulseekQt.exe:00ED65EC google::sparse_hashtable, google::libc_allocator_with_realloc >::Identity, google::sparse_hash_set, google::libc_allocator_with_realloc >::SetKey, std::equal_to, google::libc_allocator_with_realloc >::find_position sparsehashtable.h:842
struct pair google::sparse_hashtable, google::libc_allocator_with_realloc >::Identity, google::sparse_hash_set, google::libc_allocator_with_realloc >::SetKey, std::equal_to, google::libc_allocator_with_realloc >::find_position(
struct sparse_hashtable * this = ,
struct Item * key = )
000931B8
004289A8 SoulseekQt.exe:004289A8 ItemSet::erase stl_iterator.h:734
void ItemSet::erase(
struct ItemSet * this = ,
struct Item * i_item = )
004247F2 SoulseekQt.exe:004247F2 TypeItemsMap::iterator::items Data.cpp:2354
struct ItemSet * TypeItemsMap::iterator::items(
struct iterator * this =
)
00428EF3 SoulseekQt.exe:00428EF3 Data::MarkItemConnections Data.cpp:598
void Data::MarkItemConnections(
struct Data * this = ,
struct ItemBody * ip_item = ,
struct TypeItemsMap m_typeItemsMap = {
struct pair * mp_pair = ,
SparseTypeMap * mp_map =
}
}
)

Can you see if you can get one or two other crash reports? This one doesn't line up with what's in the code...

Also, how many files are you sharing?

Tristis Oris's picture

3Tb = 320k files. But in previous build it works) check work with less, and will increase.

do not quite understand. I repeated every situation case by 2-3 times, and each time the same reports.
code after the "Call stack:" debugger generates after some time.

may still be some information or settings will help to understand?

Sorry, I didn't notice you've pasted two separate crash reports. I have a working theory as to what's causing this, I'll post another test version here as soon as I have something.

Thanks, Nir

Tristis Oris's picture

Thanks. Now I continue to check this build. Files (about 1Tb) are added to share and everything works.

Try this one with your full share, I completely redid the way the client periodically clears its internal database, which is what I think is causing the crash in your case:

https://www.dropbox.com/s/t2q7uu0oobdoojn/SoulseekQt-5.1-Static-2.7z

Tristis Oris's picture

sir yes sir!
The client has been operating for almost an hour. Restarted several times - problems keeping share are not seen.
I continue to check work and I will write about the results.

thescarletfire's picture

Nir is the man :)

Tristis Oris's picture

First each time on start the client rescanned some files (about 3k), I do not understand why these files, but the launch of "resัan shares" fix everything.

and now back to praise)
Memory consumption has decreased clearly.
the amount and time of freezes was noticeably smaller.

Great thanks to you both. Willing to be a guinea pig at any time)

thescarletfire's picture

I just noticed that too - after all shares are scanned, on later startups on the same build, no share-changes occured, the diag tab still shows 1,000 files or so (the same ones each time) being rescanned. Happens now on every startup. Not a dealbreaker, but I never noticed that before.

Tristis Oris's picture

I learned the scan log, each time the same albums. 4-5 albums from different groups for each letter of the alphabet in order, including numbers and Cyrillic. I understand the logic of the program in it, but you know better)
Number of shared files i check in rooms, and am seen the difference in the 3k files before and after of rescan.

Bah, that's yet another bug, related to the new function of initially rescanning your shared folders in small chunks. This build should fix it:

https://www.dropbox.com/s/96sw3wl0adx5ni9/SoulseekQt-5.1-Static-3.7z

Thanks for bringing the issue to my attention!

thescarletfire's picture

This 5.1-Static 3 build fixes the lag/lockup related buggy-ness on startup here...thanks Nir! Works like a charm! Faster control of the client on startup and then some...Win8 x64

Update: It seems that it's still scanning "some" files again, on startup though...not sure why, but it's the same ones I'm finding. It doesn't slow down the client or mess w/ RAM it's just diag-mp3 scanning and then it's happy.

Great to hear about it working faster! Although I am disappointed to hear it's still re-scanning some files... maybe it'll eventually go away after one re-scan? I'll keep an eye out for further problems.

Thanks! Nir

thescarletfire's picture

Ah, you got me Nir. It indeed went away after one final rescan-glitch. All good now!

Check this out (full load Qt client w/ 200,000 files woohoo!):
http://i5.minus.com/jk9Rwwwl7BbHD.JPG

Finally, Captivate uses more RAM than SoulseekQt lol ;) You rock man!

Awesome =) Thanks Scarlet!

thescarletfire's picture

My pleasure. From my perspective here, my excess RAM usage (~400MB) was due to this superfluous scanning that was going on - now everything is back to normal and it's freaking awesome dude. Rock on!

I can't tell you how awesome these new builds are...

Tristis Oris's picture

glad to know that I was able to find another bug. thanks for the speed of their correction. continue further testing.

Thanks from me as well guys, and to Nir especially for the awesome memory handling. Although the Linux build can't be magically pulled out of the hat that soon (and I'm willing to wait it out, since word has it that good things take time), it is good to see that these fixes will also get incorporated into the Linux build and thus chances be little of getting my data file corrupted once more. Very nice.