Friday, January 25, 2013

The Nerdery


Cool place to work and to keep and eye on. The Overnight Website Challenge is a good way to give back to the community.

The following is an out take from their web site.

"Sure we have a dog-friendly workplace, a perpetual chess tournament and a 250-seat Rock Band venue, but the most critical ingredient in keeping an army of technical geniuses happy (other than caffeine) is compelling problems to solve. Luckily, our unique business model ensures that we never run short on interesting problems to sink our teeth into.

Our partners do strategy and content. We do data and code. Sticklers on details, you can count on nerds when it comes to numbers – we have the data to prove it."

Thursday, January 24, 2013

PC & Adobe Crashes & How To Deal With Them - Part Three



The Blue Screen of Death or worse BSOD and no error/dump file! What's a person to do?

After you've tested your disk, your memory, ran all sorts of virus and malware search and destroy tools and every test comes up clean.... and you still have system crashes! Well you might just have a driver problem. But what driver? There may be a hundred or more.

Finding tools to do all the appropriate tests online may take the better part of an afternoon if you don't already have them handy, and then running the test may take days depending on how thorough they are. I've learned my lesson. Before I go through all that I will follow the simply outline below to see if system crashes are caused by a missing, corrupt, outdated, or wrong driver.

First, thanks to NetWork World for publishing the this article. Read the article for details.

In my case I found that a Nvidia driver had somehow gone bad. By following the procedure outlined in the article I was able to locate the culprit and stop the crashes in minutes, after having spent days doing needless system testing.

You will need to download WinDbg at the Microsoft site here. After installing the tools run WinDbg. The WinDbg GUI is not pretty, and as any debugger there are a lot of complex commands, but by following the simple instructions written by Dirk Smith in the article I found my answer, that is, which driver was causing the crash. I went to the Nvidia site for the download, reinstalled the driver and my problems were over.

One catch for me was that my crashes were not producing dump files even though it was set up to do so under My Computer > properties > advanced  > startup and recovery > system failure. Insure that you have your PC set up to provide a crash dump file. Without a dump file of the crash you cannot use the debugger. During my prior analysis of memory usage I noted that I had virtual memory page files on all drives except the C: drive. I did that because I didn't want VM competing with other activities on C:. The dump file was supposed to go to C:/windows. Just as a shot in the dark I created a pagefile on C: too, and wha-la, during the next crash a dump file was created. Coincidence? I'm guessing yes, but on the other hand not having a pagefile on C: may be taken by Windows as your not wanting to use space on C: for system related files like pagefiles and dumps which at times can be large.

System crashes can be deeply mysterious, but by following this outline you can detect what driver may be causing the problem or at least potentially eliminate drivers as the culprit. The debugger can do a lot more of course and might even detect other sources of a crash. But that's too deep of a dive for this post.

If drivers are not your issue, then spending time look for malware may be warranted, and that's a topic too large for this post.

Checking your disk and memory is fairly easy though it may takes many hours depending how large they are. Here are some decent tools in that regard as well as general health check sources.

Look over parts One and Two of this series for other troubleshooting tips.

Micosoft help with drivers
Microsoft debugging tool
Microsoft virus tools
Microsoft help with deceptive software 
How to read memory dumps
Generic disk checking software by Seagate
How to check your disk 
Memory testing tool (there is a free version too)

Wednesday, January 23, 2013

PC & Adobe Crashes & How To Deal With Them - Part Two

Adobe products crashing at startup and during use is somewhat common across versions (CS3, CS4, etc) and across products. A quick web search will show numerous causes and solutions, and trying each might take some time until you hit on the right solution.

This post outlines some tools and concepts which can help speed your way to a solution by confirming if a potential solution may help in your particular case. Trying things randomly in desperation could in fact make things worse. So it is good to have some confirming information that a potential system or application change may be right for you.

See part Three and part One of this series for other troubleshooting tips.


The Windows Event Viewer (EV) is an important place to look for error message from your application and from the system in general. EV is found (on an XP machine) by going to the Start menu > All Programs > Administrative Tools > Event Viewer. As seen in the EV's main window above an error occurred on 1/23/2014 at 4:56 PM. Doubling clicking that row will take you to the message for that event. This event occurred during a start up crash of Adobe Media Encoder.

