I've been told that the chink is an offensive word when used to refer to Asian people. On the other hand I saw the "chink in the armor" phrase in respected sources. So is it safe to say it?
Although they sound the same, and are spelled the same, the two words are completely unrelated.
The chink in armor is a crack or split, and is a respectable word dating back to the 16th century.
The derogatory chink is a slang variation on Chinese which arose around 1900.
It would take considerable ingenuity to come up with a situation in which the two senses might be confused.
I agree with the overall sentiment being expressed here – that the expression "chink in the armor" is normally a safe thing to say.
That said, I'd like to point to a couple of questions on ELU with a similar discussion about the word niggardly (see here and here). I'd be more inclined to advise extra caution with that word – even NOAD mentions the same thing in a usage note, and labels the word with a rather rare "often offensive" label:
often offensivea stingy or ungenerous person.
USAGE This word, along with its adverbial form niggardly, should be used with caution. Owing to the sound similarity to the highly inflammatory racial epithet nigger, these words can cause unnecessary confusion and unintentional offense.
So, the interesting question becomes, why is niggardly such a "dangerous" word to use, while "chink in the armor" doesn't carry as much baggage, if both words resemble racial insults?
I think this comes down to two fundamental reasons: common usage, and the meaning of the words and idioms.
Niggardly is a rather seldom-heard word with negative overtones. Even if you completely dismiss the word's unfortunate resemblance to the similar-sounding racial slur, it means miserly or stingy, which is unflattering. Pair together its rarity and derogatory meaning, and the uninformed can jump to conclusions.
Chink in the armor, however, is a more commonly-heard expression, like an apple a day, or best thing since sliced bread. As such, it's less likely to cause people to take notice, and wonder whether you've just said something offensive.
With words that could be misconstrued to have an offensive meaning, every speaker and writer needs to decide whether or not the phrasing should be reworded to avoid such potential misinterpretation, or if it's safe to leave it as is. Factors to consider include the intended audience, and whether or not the word in question has enough widespread use that it's unlikely to be misheard or misunderstood.
a weak point in somebody's argument, character, etc, that can be used in an attack
It's a metaphorical chink - a small opening.
This chink sounds the same as Chink
an English ethnic slur referring primarily to a person of Chinese ethnicity
The etymology of the offensive word Chink is not known for sure. It may be related to a name for China, or may be related to the meaning of the word chink as a narrow opening, used as a rude way to describe the eyes of people of Chinese ethnicity.
A chink in someone's armor is a well-known phrase, and no one would think you meant to offend by saying it.
However, you might choose to avoid using a chink in someone's armor because it sounds the same as the offensive word Chink and may make people think of it. I might do this in writing, where there is time to think about the way your audience will react to the words you use. You can rewrite to talk about the character flaw he has, the mistake your opponent made in her argument, or whatever actual opening you see.
A chink is a crack or a weak, vulnerable spot, and I don't think there is anything wrong with that idiom. According to Merriam-Webster, the word was documented at least as far back as the 16th century. The racial slur came much later, first documented at the end of the 19th century. The terms are completely unrelated.
Based on this Ngram, I think it is reasonable to conclude that the older, proper term is more widely used, and that the hump at the end of the 19 century is due to the offensive term, which appears to have mostly disappeared, at least in published works.
Since the chink in the armor is a well known idiom which almost certainly refers to the first sense, I see no reason why it should not be used.
Unfortunately, however, some people (many of whom are very outspoken) will be offended by almost anything.
Although I'd never even think that "a chink in one's armour" could be taken as an insult, the rule, as with all idioms, is to avoid its use if you're not sure.
The idiom, whilst well known, isn't in particularly common usage, and hence its use in front of asian colleagues could be taken the wrong way. In any case there are usually better phrases you can use to get the same point across:
Let's move to plug the hole in our defences
I can see a gaping hole in that plan.
Not having run product trials could be the fatal flaw in our new marketing strategy.
A lot of the comments here are addressing something that I think may be critically missing or under-emphasized in most of the other answers:
"Chink in the armor", out of context, is mostly harmless. However, given certain contexts, it can seem very offensive. This applies to just about any other expression that can be construed as a racial slur. Though I can't think of any particular examples off the top of my head, I'd be carefully considering my audience and subject matter before using any expressions (especially ones implying devaluation or deficiency) containing words even similar to: "black", "Jew", "nigger", "spade", etc.
So, if your primary audience or subject matter is Asian, I would advise avoiding "chink in the armor". However, its general usage is common enough that it should be fine in most other cases.
A less-used term like niggardly, on the other hand, should probably be avoided whenever possible. Too many people are unfamiliar with the term for it to be commonly accepted as anything other than a reference to the slur, "nigger". There may have been a time where it would be more acceptable, as "chink in the armor" is today, but that time has long passed.