iceparrot

Apex Search Responder Bug

15 posts in this topic

This bug happens with Apex 1.1.0 as the search responder: If you do a search for <username> you do not get search results from user <username> if the files contain <username> in them. For example, if somebody searches for "iceparrot" they do not get a result from me if I had a file named "iceparrot made this movie.avi" I am not sure if the bug disappears if the searching client is also Apex, as the other clients on the hub are not.

I'm fairly certain this bug existed in 1.0.1 as well.

Share this post


Link to post
Share on other sites

Try searching more than once, the search code in dc in general is buggy ;)

Share this post


Link to post
Share on other sites

Try searching more than once, the search code in dc in general is buggy :(

I've had multiple users test this bug against the client, and they have gotten 0 results from my client each time, but results from other users.

Share this post


Link to post
Share on other sites

Can you download ok? Search for other files?

Yes and yes. Also, other users are able to get files with my username from me, by getting my filelist or downloading a whole directory, just not able to actually search for them.

Share this post


Link to post
Share on other sites

Weird, I have not experienced this myself.

How about on other DC programs, can they find your files?

Share this post


Link to post
Share on other sites

I am not sure if this is relevant but if memory serves NMDC has a limit on how many search results are returned from one user, so this limit may kick in and result the "buggy search code" Satan refers to. It is not that the code is that buggy but that the protocol was designed in the ages past :(

To demonstrate what I mean here is another example, the original DC client (the one that created the original protocol, though it was later greatly enhanced by DC++) didn't hadle more than one search at a time and because of this to this day the fact that DC++ and its variants allow multiple searches and search windows sometimes the results sent and received end up in wrong windows etc.

Share this post


Link to post
Share on other sites

So far, the other clients have all been SDC. I was testing Apex to see if it would work for a hub and make sure they'd "play nice" I'll do some Apex 1.1.0 to Apex 1.1.0 testing later today or tomorrow.

The amount of files that I'm sharing that fit into this category is small (less than 10 total).

Edit: Confirmed the bug still exists between two Apex 1.1.0 clients

Share this post


Link to post
Share on other sites

Also, there is definitely a character limit. If you only search for 4 characters of a username the results come back fine. For example "icep" will return results with iceparrot in them, but "icepa" will not.

Share this post


Link to post
Share on other sites

I'm sitting right now with one hub running on localhost, YnHub, all hub search limits are turned off, one ApexDC++ 1.1.0 and one StrongDC++ 2.13, both configured for active mode for local IP (the only two users in hub, both clients are at this moment only in this one single hub, both are operators). ApexDC++ shares over 400 GB of files, the searches are made from StrongDC++.

The debug window is open in both clients to make sure that outgoing and incoming search requests are really sent, not a single miss is done, hub sends all requested information.

There are really many search results that are not returned. For example a file (AVI, 700 MB big) that contains 5 words in its name, when I write first word, I get a result, when I write first 2 words, I get a result, when I write first 3 or 4 or 5 words, I don't get any results anymore (even after few tries and a good break). When I search for "drivers" as directory file type, I don't get any results, but the second client shares a directory called "Drivers" with a bunch of files in it. It also shares a directory with many subdirectories of music and files in those, searches are made both as audio files and any files, when I search the name of one singer, I don't get any results, when I search the name of another singer, I get all possible results, when I search for the name of the song, the second part after "-" character, I get the results, when I search for another song name (second part), I get the results too, and for third, and for fourth, and for fifth. The most interesting part is that all searches has been made atleast few times, and every time it returns same results or no results at all, this proves me that nothing has been missed, the searches are really made.

This is completely I don't know how to say, it depends on something, number of keywords in search request, number of words in a shared file name, total length of search request, total length of a shared file name, the "-" character, the search file type etc. etc. etc.

One question have I got.. Does search engine uses regular expression for its functionality?

Share this post


Link to post
Share on other sites

Well, I confirm Rolex's described behavior. Also there are some problems with cyrillic names. E.g. we can search a compound title like "word1 word2" where word1 & word2 are cyrillic names. Then search return nothing. When we search "word1" or "word2" separately, we got proper response. I completely give up inunderstanding wtf because watched search code & found no troubles there... :(

Share this post


Link to post
Share on other sites

hmmm... interesting... Thanx, will patch my apex src & see what we get then...

Share this post


Link to post
Share on other sites

Confirmed in DC++, wait for next public release.

Share this post


Link to post
Share on other sites