
If you move your mouse continually the query may not fail. Do not stop moving - shawndumas
http://support.microsoft.com/kb/168702
======
zbowling
I had this bug once about 10ish years ago when I was still a windows dev.
Creating a 2nd window on a thread with a window already but then pumping it's
main loop on a background thread can cause this. If you do that the loops get
hooked to each other regardless of the thread pumping it. The child window has
to wait until the parent window forwards the event for the second thread to
pop it off. A mouse move will send a WM event and keep the child windows loop
on the other thread spinning. My WM_TIMER on the child window was stuck as
well.

It happened to me because I had a hidden window on the background thread to
get WM events for USB disconnect and reconnect messages from the system. The
bug report was funny. "Connecting USB data collection probe doesn't work
unless the user moves the mouse after connecting." and the follow up bug "Data
collection only works when moving the mouse."

~~~
asveikau
The rule of thumb as I always heard it is that a window is "owned" by the
thread that created it. You can send and post messages from a different
thread, but do much else and you're asking for trouble. (And Send instead of
Post is often problematic since it will block until the target thread
processes it.)

Draining the message queue from a thread that doesn't own it makes absolutely
no sense to me ... Does that actually work? Wouldn't you see the messages on
the original thread's pump too? I thought the way it worked is each thread
with ui objects has a queue, and SendMessage et al. will insert into the
owning thread's queue. It took me a while to parse what you are saying, did
you pass the hwnd into GetMessage from the other thread and that somehow
convinced it to peek at another thread's queue?

~~~
pea
COM hates MTA threading, most of the Office object model actually insists on
STA single-threads sitting in the main UI thread to even work (i.e. you cannot
use BackgroundWorker() )! Some guy @ MS even released this byzantine code to
deal with the situation
([http://blogs.msdn.com/b/andreww/archive/2008/11/19/implement...](http://blogs.msdn.com/b/andreww/archive/2008/11/19/implementing-
imessagefilter-in-an-office-add-in.aspx?Redirected=true)) which unfortunately
doesn't work. It's completely nuts how bad the object model is.

~~~
overgard
As much as I make fun of java developers for over complicated solutions, I've
never quite seen anything as over-engineered and byzantine as COM. I remember
at my last job we had legacy COM objects that inherited from about 5-7
different templated objects, and that was... normal. COM is the worst.

I actually like windows as a user, but I'm amazed that it won as much
developer mindshare as it did considering how much the win32 api sucks. It's
brutal.

~~~
frik
Similar to COM, are (beside OLE, DCOM, ActiveX) Gnome's "Bonobo" (component
model) [1], KDE's KParts, Mozilla's XPCOM and CORBA.

Apple choose KHTML over Gecko for it's Webkit fork [2] because of the various
cons of such component models.

