Jump to content
UBot Underground

Well They Have Definitely Been Working On The Browser Crash Issue....


Recommended Posts

I suppose if you hide the browser you could check if it has crashed between page navigations and or if element exists by creating custom defines for element exists or page navigation.

  • Like 1
Link to post
Share on other sites

I want to state at the outset, to anyone not familiar with this particular issue, that browser crashes in UBot Studio affect mostly fringe cases of high-stress bots. To date, in the 4 or 5 years that we've been hearing about them, we have yet to have a single browser crash bug reported in our bug tracker that we could actually reproduce locally. But it's true, browsers do crash.

 

To shed some light on what all this means, consider the following links:

 

https://code.google.com/p/chromium/issues/list?can=2&q=crash&colspec=ID+Pri+M+Stars+ReleaseBlock+Cr+Status+Owner+Summary+OS+Modified&x=m&y=releaseblock&cells=tiles

 

https://bugzilla.mozilla.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&field0-0-0=product&field0-0-1=component&field0-0-2=keywords&field0-0-3=alias&field0-0-4=short_desc&field0-0-5=status_whiteboard&field0-0-6=cf_crash_signature&query_format=advanced&type0-0-0=substring&type0-0-1=substring&type0-0-2=substring&type0-0-3=substring&type0-0-4=substring&type0-0-5=substring&type0-0-6=substring&value0-0-0=crash&value0-0-1=crash&value0-0-2=crash&value0-0-3=crash&value0-0-4=crash&value0-0-5=crash&value0-0-6=crash&order=bug_status%2Cpriority%2Cassigned_to%2Cbug_id&limit=0

 

Google chrome's bug tracker lists 6018 open bugs that contain the word "crash". Firefox's lists 7037. UBot Studio's browser is based in chrome.

 

There's nothing we can do to make chrome stop crashing (although the browser update we're working on will help). The real problem was that UBot Studio itself would crash along with it. Now, those crashes are caught and contained. Making good use of logging tools like the 'establish' command will allow you to easily test for browser crashes, and react accordingly if they occur.

 

Sending a bot out into the internet is a lot like sending a teenager out into the world. There's a lot of stumbling blocks, people who mean them harm, and messy situations. But if you give them a solid enough foundation, they'll know how to tackle all of it without flinching. That foundation makes the difference between the ones that fail and the ones that are wildly successful.

  • Like 1
Link to post
Share on other sites

Indeed,

 

Refactor your code into functions or commands and set all that you possibly can to local even if your not threading.

 

If you find your self copying and pasting like a set command more than once turn it into a function or command.

 

What happens in a function is that the memory slot is gone after use, meaning there is no build up of memory as in the case of making several set commands.

 

Stick all your "global" variables in a list or some kind of dictionary instead of a bunch of variables that are sucking up memory and building with each reference to them.

 

in a list called %globals

 

wfeTimeOut=20

pageLoadTimeOut=10

maxThreads=50

 

now use $find regular exp. func so as not to worry about list position to get the value.

 

here is a function I use, you can use it with large data plugin or an UBot list,

 

here is an example using Large Data Plugin http://www.ubotstudio.com/forum/index.php?/topic/17627-function-thread-safe-dictionary-using-regex/

 

here is UBot quick example

 