I typically take note of keywords used in the message then do a web search to see what can be found such as: amewrapper, event 1000, media encoder. This information might be helpful to Adobe should you need to open a trouble ticket. However there is a better source of information.

I was actually trying to fix Premiere Pro (PP) from crashing, but wanted to see if related applications would also crash. There were no events recorded by EV when PP crashed. Those events were being handled by an Adobe error handler. These error files and dumps are located at

Windows Vista & Win 7: C:\Users\user name\AppData\Roaming\Adobe\Adobe Media Encoder

Windows XP C:\Documents and Settings\user name\Local Settings\Application Data\Adobe\Adobe Media Encoder

or

Windows XP C:\Documents and Settings\user name\Local Settings\Application Data\Adobe\LogTransport\Logs\Archive\ 

The following is a section at the top of the error log (xml file) from PP created by the Adobe Crash Reporter. A symbolname is tech talk for something that is loaded into memory (at an address) and that memory location has a name which is used by the application to access functionality. In this case the AMEWrapper GetWriterList is involved in some sort of memory access violation.

crash exception="EXCEPTION_ACCESS_VIOLATION" instruction="0x06bc34aa"
stackStatement index="0" address="0x06bc34aa" symbolname="AMEWrapper::GetWriterList"

I'm not an expert in reading these error files but at the very end of this xml file is the following line, and I noticed references to QuickTime throughout the error report.

path="C:\Program Files\Adobe\Adobe Premiere Pro CS4\MediaIO\writers\QuickTimeWriter.vwr"/

It is suspicious that the error report ended on Quicktime Writer and the AMEWrapper indicates something about getting a Writer List. It is easy to see correlations and jump too quickly to a solution, but by looking at these error files you can create a list of key words to begin your web search. In my case I searched using the following key word in different combinations and I came up with several potential solutions.

> "premiere pro" crash on startup
> AMEwrapper
> Quicktime
> GetwriterList

Here are a few suggested pages and sites which are trust worthy sources of information.

http://helpx.adobe.com/x-productkb/global/troubleshoot-system-errors-freezes-windows.html
http://forums.adobe.com/message/4916926
http://premierepro.wikia.com/wiki/Troubleshooting

In my case there were a lot of hits on PP not starting due to Quicktime, and actually quite a few other things. I don't use Quicktime so uninstalling it would be a system change that would not affect me nor is there much risk to the system. Other suggested system changes like changing cache settings, removing files, or the ubiquitous suggestion of software reinstallation involve more serious changes. I would need more proof those procedures would actually work in my case. Instead, I simply uninstalled Quicktime and my problem went away for PP and the media encoder.

Lucky guess? Not really. It was based on evidence in my error files combined with many posts stating a crash causing relationship between Quicktime and some Adobe apps, and it was chosen as one of my first attempts because it was low risk. Education guess... you bet!

Video and audio drivers are a common cause of problems and it never hurts do double check that you are on the most current set of bug fixes by updating your drivers. More on this in my next post. In fact, any driver could lead to different types of instability.

After fixing the startup crash, PP would still crash after a little initial use. Applying the procedure outlined I looked at the report generated by the Adobe Crash Reporter and found the following lines after the EXCEPTION_ACCESS_VIOLATION line.

symbolname="AIF::OGL::Context::makeCurrent"

I did a web search on the symbolname and it took me to the Adobe forum where the advice was to look closely at my graphics card. There may be something wrong with its Open GL capabilities. That kind of made sense given the OGL evidence. I habitually look for triangulation on the problem, that is, evidence coming from multiple sources before taking a deep dive into a potential solution. I checked and I was in 32 and not 16 bit mode, and I had already updated my graphics card driver. Consequently, I needed more proof that it was an graphics card issue. Looking further down in the post there were other suggestions which I skipped, but there was one indicating the need to upgrade Microsoft's Intellitype and Intellipoint technologies. These are known to crash Adobe products if the drivers are out of date.

My drivers were out of date by quite a bit. The upgrade would be simple and it would be a low risk operation. I confirmed the problem at other sites. So I did the upgrade and the problem was resolved. I'm glad I didn't spend hours trying to figure out what was wrong with OGL settings.