[1] Bonobo is officially deprecated:
[http://en.wikipedia.org/wiki/Bonobo_(component_model)](http://en.wikipedia.org/wiki/Bonobo_\(component_model\))

[2] [http://en.wikipedia.org/wiki/XPCOM](http://en.wikipedia.org/wiki/XPCOM)

~~~
overgard
I remain convinced that C++ warps peoples minds into things like this :-).
I'll go out on a limb and say that pretty much ALL of those things are
horrible.

~~~
EdwardDiego
XPCOM is... yeah, it's pretty bad. Writing a Firefox plugin vs. writing a
Chrome plugin is darkness vs. light.

~~~
ehsanu1
Firefox has a new (well, it's at least a couple years old now) system that
makes writing plugins not quite so painful:

[https://developer.mozilla.org/en-
US/docs/Jetpack](https://developer.mozilla.org/en-US/docs/Jetpack)

------
frik
Excel codebase is very old, most is still in recent versions.

Excel 2010 still relies on WinAPI's Fibers [1] (lightweight threads). In
recent years the idea got popular again with Lua's co-routines and GO's
goroutines.

So it is manually scheduled by the application, instead of relying on the OS.

In 2014, there is a lot of code in Excel that dates back to Excel 3 (1990).
Excel 2010 still relied on the outdated MDI concept [2] that had been
introduced with Win 3 and only one Excel instance/main window can run.

One can embed the Excel OLE component in one app [3]. As soon as the component
get the focus it replaces the traditional menu bar with the custom drawn
"ribbon bar". It looks weird out of place (Win9x style OLE app with ribbon
bar). Office apps started with custom drawn UI objects with Office 97. It had
these fancy toolbars and a italic window title [4] instead of the boring Win95
look that WinAPI provided.

[1] [http://msdn.microsoft.com/en-
us/library/windows/desktop/ms68...](http://msdn.microsoft.com/en-
us/library/windows/desktop/ms682661\(v=vs.85\).aspx) ;
[http://msdn.microsoft.com/en-
us/library/windows/desktop/ms68...](http://msdn.microsoft.com/en-
us/library/windows/desktop/ms682402\(v=vs.85\).aspx)

[2]
[http://en.wikipedia.org/wiki/Multiple_document_interface](http://en.wikipedia.org/wiki/Multiple_document_interface)

[3] e.g. using the sample apps that come "Inside OLE 2nd" book.

[4]
[http://www.cheresources.com/economics.shtml](http://www.cheresources.com/economics.shtml)

~~~
aestra
A few years ago I had to look at two Excel spreadsheets fullscreen side by
side each open in their own window (two monitor setup) and this was...not
easy!!! I eventually found some hack online to open up multiple instances of
Excel at once. Still was bizarre that is a simple use.

~~~
corin_
Agreed that it's dumb behaviour, but it's not exactly a complicated hack -
just run excel again (from start menu, from win+R, etc.) and it creates a new
instance.

~~~
aestra
You think I didn't try that?

IIRC opening up Excel again from the start menu didn't create a new instance,
it just gave focus to the document/instance I had open. My jaw kinda dropped
cause it wasn't like I had an extremely uncommon use case. There was no File >
Open new window. I tried dragging the document to outside, like you can do in
Firefox with a tab, nope. Opening a new document simply opened it in the
current instance I had running. I needed to do a compare side by side of the
documents. Switching between them didn't cut it.

Btw this is a different problem with Excel and Office all together - I was
using Excel 2007 because the files I was using were created in 2007 and used a
customer (who had only 2007) and would mess up if you saved them in a later
version. The files had some complicated macros in them. Compatibility Mode (I
think that's what they called it) WAS NOT actually compatible!! 2010 was out,
and I had that installed as well, but 2007 had to be the one I used for this
task.

I was just doing some simple maintenance operations on them. I had nothing to
do with their evil creation.

There was some way to eventually get Excel 2007 to run two instances of
itself, but like I said, it was a hack that I found online after a bunch of
searching.

~~~
corin_
I may well be wrong about historical behaviour, but for at least a few years
now (i.e. within my memory) it's been the case - but you need to create a new
instance, not just a new document. I.e. if you open a specific file, or do
anything to start a new document from within excel, it will keep the same
instance.

It's still ridiculous behaviour, and drives me crazy because on a typical day
I'll have a minimum of 3 spreadsheets open (3 sheets I always need quick
access to) and often 10-20, and it can be a real pain in the ass remembering
which sheets are in which instance, leading to regularly needing to close a
sheet, start a new excel instance, then re-open the sheet in that, whenever I
want to look at it side by side to another sheet. And even more annoying, if
I'm opening a sheet that's an email attachment, I can't just open direct from
Outlook, I have to save it locally so I can make sure to open it in the
correct instance.

There's also this weird thing about how it thinks you want to shut down
spreadsheets. I always forget which way is which, but sometimes it thinks you
want to shut just the active sheet, sometimes it thinks every sheet you have
open (in that excel instance). Just checked here and it doesn't seem to be the
case on my home PC (Office Professional Plus 2010), but it definitely does on
my work laptop. I _think_ it's different behaviour between the X in the top
right, double clicking the top left logo, and using alt+F4, I just can't
remember which is which. But any logic would say that if you're showing
multiple windows on the task bar, telling one to close doesn't mean close the
others, and I think this is essentially tied to the same issue with trying to
view sheets side by side.

I've never had issues with Word as others mentioned, though - possibly due to
luck with versions I've used, or maybe I just don't have to compare two word
documents side by side as often as I do with spreadsheets.

------
ck2
Can you imagine how crazy you'd think the customer was if you were giving
technical support and they insisted they had to do this?

~~~
lawtguy
I don't think it's as crazy as telling them to pick their computer up and drop
it on the desk:
[http://en.wikipedia.org/wiki/Apple_III#Design_flaws](http://en.wikipedia.org/wiki/Apple_III#Design_flaws)

~~~
cases
Or baking your laser printer in the oven: [http://h30434.www3.hp.com/t5/Other-
Printing-Questions/Has-HP...](http://h30434.www3.hp.com/t5/Other-Printing-
Questions/Has-HP-solved-the-P2015-formatter-problem/td-p/124711)

~~~
TeMPOraL
Reflowing stuff in an baking oven seems to be an increasingly common method of
fixing electronics. Hell, my friend reflowed an RF dongle for TI Chronos watch
with a _heat gun_ the other day.

~~~
BlackDeath3
Xbox 360 towel trick, anybody?

------
elliottcarlson
Whenever I am waiting for something to happen, I tend to move my mouse pointer
around in circles on the screen - this always caught peoples attention and
I've been asked plenty of times over the years if there was a reason for it. I
always joked that it helped make things go faster by making the computer know
I was still there and waiting - I guess I wasn't lying.

~~~
topbanana
If I see a wall of text, I highlight it as I read through it. People think
that's really odd too!

~~~
dreen
I do that all the time, even for small amounts of text, but only when using a
mouse and not, say, a touchpad. I know other people who do it too.

~~~
cben
Same here. I've always told myself that it helps my eye keep the position in
the text. (Especially helpful I'm distracted and turn away from the screen.)
But if I really belived that, I'd be doing it consciously, whereas I becoming
aware that I'm doing it usually makes me stop...

P.S. I'm also slightly(?) OCDish in preferring selections that are integer
fractions of the paragrah length. E.g. in a paragraph of 6.3 lines I'll tend
to select 2.1 lines at a time (not _that_ precisely of course).

------
kyberias
This is a 11 year old knowledge base article for a bug in a product (Excel 97)
that saw the light in 1997, that is 17 years ago. Yes, the second workaround
is kind of hilarious, but let's not draw too many far-fetching conclusions
from it. I believe many of us have seen crazier bugs.

~~~
PythonicAlpha
>I believe many of us have seen crazier bugs.

Might be, but is it a good sign for computer industry as a whole?

~~~
TeMPOraL
It's a sign we're having trouble in handling the complexity of our computer
systems. Programming is mostly human-mind-bound now (and has been for many
years); we need better tools and better abstractions.

~~~
clarry
I think we need to remove that complexity and find a simpler approach to
things, not just "better" (more complex) tools to layer even more complexity
on top of complex.

~~~
PythonicAlpha
I also would recommend that approach! The problem is, that you need more
professional and better programmers that are aware of the problem and do
reduce the complexity. Many self indulgent programmers, that think they are
smart, won't.

But the trend is more to hire more and more novice programmers (because they
are cheaper) ... so we get more into trouble in the future!

------
tszming
>> This problem has been reported when querying an ORACLE 7.3 data source by
using the following ODBC drivers. Sqo32_73.dll is manufactured by Oracle
Corporation. Microsoft makes no warranty, implied or otherwise, regarding this
product's performance or reliability.

Maybe not the fault of Microsoft?

~~~
foobarian
I'm always fascinated by how tightly bound various software is with UI code in
Windows. It's the equivalent of random shell scripts having Xlib or Gnome
dependencies just to show a progress meter.

I guess if it's an event loop thing one could also alternate 'z' and 'x' as
fast as possible :-)

~~~
crazygringo
In your experience, is OSX or Linux graphical software any better? Genuinely
curious. I feel like interface freezes happen on all major platforms, and
always assumed it had more to do with the applications than with the
platforms. I mean, writing interfaces that never block is a lot more work. But
I don't have a lot of cross-platform experience to know if some platforms make
it easier than others.

~~~
throwawaykf03
Not in my experience. I use IntelliJ IDEA (and previously used Eclipse) on OS
X and Linux on a daily basis.

Anytime they start indexing or re-indexing a huge code base in a "background"
thread, they end up locking the machine to varying extents. Linux is not as
bad, as it only tends to lock up instances of the offending application... But
that maybe because the Linux PC is a beefy workstation. OS X is on a much less
powerful MacBook Pro, and freezes tend to lock up the _whole system_ , or at
least most of the other apps, especially Chrome.

I've also had problems with Chrome, and especially Flash, on OS X. Spinning
beachballs on every page load. Click-to-flash was such a lifesaver, but I can
now sorta see why Steve Jobs wanted Flash dead.

The spinning beachball has grown to be a frequent source of rage for me over
the last 5 years. I'm surprised nobody else complains about it more. Maybe it
only happens for heavy Java GUI-based apps?

~~~
frik
I noticed that too with IntelliJ IDEA on Windows 7 :(

IntelliJ IDEA should run such _background_ threads with _lower_ priority! All
common OS support that, and also Java supports this:
[http://stackoverflow.com/questions/1617963/setting-
priority-...](http://stackoverflow.com/questions/1617963/setting-priority-to-
javas-threads)

Can someone file a bug for it?

------
runjake
An aside of historical trivia: On an Amiga 1000, you used to be able to wiggle
the mouse "too fast" and cause the machine to crash with its infamous "GURU
MEDITATION ERROR"[1].

1\.
[http://simhq.com/forum/files/usergals/2013/02/full-4656-5091...](http://simhq.com/forum/files/usergals/2013/02/full-4656-50913-amiga_guru_meditation_error.jpg)

~~~
gmjosack
I wrote an ncurses frontend to the the ticketing system used at a job one
time. One of the users complained that if they resized their terminal window
rapidly, larger and smaller, that is would crash.

The fix was telling them to stop doing that. :)

~~~
userbinator
I guess both of these were related to nested interrupts somehow?

------
LinaLauneBaer
This reminds me a bit of how networking works on OS X and iOS (at least if you
are using the "standard APIs" the way they are supposed to be used: The
networking that is going on is tied to a runloop. Some apps tie the networking
stuff to the main run loop. You can see which apps do that by simply opening a
context menu in the app somewhere or open a regular menu from the app's main
menu. The run loops will be "halted" for as long the menu is open and thus
your networking will stop. As soon you dismiss the menu the networking will
continue.

At first this may seem totally bullshitty: Imagine a download manager. Do you
really want the download to pause every time you open a context menu? Well it
turns out it is not such a bad idea in many cases: What if the context menu
allows you to cancel the download? If the download were to go on in the
background you would have to explicitly take care of that. If you tie the
networking callbacks to your main runloop this simply can't happen.

Of course there are also a lot of use cases where you want your networking
code to not have anything to do with your main runloop...

~~~
zbowling
This isn't really correct. Runloops have modes. Often networking happens in a
mode that is not restricted (see NSRunLoopCommonModes here
[https://developer.apple.com/library/ios/documentation/cocoa/...](https://developer.apple.com/library/ios/documentation/cocoa/reference/foundation/Classes/NSRunLoop_Class/Reference/Reference.html)
).

If you are running your network code in default mode on the main thread
(problematic doing that and it's probably better to use async methods these
days) then yes that can happen but it's usually programmer error.

On Mac, entering a modal window will usually put the runloop in a context that
regular events won't fire and only those that mater to the modal window will
fire. Commons mode almost always fires though.

I work on Apportable (YC2011) and we have reimplemented CFRunLoop/NSRunLoop
down to the bare metal. A lot of misconceptions on how it works we find.

~~~
LinaLauneBaer
Thanks for the clarification.

I am aware of what you mention in your answer. In my statement I simplified
quite a bit. I know that runloops have different modes. What I was saying is
that if you just use the "defaults" then you will see the phenomenon that I
described.

And I don't think that it is a programmer error if you use the defaults... but
sure: These days you would probably just use a framework or take care of these
details...

May I know why you have reimplemented CFRunLoop?

~~~
zbowling
It almost always programmer error to use defaults mode for NSURLConnection,
especially on Mac where they are more runloop modes used by the platform that
are not inclusive of defaults mode, unless the user has a very specific
reason. File IO is usually ok in defaults mode because it makes code easier
and you don't have to worry about timeouts.

We make Objective-C run on Android at Apportable :-) The entire stack.
Everything from clang, GCD, CoreFoundation, Foundation, UIKit, and dozens of
comm frameworks. It's fairly popular with game developers.

We recently re-developed all of Foundation from scratch on top of the parts of
CFLite that Apple open sources and no longer use GNUStep.

[http://docs.apportable.com/release-
notes.html#1100](http://docs.apportable.com/release-notes.html#1100)

We have even open sourced all our tests around Foundation as well and this is
one of them. Check it out:

[https://github.com/apportable/FoundationTests](https://github.com/apportable/FoundationTests)

~~~
LinaLauneBaer
I still don't agree that it is programmer error per se... but we don't have to
agree on that. :)

Your idea is somewhat similar to "our" idea... at Objective-Cloud we try to
bring Objective-C to the cloud... :) You try to bring it to Android. What a
coincidence. Nice to meet you. :)

~~~
zbowling
We should talk off list. :-)

~~~
LinaLauneBaer
:) My email address is in my profile in case you did not already find it...

------
undoware
My pet theory about Microsoft is that worse-is-better provides an overwhelming
first-mover advantage, and an even more overwhelming second-mover advantage in
the longer term (provided the first mover followed the WiB strategy.) I call
this 'technical living-beyond-your-means' (rhymes with 'technical debt'). The
flame that burns twice as high burns half as long, yada yada.

Eventually, you will be kicking yourself for not having made it right the
first time.

The corollary is that eventually we will all be running Plan 9, so there are
probably other factors at play as well, which I will quietly brush under the
carpet, like air friction in a high school physics question. ;)

~~~
brianmcdonough
I have spent the past two years learning this lesson. It's so much more work
to maintain a project that was not put together correctly in the beginning.

------
dmbortz
Many moons ago I had a dual Pentium Pro and had installed Slackware with one
of the early linux kernels to include SMP. And, when clicking on a link in
mozilla (or it might have been netscape back then), the new website would only
be rendered after I jiggled the mouse. I just figured it was some race
condition with the SMP kernel that got broken when the PS2 interrupt fired. It
went away with some kernel upgrade, but I still jiggle the mouse every now and
then in the hopes a page will render faster...

------
heyIdidthat
It may look weird or stupid, but it makes sense to publish it because it
actually works.

I don't know what causes this kind of issue but I remember using this
workaround at times since windows 95. It somehow prevented freezes of either
application or windows from happening.

On the other hand, jiggling the mouse around can also trigger the adverse
effect of crashing some other apps under others conditions such as loading
screen during games.

------
dewiz
Internet Explorer (v2 or v3 I can't remember) suffered a similar bug,
basically pages would load or load faster if you "gave more cpu" to the
thread, by moving your mouse over the window. Noone ever believed me but now I
feel a bit less crazy for thinking that worked.

~~~
frik
I remember that too with IE 4 on Win95.

IE has still the same UI _mouse feeling_ of Spyglass Mosaic. IE 1 started with
its source code and even after the major improvements of IE 3 it still _feels_
very similar. (IE up to IE 6 mentioned "Spyglass source code" on the about
dialog.)

Even the print preview window of IE 11 looks like the same window in NCSA
Mosaic 2 (1995) (I just downloaded and run on it on Win7)

------
PythonicAlpha
Nothing new for Microsoft: There is a reason, they had to drop Office 95 and
completely re-implemented it. I guess, the day will come, that the current
implementation must be abandoned too.

The trouble with today's computing is: Just to much complexity around
(starting from the OS, and that is also valid for Linux, I must say!) and to
few really good programmers that make things better (and not worse). I see
also in the Linux world to much complexity and to few real professionals.

Real professionals don't try to handle complexity -- they try to minimize it!

~~~
jamon51
The issue with simplicity is that computing is a complex problem.

It's all well and good to say "Just keep it simple!" It's another to implement
that.

I built and maintain a fairly popular RubyMotion library. It's goal is pretty
simple: DSL out the ViewController hierarchy management and make it manageable
for the application developer.

Every bit of code I add to what is now a fairly mature and full featured
system pains me. But every bit of code addresses some edge case that we didn't
think of, but which is quite valid.

An OS (like Linux, Unix, Windows) has orders of magnitude more issues to deal
with than I do. In order to keep the system simple for users, they often have
to add complexity to their code.

Simple for users just isn't the same as simple under the hood.

~~~
PythonicAlpha
>Simple for users just isn't the same as simple under the hood.

Right, and exactly that is the reason, why we are in desperate need for really
professional computer scientists (or programmers, how you want to name it).
But the trend is the other way around. Everybody is searching for the quick
solution and the cheapest programmers, or hackers (I even see many job offers
that go in the direction hacker rather than professionals).

It takes a real professional to cope with the complexity and reduce it to the
minimal value. But in our current trend, we will thinks getting worse and
worse, because we have far to much coding and far to less professionals (and
even they can't afford to make a clean job oftentimes).

------
ialex
It still happens, i have seen here in Mexico in the Gov Agency that collects
taxes when they send something to print/export pdf's they keep moving the
mouse or their progress bar doesn't move at all. But they made this natural i
think it is part of the training they receive, maybe some devs there tough it
was the only way to get the rid of that bug, JUST KEEP MOVING THE MOUSE!.

Agency url:
[http://www.sat.gob.mx/sitio_internet/home.asp](http://www.sat.gob.mx/sitio_internet/home.asp)

~~~
umanwizard
Sounds like they do their long-running process in the event loop. It's an easy
mistake to make for someone writing a Windows app for the first time.

------
amasad
How random workarounds are reminds of a joke that made the rounds on the
internet more than a decade ago: "If Cars Were Built Like Computers" and the
best line is:

> Occasionally for no reason whatsoever, you car would lock the door and
> refuse to let you in until you simultaneously lifted the door handle, turned
> the key, and grabbed hold of the radio antenna.

------
harel
This made me laugh out loud in the old school sense of this phrase.

~~~
igravious
"in the old school sense of this phrase"

You mean it made you _actually_ laugh out loud?

~~~
harel
You bet. A loud laughing noise came out of my vocal cords. I felt like I'm in
IRC in the early 90s. Remember that feeling? Laughing, out loud? Feels great.
Kids today with their loling will never know....

------
nn3
I don't really understand why people make fun of this. Would you rather they
do not provide a workaround for the bug? And yes as every programmer should
know, workarounds can be sometimes odd (I did similar things in the past to
work around things).

And yes of course providing a bug fix is better, but providing a workaround is
always the first step. A workaround is plenty good enough for many people for
whom updating is more risk and hassle.

The whole thing reminds me a bit of the classic "known knowns" episode with
Rummy where he dared to bring some decision theory into an interview answer (
[http://en.wikipedia.org/wiki/There_are_known_knowns](http://en.wikipedia.org/wiki/There_are_known_knowns)
) The reaction to it really showed more about journalists than about the
statement.

------
stormbrew
I wonder if this is just feel-good nonsense for the user or if it's actually
because moving the mouse causes the message loop to pump and thus prevents
something or other from timing out...

------
gionn
I clearly remember old times with Windows 98/ME, where if you keep moving
mouse, long-running operations like directory coping would be faster, thanks
to CPU power savings not kicking-in.

~~~
frik
True, but back then there was no "CPU power saving" mode. The CPU was slow and
it always run at full speed (power was cheap back then).

In the Windows NT series (4, 2000, XP, etc.) the sheduler gives the forground
application an higher priority. It runs a longer CPU time than all other
applications. This was probably also similar with Win 3 and 9x series but
probably with many hacks and glue code on top of DOS.

Moving the mouse also prevented the screensaver, an application that would
"save" the screen by drawing fancy graphics to prevent static phosphore burns
on CRT monitor and slowed down the system

~~~
cnvogel
Not completely true, there _was_ some kind of power saving starting in those
days:

If I remember correctly, one of the first moves towards power-saving in the
stock-OS was Win 95/98/ME (one of those) to start using the HLT instruction
(stop processor up to next interrupt) in the main OS, was a busy loop until
then.

Notebook manufacturers (I worked with machines from Toshiba and Compaq in the
90s...) provided DOS TSRs and windows applications and drivers to control the
CPU speed and display brightness.

~~~
sheng
that's the reason why win9x in emulators like qemu and vbox will cause those
emulators to eat up the entire CPU.

------
danso
So back in the early-mid 90 days of terminals and 24.4K baud modems...I would
FTP into a university server to download game demos...and in many cases, in
order to get the progressbar moving beyond a slow crawl, I would have to move
the mouse around (this was on Windows 95 or something similar)...and the
faster I moved it, the faster the download seemed to go. Looking back, I think
of it as one of those times when I was just dumb and didn't know how computers
worked. But maybe it really was mouse powered...

------
Aaronneyer
When I was working in my college IT department, I had a computer come in once
that was refusing to load things. I started up firefox and nothing was really
moving, then I started moving the mouse around and all of a sudden it worked.
I took a look at some other things and noticed even the system clock didn't
move until I moved the mouse. Never did find out what the cause was, just
reimaged it and called it a day.

------
croisillon
Anybody remembers the same used to happen with youtube? Sometimes you had to
keep moving the pointer in order to load the video correctly...

------
joelhaasnoot
Coworker had this at a dayjob recently - it involved a full screen Windows
Remote Desktop run from a Citrix Remote Desktop, on a bad day run from another
remote desktop. If you didn't move the mouse enough: the connection did indeed
fail. The connection took 4-5 minutes anyway, so quite annoying.

------
elwell
Oh, so this actually works? How wrong I was all those times I scoffed at
people moving their mouse around while waiting for a program.

 _On a related note_ : isn't it interesting how this meme (mostly a placebo)
traveled to the majority of computer users in a pre-internet age?

~~~
joe_bleau
Back in the day, there was a windows based IDE/simulator for the PIC 8-bit
microcontrollers. The simulation ran much (2-5 times?) faster if you wiggled
the mouse. Someone wrote an app to send fake mouse events to the simulator
window.

~~~
elwell
Haha, that's awesome.

------
atmosx
I thought that was a joke... :-/ I don't if it's hilarious or just _sad_...

------
ballard
iOS has a similar (some may say the opposite) problem, especially when setting
up notification-based APIs and and app which expects a notification to happen
within a certain period of time (ie a user needs their location now to
complete an action, say a social post with location). Sleeping won't work, nor
will waiting on another thread work because there has to be activity on the
main thread for the main runloop to execute. What works is looping until
timeout by sleeping for a few ms and then running the main thread's run loop
explicitly. Gross but it works. Otherwise, the location notifications never
arrive. Such is the downside of cooperative multitasking.

------
buremba
nice way to say "it's not a bug, it's a feature".

------
yial
I actually had a similar problem installing a copy of windows 2000 years ago -
the only way to get the install to complete was to sit there moving the mouse.

------
Freestyler_3
How does this work? What makes mouse movement relevant to this... this is
computers, not magic.

~~~
resonator
It's probably running out of entropy. If windows is anything like Linux, it
will use certain random events like mouse movements, keystrokes, boot time
etc. to generate randomness.

~~~
finnw
Probably not in this case. Windows' RNG does not block when it runs low on
entropy. AFAIK only Linux does that. And the task is a database query so
probably does not use the RNG.

But yes, I have seen a similar case involving linux /dev/random - the user
reported that outgoing emails were sometimes delayed for hours and that moving
a mouse over a VNC window would sometimes speed it up. I did not believe that
at first, but it was exim4 running out of entropy when generating TLS session
keys. Worse, it was on a VPS with about 20 exim4 processes competing for the
entropy.

------
LeIrony
Bug ridden horde of elephants...

------
lampe3
Method4: just turn off the screensaver/standby?

~~~
delinka
Seems it's more about incorrect implementation of an event loop rather than a
change in active processes. I assume the purpose of the screensaver is to save
the screen, not to sleep other processes when it is activated. I further
assume that hardware interrupts and event creation are the things happening
while moving the mouse continuously. Based on these assumptions, I'm almost
certain the screensaver isn't the problem.

------
hrish2006
Wth?!

------
kamimeow
And if you do not have a mouse ? :D

~~~
Sanddancer
Just a wild guess given a post describing why the problem happens, but this
being windows 95, you use the alt key to bring up the window management drop
down, choose move, and just move around the modal window with the keys. You
cause the window refresh event to fire, and the conflicting threads continue
to fire properly.

------
stefan_kendall
When I was a kid, Windows ME would hang on startup unless I kept moving the
mouse.

My friend's dad, a Math/CS teacher, did not believe me until I showed him.

~~~
11thEarlOfMar
Microsoft and mice seem to have an odd relationship.

The first versions of Windows NT would crash if you moved the mouse while
shutting down. Like a child throwing a tantrum because it's bed time...

~~~
olgeni
Some version of OS/2 used to crash at boot if you randomly pressed a few
keys...

------
maerF0x0
lol! " it may take several minutes "