add list to list(%globals$list from text("wfeTimeOut=20
pageLoadTimeOut=10
maxThreads=50"$new line), "Delete""Global")
alert($get Global("pageLoadTimeOut"))
define $get Global(#NAME) {
    return($find regular expression(%globals"(?<={#NAME}=).*"))
}

 

So now you can get that global with out adding more memory.

 

You will also notice your UBot session last longer especially in U4.

 

Because you don't have all that memory tide up in variables your bots will last longer.

 

This is a brief example and i plan to do a full tutorial on this but just have not had the time.

 

GET INTO THE "FUNCTIONAL PROGRAMMING" STYLE

 

UBot will work better for you and you will reduce your code and you memory usage.

 

Once you know your function works make any list or set command local that you possibly can.

 

You will have a much better UBot Experience. :)

 

Get Functional.

 

CD

 

 

  • Like 3
Link to post
Share on other sites

I want to state at the outset, to anyone not familiar with this particular issue, that browser crashes in UBot Studio affect mostly fringe cases of high-stress bots. To date, in the 4 or 5 years that we've been hearing about them, we have yet to have a single browser crash bug reported in our bug tracker that we could actually reproduce locally. But it's true, browsers do crash.

 

I wish there was something I could say to this. But the problem is never re-creatable on my end either. Once you have enough customers or end users you start to get all kinds of emails from people with various problems. Some open the bot to a just a blank window with no UI or anything at all (having them manually install support files helps), one guy 2 days ago said it opened it to just a "ERROR" popup with noting else in it or anything at all. That was a new one for me. Some users say the program is just one giant crash screen where it won't run for more than 5 mins without coming up, some users run for days without issue.  Some say when the type in one box in the UI it erases the other text boxes and never lets the actually set all UI options. With 5.8.5 I got 30 emails the day I updated with various .Net loading errors and other random issues that wouldn't let the bot open at all. That ERROR guy, at least 10 WebClient errors to ubotstudio.com etc. Rolling back to uBot 4 resolved them.

 

I was highly disappointed that the Browser Crash page you chose had a giant uBot Studio logo on it. That was in bad taste, there is no reason any end user would need to know this other than free advertising. Also that the WebClient error told my customers to contact YOU at support.ubotstudio.com. Like you would actually do something for them. I kinda hope in a way that the support system has a few stupid support tickets from people that bought our various softwares from that. 

 

There are just to many different combinations to ever nail down what the problem is specifically. To many users with to many different machines and setups. Using http post and combinations of close page, set useragent for the majority of my work pretty much resolved specific browser crash errors for me. The ones that did report were on the fringe and usually it was because they were using lower end systems with less ram. No one wants to run a scraper bot on their main machine so my users try to pass it off to some old laptop/pc they have still around. I have to tell users I don't support Windows XP even now due to .Net 4.5. As best as I can tell nearly all errors other than .Net ones come from users with low end machines they are trying to pass off. Which I totally don't blame you guys for.

 

What I am waiting for now is a version where i can update, send out to everyone and hopefully not be flooded with angry emails the next day. People get really unhappy when they rely on something for their business and its works for months and then the next day wont open at all or crashes were the other one didn't. The updates like that I make no changes at all to the code. Just a difference between uBot 4 and 5. I will renew my update subscription to try out the Stealth version for sure. I just wish I could take advantage of uBot 5 finally. 

 

Stick all your "global" variables in a list or some kind of dictionary instead of a bunch of variables that are sucking up memory and building with each reference to them.

 

in a list called %globals

 

wfeTimeOut=20

pageLoadTimeOut=10

maxThreads=50

 

now use $find regular exp. func so as not to worry about list position to get the value.

 

 

 

Now this I have never heard of. I don't have to many globals maybe 20 or so but would it really speed things up to not have them at all but to use a list? It would take some time to change the system over but if it works better I am all for it. Mostly it is UI stuff like scrapeTarget, proxy, number of threads, what times etc. These are set in the HTML UI so what would be the best way to get them into a list? Because it just sets them as a variable by default.

 

I would be interested in your tutorial when you get it out, always looking for ways to make the code better and the customers happy. I think we could use more tutorials on better bot management. 

Link to post
Share on other sites

Umm...

 

Interesting thread....

 

Have been botting since v3

 

Was looking to see if I should use UB5 or UB4 to rebuild one of my flagship products.

 

Was hoping stealth was out so I can have a play.

 

Browser crashing as far as I'm concerned is solved in UB4 with plugins and good coding...

And have made some stable robust programs that I sell commercially.

 

Was hoping to see if UB5 has solved large data problems (fixed in UB4 with plugin).

 

And wanted to know the stability.... But am now thinking to stick with UB4!

 

Seems crazy!

 

UB5 is so much more responsive and quicker to code....

 

But can not waste my time or make users suffer with a product update that will not work for them.

 

If it is a one page bot, have managed to code in UB5 and transfer code to UB4 (note the comparison code is different and needs swapping out).

 

But would love to build in UB5 more... but my larger products (with thousands of users) I can not risk it!

 

I hope that big logo in the browser crash does not happen in DEV edition, that would be very bad for business!

 

Also I was SUPER HYPED when UB5 was first released and was quickly disappointed when could not use for my commercial products!

(think it did not help as it UB5 was marketed well with new features and new stability and then epic fail on release)

 

Anyway I have my fingers crossed, hope to use either UB5 or STEALTH sometime soon...

 

I am glad Seth and team are still working making ubot better, and have had update subscription since purchase
(and will continue to pay subscription forever even though I only use UB4!)

Anyway I best get back to botting, have customers to make happy!

  • Like 1
Link to post
Share on other sites

http://ubotstudio.com/blog/oh-no-the-browser-crashed/

 

That's the link displayed in browsers that crash in UB5!

 

Even in dev edition.... Naughty!
This URL needs to be editable for DEVs.

 

But will compile in UB4 anyway... But this issue needs addressing please Seth ;)

  • Like 2
Link to post
Share on other sites

To be honest, i am only using ubot5 for development because it open fast but when its ready i always compile all my bots to ubot4.

 

I do exactly the same thing. uBot 5 opens crazy fast and allows me to get work done much faster and better. When it comes time to finally compile I just save and reopen in uBot 4 to compile. It just seems ridiculous that this is how its worked out.

Link to post
Share on other sites
  • 4 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...