The take away from this is that out of date, corrupted, or over written drives can caused serious problems. On HP systems it is easy to get a complete report on which drivers you have when working through application and system crashes. The HP Performance Advisor gives a very thorough report on just about everything you need to know about your system. The report includes sections on: System, BIOS, OS, Processors, Storage devices, Security settings, Power Management, Bus Options, Slots and Slot Usage, Graphics Card, Display, Memory, ROM, Sensors, Fans... need I continue. It will just about tell you what color your computer cabinet is.

Of course drivers are listed in Microsoft's System Information tool under Software Environment. Device Manager (found on the Computer Management screen below) also provides an adequate view of your system. See more information on MS Computer management.



The WinZip company has a product called Driver Updater that is supposed to find  updates for your drivers. As much as drivers should stay current I wouldn't go for a wholesale update. If it ain't broke don't fix it. Intel will scan your PC for out of date drivers with their Update Driver Utility for free, but I found it of limited use. Microsoft has their own products too.

Computers can crash simply because a heat sensor has detected that the CPU or other component is too hot. For HP systems the Performance Advisor will graphically show you the current and historical temperature, and the RPM of the fans that are supposed to be cooling the system.

When dealing with mysterious system crashes which do not seem driver related and a web search on key words found in error logs have failed to provide a solution, then the problem may be more insidious, requiring a full system check.

Every component must be checked and eliminated as a cause. If you don't have an HP system there are generic tools out there to help. HWMonitor by CPUID will show you if your system is overheating. Extensive memory checks can be done with MemTest by HCI Design. Hard disk checks can be done with Microsoft's check disk tool found at My Computer > right click the disk of interest > properties > tools > Error Checking. You can find the defrag too there too which should be run as needed. Seagate and Western Digital supply their own disk checking utilities also.

This post has already gotten out of control, but I'll mention one more useful tool for advance debugging and that's the Performance tool which is part of the Microsoft Management Console. This tool enables you to customize monitoring on specific system components, set alerting thresholds, and track system performance over time. The graph below was customized to show memory pages per sec, Disk Queuing, and processor utilization. This is a really cool tool if your problems are resource related and you need to tie system or application problems to resource utilization.



PC & Adobe Crashes & How To Deal With Them - Part One

 Part One of this series focuses on what is running on your PC after startup which optionally can be removed to save resources and to reduce application conflicts.

First the disclaimer. There are literally as many reasons for PC and application crashes as there are PC and applications. There are some very helpful tools however to diagnose and hopefully fix your problems. One must have is Microsoft's Autoruns system internals tool.


It has always been painful to determine just what services, apps, drivers, ddl, etc are loaded on your PC, where they are loaded from, and when.

How about finding old apps that didn't completely uninstall, or worse, apps that you didn't even know were installed?

How about finding new additions which may be causing a problem, or, what can be removed if your PC has been slowing down.

Microsoft's Autoruns in the answer to all of the above and more. Autoruns can be found at the MS technet site.

The image above shows the Autoruns and all the rows of data are what is being loaded at system startup. The first screenfull shows items from the registry at HKLM\Software\microsoft\windows\currentVersion\run. The 'run' key in the registry is one of my such places that apps are started from when a PC boots. Autoruns shows all the locations that are commonly used and many not so common locations. Simply scroll down and you will see hundreds of items loaded at startup.

You might be surprised just what you see when you fire up the tool.

My PC is going on seven years old and in that time many pieces of software have been loaded with and without my knowledge, many uninstalled leaving junk behind (or not really uninstalled at all), and many services and drivers that just don't need to startup automatically or at all.

Finding and removing old junk is one use. Another important use is just to take a snapshot of your PC using this tool when it is healthy. You can then compare a later snapshot (after you start to have problems or slowdowns) and determine what has changed on your PC.

It is easy to turn off an app or service etc just by checking the box on the far left. I would be careful about deleting them however. When turning things off do them one or two at a time, then restart your PC to insure that it is working OK. If you have a lot of stuff to turn off ( I turned of over thirty items), then do it over a period of days, making sure everything is working fine. If you don't mind bouncing your PC many times you can make quite a few changes in one day. 

If it ain't broke don't fix it. But if you start to have problems then this tool can easily tell you what has changed and how to systematically determine which of the changes are causing the problem.

Signpost In The Road



This is the first posting in several years. There have been a lot of changes the most notable is that I am no longer do glass work. We moved from Minnesota and I left my studio behind and sold all of the equipment. About all that I kept was my photography gear and a bunch of tools.

No particular reason for the changes. Just time to move on.