today is a presentation of TFNN, the Traders Edge with Steve Rhodes, toll free at 1-877-927-6648 or internationally at<PHONE_NUMBER>, the Traders Edge. Now, Steve Rhodes. Good afternoon folks, welcome to the April 23rd, the terrific Thursday or Thursday, Thursday edition of today's Traders Edge show. I'm your host, Steve, the Perseverance Rhodes who absolutely knows and he should always be pioneers of our future versus prisoners of our past. Hope everyone out there is having a great day. Hey, let's make sure we have an extraordinary one and the easiest way to do that is to always remember that life is happening for us, not to us. That's right, when you and I make that one little two by four shift means we can find the gift in every set of circumstance that life is going to toss at us. Now today, you and I, we're going to go check on the circumstance of these markets. We're going to go figure out what those bulls and bears, what those buyers and sellers are communicating to you and I just passed one o'clock in the afternoon. I want you to know that I'm absolutely grateful for your presence here, but much, much more important than that. During this next 60 minutes, I'm here to serve you. So feel free to pick up that phone. You can dial on in<PHONE_NUMBER>. If you can't dial in, well, we've got you covered there too. Let those fingers do the walking. You can send me an email, steve at tfnn.com, inside the subject heading, please put radio show question and in our Tigris. And well, any ping will do. So let's go ahead and get this show started on a terrific Thursday, Thursday, Thursday. Of course, this is Tiger, financial news network. I'm Steve Rhodes. Welcome to Lush Show right now. We've got all the indices in the green out here. The Dow is now up 200, S&P 19, NASDAQ 63, Russell 19, Semi's are up three, New York Stock Exchange 75. The transports are leading the charge percentage wise up over 2 percent, 166 points out there, spot by the till next, still below its 50-day exponential moving average. She's trading out at 40.05, gold's up 10 bucks, silver, two pennies, lights we cruise up three bucks, trading out at 16.83, natural gas back a bit, about 5 percent this morning, and T-bonds up 24, 30 year up 24, 30 seconds. Lead the charge to the upside. It's Amazon 45 bucks, Google 20, Pool Corporation 17, West Pharmaceuticals 10 percent or about 17 bucks. Domino's Pizza is the leader to the downside out there.  How can beer be down $6.76 out there? So let's go back. I did the one PM update. I literally had a late lunch today and was away from my computer probably for about 15, 20 minutes or so. And I came back and saw that it looked like we went from green to red out there. But what was really going on, let's just always good to keep things in perspective here. Let me just pull over the NQ right now. It's just a 30-minute timeframe. And on the 30-minute timeframe, all price did. And that supposedly from folks in the den, so thank you, was a release of maybe something that wasn't supposed to be released by Gilead regarding their trial of Rendezvier. I'm not sure if that's a proper pronunciation or not. But here's the deal. All the price did in that matter of moments came back and tested support. Now inside the NQ, this is a 30-minute timeframe chart that we're looking at, it's going to run potentially, it was running in towards resistance. And the resistance would have been 88, 28, 25. It was really just kind of gearing up for, okay, let's see if that's going to be where the market stalls. Now I don't know if that's the case or not. But what I do know, what we do know, and that's the beautiful thing out here, is we know where clear support is. And that's at 86, 26, 25. And that's brought to us by our friends. Well, we don't really have any of those friends over there, but it's brought to us by the TD9s and by that TD9 count. Folks, it's a pattern that you must. Well, you don't have to. I can't make it a must for you. But for goodness sakes, if you're trading these, if you're an active trader, then you really have to ask yourself the question, why wouldn't you want to understand this pattern? Why wouldn't you want me on that wall? The wall in the case of the NQ out here, it's 86, 26, 25. Now if price breaks through that, closes below that, does it for two bars out there? Then Humpty Dumpty will have fallen off the wall. But at this stage of the game, with regard to the NQ, you know where clear support is for the day. And now with regard to resistance, that's going to be your green line on the upper left-hand corner, where the red line, the red horizontal line was the breakout level. The breakdown area is 88, 28, 25. That's the 30-minute time frame chart for the NQ. If we take a look at, all of them were doing the same thing, not everything got down to the breakout level, which tells you about a little bit more about the strength inside those others. Now the ES Mini, for the most part, got down there. Missed it by a couple of ticks. That's 2784 out here. So that's the important number. And it looked like the ES Mini, and it still may do that, was really gunning for its next level of resistance, using that TD9 count, at 2850 to 25. So 2784 for the day, that's going to be your support. And 2850 to 25 is going to be your resistance point. That's for the ES Mini. We might as well do this for the others, that way, for those of you that are interday traders out there, and you're not using these tools out here, at least you'll have the numbers to be paying attention to. So in the case of the Dow, equity-future contract, never got down to its breakout level. That's 23 260. It did get down to the bottom of its bullish-structured box, 23 362, another key level of support. So on your pad of paper, you're writing down 23, 23 260, I believe is the number, to the downside, let me get this chart back there. Yeah, 23 260. Let's go find out the green line, or the resistance area, and that's going to be 23952. I don't know which of those two the market is going to take out or try to take out or get to. My instinct at this stage is say 23952 would be the number, time will tell, right? Let's go take a look at the Russell 2000. As I mentioned, the Russell 2000, percentage-wise, doing pretty well today, up about almost 2% right now. What was it doing on that retracement? Well, it was pulling back, look at that big retracement, bearish-structured profile out there. Even though you see a TD9 account, for Stevie's sake, it's not the valid topping signal to sell out there. In this case, your bar number six was making that high. But we can see that the bearish-structured profile was in before that news release out there, and sellers were able to push price down to support, which was basically the bottom of its profile, 119750. 119350 is going to be the breakout area, so that's what you would put on your pad of paper. I don't have a breakdown area here, excuse me, a current one, inside the Russell 2000. To summarize, all that moved to the downside was a test of support. If you can't bust them down, what are you going to do? You're going to go bust them up. In fact, here's Gilead, so Gilead supposedly is the culprit here. All Gilead has done was came back to a breakout area. Now, in this case here, well, let me get the, let's see if I can add the volume. Of course, I can't. I just want to see if it was a click of the switch out here. No click of the switch, that's okay. I should have had it on this tab anyway, so let me just add it. The breakout area, look at that. Here's the breakout area, big wide-ranging bar. Now, it doesn't look like a wide-ranging bar, does it, because it was a gap to the upside. You have to, in your imagination, go ahead and fill in that gap. It was a very wide-ranging bar with major accelerated volume out there. That was 94 million shares, and the, its support level is the top of its daily, but it's level one support. 7735, all Gilead did was pulled back and test support as well. Steve Roach with TFNN and Testinary, where it had broken out. Steve Roach with TFNN, we'll be right back. that instantly filters over 2,500 global financial markets such as stocks, ETFs, commodity futures, and forex. Heated by Steve Dahl, Taz understands that in today's technological world, the use of top-flight software applications and technical analysis expertise is essential to successful trading in today's market. You also gain access to the webinar that Steve Dahl and Tom O'Brien just hosted, the best way to use the Taz profile scanner to profit. This webinar archive is available for all subscribers immediately upon signing up. All new subscriptions also come with a 30-day money-back guarantee, so you have nothing to risk. Start your subscription by visiting the front page of TFNN.com today, and you'll find the Taz profile scanner under the services tab. Sign up today. Are you in the market for buying or selling real estate in the Bay Area, including the surrounding St. Petersburg, Tampa, and Clearwater markets? Tiger Real Estate, LLC is a firm that has extensive experience in the Tampa Bay Area. Whether you're looking to sell your current property for maximum value, or you're in the market for a second home or investment property, Tiger Realty has the experience across all areas of real estate in the Tampa Bay Area to help buyers and sellers make the most informed decisions across all price levels. From the price you should be paying per square foot in certain up-and-coming areas to the type of cash flow investment properties are capable of creating, Tiger Real Estate can help you make the best decision when it comes to all areas of the market. Before you make one of the biggest decisions of your financial future, call Tiger Real Estate, LLC today at<PHONE_NUMBER>, or email us at tiger at TFNN.com. That's<PHONE_NUMBER>. Call us today. TFNN is launching an open house for our Tiger's Den. For a limited time, you can get a 30-day free trial to the Tiger's Den. Just enter promo code open at checkout and pay nothing for 30 days while you try out your Tiger's Den membership as part of our open house. With market volatility at an all-time high and people all over the world working from home if possible, TFNN is hosting an open house in our Tiger's Den. The Tiger's Den is an interactive chat room that runs all day where other Tigers and Tigresses discuss trading ideas with the hosts and members along with charts and current market news as well as live access to the charts the hosts use during their programs. Join us for the Tiger's Den open house. Begin your Den membership today by just entering open at checkout and pay nothing while you try things out for 30 days. For all the details and to start your Den membership today, visit the front page of TFNN.com. Don't miss out on the TFNN Tiger's Den open house taking place now. Sign up today. Call now toll-free at 1-877-927-6648. Internationally at<PHONE_NUMBER>. That was up 233 S&P 23. Let's get to some of the questions that have come in. The first one coming in from Mike in Niagara Falls. And Mike is interested in a ticker symbol R-E-I. That is ring energy out here. And Mike, when I take a look at this chart, maybe it's building a base out here. You've got a lot of accumulation or it appears to have a lot of accumulation going on ever since the gap down on March the 9th. But it's just really trading sideways. It's almost like it's maybe it's not accumulation because there's maybe too much volume going on out there. But if you ask me, do I see anything in it? Here's what I'll share with you. Technically speaking, price right now is trading above the top of its daily box at 66 cents. You're at 71. So a close above that or two closes above that would suggest to me that you would run to the gap. Now the gap is either going to be the high of March 10th and that's 95 cents or the low of March 5th. And that low is buck 21. Now if we look at the weekly timeframe chart out here, we can see that at 97 cents, that is the top of the weekly profile. So that's what you're looking at out here. If you're really interested in ring energy and it's a 70 cent stock out here, then I would do this as an unexpired call. It's kind of a no-brainer. I'm not telling you to do that, but you've got an interest in this. You're doing some bottom fishing. So just go ahead and allocate some percentage of your portfolio. Say 1%, 2%, 3%, whatever it is that you want to risk out there. And let's just say it's 1% and you got a $10,000 portfolio. That's $100. Take $100 divided by 71 cents or whatever it is your share purchases and go ahead and buy it and stick it in the drawer, so to speak. And then you've got an unexpired option. But from a trading standpoint or anything that might interest listeners out here, folks, I don't know anything about ring energy, but to the extent that you want to have an unexpired option trade, well, then that would be it. So Mike, I hope that helps you out. Let's go to our next question. Next question coming in from Tim. And Tim wanted to take a look at ticker symbol I-N-O. So let's go take a look at I-N-O out here. Let's get it on this set of charts here first. I-N-O. Let's see what it is. This is Inovia Pharmaceuticals, trading right now at $12.82 above resistance from a daily perspective. That was the top of its box out there. $11.59 is resistance. Yes, he had a close above that. Today looks like the second close above that. That's suggesting to you and I, price wants to move higher. Now, price is also above the top of its weekly profile. That was at $9.63, and it's well above the top of its monthly profile. So we're going to have to go to Stevie's other charts out here to figure out where this is headed to. So to do that, let's go see what type of patterns are present out here. Now, this top with the TD9 count top. This is one big old bearish and gulping candle. It was wave number seven as well. So it had two of Stevie's favorite topping or bottoming signals. In this case here was the top. That was on March the 10th. Today is going to be bar number five of a TD9 count. If it topped out with a TD9 count last time, no reason that it can't this time either, Tim. And you're saying looking at intermediate term time frame, a few days to a few weeks. Well, so if it's going to get to a nine count today is bar number five, then you would theoretically have three to five days with this thing moving higher out there. So that's what I see when I take a look at the daily time frame. Is it going to make it all the way back to those highs? That I don't know. If I look at the weekly time frame just looking for any kind of other signal out here, I don't have it. I don't have any signal to suggest that it should move lower. Maybe that's another or a more better way to express that. Aha! Now we can see that spike. Now we see the culprit, right? You just have to go through each of the time frame charts and usually the answer will reveal itself to you. Isn't that a wonderful thing? Now, if we had just started, Tim and I had just started taking a look at the I&O and we did it on a monthly time frame, one thing, and this is where Tim, Tim, I really want you to understand the Rogementum indicator tool out here. It's for this, for this, for any instrument out here, but take a look at what it did. That's how it bottomed on a monthly basis. And it did that right back here on July the S6. So that nice big old bullish and golfing candle price was above the bottom of that profile out there. And if you and I were going to pick a place, a target, for a price was going to head to what I really should do on this weekly time frame chart just to make it a little clearer. My lines are extended a little bit longer than normal. This will take me just a moment just so I can just to make it a little bit easier for you to take a look at each of you out there. There we go. So now we can see it. So the green horizontal line is the place where price broke down on a monthly basis. Remember, we're looking at that spike on the daily, which created that bearish and golfing big old bearish and golfing candle. Why did it stop where it did? Well, because 624 was the number. 624 was the resistance level out there. So that's what you would be gunning for, so to speak. Let me get this all the way back here. Oops. What did I do there? Oh, I changed over to what did I, what did I do there? What the Sam had just happened? I don't know what just happened there. That was really strange. Wow, really? Oh, you know what? I was at the wrong price point area. Okay. Can we just simply, we'll just have to skip that. Let me come back here. My apology. My apology. No, no, no, no, no, no. I just have to pull it back further. No. Okay, 1496. So 1496, that's your resistance zone out here, and that is the breakdown level. My apology, but that started from June of 2007. In this case here, I do need the line to go all the way over. So look, Tim, here's the bottom line. Looks like this is going to target that 1496 level again, your 1275. And I hope that that helps you out. Let's go to, do we have two callers on the line? I think we just have one. And that is Ray and Sarasota. Ray, thanks for calling. Thanks for holding. How are you? I'm doing well, Steve. Thank you for all you do for our listeners out here on Radio Land. I got a question for you. I called in a couple of days ago, and I'm calling about NAT. And I do have a significant position, and I've got a trading position as well as a core position. And I'm, I'm of the opinion that this stock is potentially on its way to at least $8 to share. Yesterday, after our trading, it even got up to $627 that I'm aware of. And look at the volume in the last few days. Yeah, I see, I see what you're looking at. So here from a price prediction, what the, the volume of the last few days, what it did was what we like to call confirming A to B equals CD. So the A point down here would be March 23rd. The B point is going to be the high on March 30th. And then the retracement low is the trading session of April 2nd. Now, what this has done so far is this has completed the one to one A to B equals CD. And that's at $5.88. The actual high today is $5.88. Get a love that, right? Right? I mean, how does that work? In this case here, that's how it worked. So it has hit the first projection level out there. You do not have a bearish reversal candle. And so there is no reason for me to suggest that, you know, you would exit this trade. But you have done, you have completed a one to one A to B equals CD to the upside. Does it have the strength to get up to the one to 1.272 level? That is 661. I don't know the answer to that. But when we come back to this break, Ray, let's further take a look at that. And then we'll go out to Brent in Martinez, California after that. So stick with us if you would, Ray, and we'll be back in just a few minutes. I'm certain you are or strive to be one of the best of the best at everything you do in life. It's the most common trade that we Tigers and Tigers share. If you're looking to become the best of the best when it comes to managing your money, let me teach you to do what most wealth managers tell you can't be done, which is how to time the markets. I'm Steve Rhodes, author of Mastering Probability. And for the last 12 months, Timer Digest has been tracking my newsletter signals, which have earned me the ranking as their number one market timer in the nation for the S&P 500 for the last 12, 6, and 3 months. Timer Digest also ranks me as the number one market timer for gold as well. The fact is, markets can be timed. And I'll teach you the exact set of tools that I use that has transformed me into one of the best at what I do. Sign up for Mastering Probability today by clicking on the newsletter tab on the home page of TFNN.com and get immediate access to workshops where I take you step by step how to use an extraordinary set of tools as well as provide great market calls to. Sign up today. If you're a trader in the market looking to find the path that leads to maximizing profits while decreasing risk, then now is a great time to try out Dave White's daily trading service, The Path of Lease Resistance. Through the use of options and equity trades, Dave advises his subscribers on a daily basis of the current market conditions and what possible trade setups are on the horizon. The Path of Lease Resistance is published every trading morning, often with updates intraday when initiating trades or closing out positions. Dave White has advised his clients of some outstanding winning options and equity trades in recent months and now is a great time to try it out for yourself. New subscribers to The Path of Lease Resistance receive a 30-day money back guarantee. See for yourself the types of options and equity trades that are available by signing up for The Path of Lease Resistance today by visiting the front page of TFNN.com and selecting the newsletter tab. Sign up today. TFNN is excited about our new software charting program, The Art of Timing the Trade Chart. In collaboration with Tom O'Brien and using his best-selling book, The Art of Timing the Trade, your ultimate trading mastery system, David White has programmed an outstanding piece of software that will complement any trader's methodology. Using this first-of-its-kind program, The Art of Timing the Trade Charts allows you to scan thousands of stocks for Fibonacci formation setups, including Guard Lease, ABCs, Butterflies, and much more. The Art of Timing the Trade Charts is designed to help you when scouring the markets for stocks just beginning to form the trading patterns that many investors spend days, weeks, or even months searching to find. And right now, we're offering licenses available at only $79 a month. We are so confident that you're going to love this new charting software that will even give you a 30-day unconditional money-back guarantee. Don't miss out on this incredible new piece of software. Get your copy of The Art of Timing the Trade Charts today by visiting TFNN.com. So Ray, we already covered the daily time frame, which generated the 1 to 1 A to B equal CD, right to the tick, and the price has pulled back since. Now when we look at the weekly time frame chart, what you and I know is resistance is at $5.67. So on a weekly basis, you're really looking for price to get above that. But just know that this is the area where price had broken down in the past on a weekly time frame. On the monthly time frame, I see your $8 figure. It really would be $8.68. So just like we looked at for a weekly time frame, where price broke down, the monthly time frame breakdown is $8.68. So I get the $8 projection. Just know that on the daily time frame, you've got a completed pattern, the A to B equal CD, no bearish reversal signal. But today is also going to be the bar that follows bar number nine of a TD-9 count. And this is the high. So you now have two topping signals. Now I know you're in this for the long term. So what you should do is really be watching tomorrow's candle. Any close below today's high is telling you that that TD-9 count may be taking effect and that you should see price pull back, pull back to where. It could be old resistance that becomes support, $4.56. Could be $4.53. That's where my green line is on the daily time frame. But you've got now two potential topping signals on the daily time frame and you've got that resistance level on the weekly. So there's where your battle is. I can't tell you who's going to win, but you're in this from the longer term, it sounds like. So just know that there's the battle that's in front of you. It's very clear. Right. Well, I've been also trading on a shorter term basis, a matter of days or a week. And you can see that it moves around a lot during the day. Yeah. Nice range. So if I had a short-term trade on, and I don't see a close today above $5.67, I'm taking that cash off the table because of the two daily time frame patterns that are out there. If you get a pull back, then you can take a look and enter it. And if you haven't, you've at least done what I would think would be the smart thing, knowing that you've got these patterns that are out there. Right. As usually, you're always a big help, Steve. Okay. Glad to be of a big help. Thanks for calling. And Ray, well, best of luck with you on this trade. And we'll look forward to speaking to you again. Let's go out to California and speak with Brent. Brent, thanks for calling. Thanks for holding. How are you doing today? I'm doing just great, Steve. Thanks much for taking the call. I hope you're doing well. I am. And Mortgage Resources Corp. Montage, my apology. Montage Resources Corp. is the equity we're going to take a look at, folks. The ticker symbol is MR. And a nice setup so far here, trading above the resistance or the profiles on the daily and the weekly and trading right into the monthly resistance level. So here is the tug of war for Brent, would be $5.67. Are you in this equity? I am. There's a number of these stocks that I have followed over the years or have been traded in. This one I happened to not be in prior. When it made a run up to about eight something back last year, I think it might have topped around January of this year. And when it pulled back, I wanted to get into it. So I'm in at like 225. And it's done well. I've had others, it's a mixed bag. Some have done better than others, but this one seems to be acting pretty well. And look, I might have done the one to one today. I'm not sure that you can look at that, but I just want to get your thoughts on it. Yeah, excellent. So let's take a look at it. So the first question that Brent asked, folks, was the A to B equal CD pattern. And what I'm showing for the A point is going to be this little hammer style candle from March the 30th. So that's our A point. Let me get that noted out here. And the B point would be the April 14th high. That's 427. This had basically a one day pullback out here. That's going to mark our C point April the 15th. And yes, it did complete the one to one A to B equal CD, that price projection 579, hitting it with a, you know, with a decent, widest type ranging bar out here. Brent, I would say there's two things that I would point out to you on this A to B equal CD.  The first thing was the retracement, less than a 0.382 retracement. And so now odds favor in the A to B equal CD pattern that when you get less than a 0.618 retracement, you're going to do more than the one to one move, which is what it has done today. That would be the first thing. The second thing is I'd be taking a look at price along the C to D leg out here. And we can see that price is on the left side. That is the strong side. That is the side that tells you this wants to also do more than a one to one A to B equal CD. So your next A to B equal CD price projection using our Fibonacci summation series gets you to 642, 721 and 808. Now, if we also take a look at the daily chart out here, from the perspective of where was resistance, if this was going to break down or where did it break down in the past, that would be five and a quarter. But what we can see is price took that out yesterday. Today on any pullback was a test and rejection of 525. And that suggests that it wants to move higher, move higher to where? This would be $8.01. Now, all of that is the good news. Where's the bad news if there is bad news? The bad news or the troubling aspect about the chart pattern out here is that on the daily basis, our oscillator on change line changed from red to green about a half a dozen days ago. And typically what occurs out here is we will see price in that line catch up to each other. What we don't know is it going to be a pullback? Is it going to be a sideways move while the oscillator and change line continues to move higher? This is not some reason to sell. I just wanted to be able to point out the potential rain storm or a couple of days of rain or what have you that you could see in this equity. But otherwise, well, everything looks good. Now, let me just do this here and do this here. Let me just turn it over to my weekly timeframe chart, see if there's anything out here that pops out at us. And not really. This tells us $809 is a level to be looking at as a resistance as price moves higher. And that's the weekly timeframe. And on the monthly, I don't have anything really to provide for you. So how else can I be of help to you or what other piece of information would you like for Montage Resources Corp? I just really appreciate what you just went through, Steve. Like I always say, you seem to cover all the bases when you give all the different time frames, the different levels to watch. I mean, that's what I would hope you would be able to do. And you certainly came through. Okay, so what's going to be helpful to you is knowing that right now at $5.67, and yes, price is above a buy four or five pennies right now, that that is your real resistance area. And that's the top of that monthly profile. So once price can get through here, then the only thing you're dealing with is that phenomenon associated with the oscillator and change line, when it changes colors out there. But otherwise, looks really great. All right. Thank you so much, Steve. Have a great day. Have a great weekend. And I'm sure I'll talk to you soon. That sounds great. You do the same. Let's go out to Colorado Springs and speak with Scott. Scott, thanks for calling. Thanks for holding. How are you doing today? Hi, Steve. Good. How are you? I am doing very well. I just want to let you know we're going to be going to a break here in about 15 seconds. But you want to take a look at the US dollar Japanese yen, I believe? Yes, sir. Tell me what you're looking for in about 10 seconds. Um, do you see it going down to the bottom of the one count at 104.51? All right. So we know what the question is. We come back from this break. Let's go take a look at the charts with Scott. Try to figure out where the Japanese yen is headed to. Steve Roach with TFNN will be right back. If you're in the CD market and looking for a secure investment, the Tiger First mortgage program may work for you. The security for these first mortgages are building lots in the tax opportunity zone in St. Petersburg, Florida. The Tax Act of 2018 set up tax-free zones across the country where you can build and hold for 10 years and pay no tax on the profits, which makes these lots valuable. The investment is anywhere from $30,000 to $75,000. The interest paid is 7% yearly paid on a monthly basis. According to bankrate.com, the best rate for a four-year CD in the country as of February 20th is 3.1%. A $50,000 investment at a normal four-year CD rate of 3.1% would give you income of $1,550 per year or $6,200 over the four-year period. That same $50,000 investment in the Tiger First mortgage program would give you $3,500 per year or $14,000 over the four years. What should you prefer? $6,200 or $14,000 of interest on your investment? If you would like more information about the Tiger First mortgage program, you can call me at<PHONE_NUMBER>. That's<PHONE_NUMBER>. If you haven't checked out the Newsletters page of TFNN.com, what are you waiting for? All of the TFNN Newsletters are informative, up-to-date, affordable, and must have for every trader looking to gain a competitive informational edge in today's markets. TFNN Newsletters cover every aspect of the markets to offer you the very latest in market news. Plus, new subscribers get to test drive our Newsletters risk-free for 30 days. From all aspects of the markets, including stocks, bonds, metals, commodities, and tech, there's a newsletter to fit your needs exclusively from TFNN. Stay informed each day you trade and get that competitive edge that will help you stay ahead of the game. Visit our Newsletters page by going to TFNN.com and click the Newsletters button near the top of the page. TFNN.com, educating investors. of the direction shares carefully before investing. The prospectus and summary prospectus contain this and other information about direction shares. To obtain a prospectus or summary prospectus, please contact direction shares at<PHONE_NUMBER>. The prospectus or summary prospectus should be read carefully before investing. An investment in the funds is subject to risk including the possible loss of principal. The funds are designed to be utilized only by sophisticated investors such as traders and active investors. Distributor, 4-Side Fund Services, LLC. TD-9 Count, Top, January 17, 2020. TD-9 Count, Bottom, Bar 10, February 3, 2020. TD-9 Count, Bottom, Bar 9, March 9, 2020. TD-9 Count, Top, March 24, 2020. What Scott's question is, if I believe I heard your question correctly, Scott, is you're wondering, will price pull back to the breakout level of $104.51? Is that correct? So you can see the $104.51 level here and why Scott is paying attention to it. So here's what we know right now. We know that we've got the valid topping pattern. We know that price is trading below the bottom of its profiles. That's at $108.80 and price is trading below Stevie's red line. So what that tells us is that price right now wants to continue to move lower. Now, where's the key level of support? To answer your question about $104.51, we do know that the bulls have tried to defend the area, the low from April 1st on April Fool's Day. And that low out there is $106.92. Price must close below $106.92 to get us to that $104.51. If you see price close below that, then that would signal to me a clear yes, price is going back there. Right now, what I know is where the, and you know where the buyers are at or potential buyers are at, and this is a little level just using our Japanese candlesticks out here. Here you've got the bullish engulfing candle forks on April 2nd. The low of the, or support, I should say, when you have a bullish engulfing candle is going to be the low of the entire set of candles that it has engulfed. In this case here, it just happened to be the prior candle. So, and the reason, and price should get down there to test that level as well. When we look at the weekly timeframe, we can see the price is also below the bottom of its weekly profile. But that $106.92 is what you need to see crack to get you down to $104.51. And what we would say right now, what the US dollar Japanese yen is doing is just trading between support, $106.92 in resistance, which I would say would be the $108.79 level, the bottom of its daily profile. Does that help? Okay. Yes, sir. Perfect. Okay, great. Anything else I can do? Sometimes I look at a chart and I say, man, it's a long way down to get to the breakout. Well, you know what it really is? Probably, Scott, if we take a look at this here, so if $106.92 breaks, so just curious here, what it would do is really give you that A to B equal CD to the downside. So let's just go see what that price projection is. Your A point, B in the high of that TD-9 count, that was bar eight, March 24th. We've already identified the B point out here, what I'm going to use is the B point. And that was, by the way, the trading session for April Fool's Day. And then the retracement from April the $106 out here. Now, here's what we know. So here you go. The one to one A to B equal CD gets you to $104.59. Perfect. Plenty of that works, huh? So it's very doable, but certainly you're going to watch $106.92. That's going to be the answer to your question. And I don't know if that's going to be broken or not. I just know that's where you would get the answer to your question. Right. Sounds good. Thank you, Steve. Hey, you bet. Thanks so much for calling. That was Scott in Colorado Springs. Scott, always good to hear your voice. We did have a question inside the Tigers den. I don't want to forget this because someone had posted it. And my apology, I don't recall who posted it. But it is Maverick Metals Inc. out here. Trade out at $429. And let me just get this going on my other chart out here. This is MMX. So it's trading above the daily profile. You'd like to see, I don't know if you're long or short or not in it or what have you. But what you'd like to see if you're in this stock is you'd like to see close today about $417 and then close tomorrow about $417. The reason why you want to see both of those, now, that would give you an indication that you're going to go test the high from April 14th out there. That high, by the way, is $471. But it's actually not the $417 issue. It's not $417. That is the issue from a price point standpoint that you have, the you being whoever requested this. What we can see, let me just expand the chart out here. Didn't mean to do it like that. But there we go. A little bit larger. Here's what I want you to pay attention to. And we're going to go look at my other charts out there to see if we can pick up anything else. But this formed a new profile the week of April 6th. And when this profile formed, price was blowed. It was on this green, green bar right here. Price was blowed. When a, that's a bullish structured profile. When a profile forms and it's above price, the message there is it's a bearish message. And if a countertrend rally and whatever it is you're trading, whatever timeframe it is you're trading, and you see a bullish structured profile out there. The countertrend rally, if that's all that it is, should stop at the bottom or the center of that bullish structured profile. More times than not, it tends to be the center area, which is 477. And today or this week, we've seen a test and rejection of the bottom of that profile, 448. So if you are in it, just know that that is the battle that you are up against. This 448, 477 level out here. Let me pull over the chart, see what else we can glean by taking a look at it. The weekly is the timeframe that shows up first out here. And the weekly showed a TD9 count pattern. Okay. But we really have covered that and where price in this top with a TD9 count and arose meant to mitigate her top out there. So the nine counts at work here, let's switch over to the daily. What do we have on the daily timeframe out here? Let's populate this. Well, this top on the daily base with a TD9 count on April the 14th and price pulled back to support, which is basically Stevie's red line. All closer were above that. So that's still bullish. So it may take a run. But for these areas that we had talked about, but also notice at 468, you've got a lot of resistance. And that's where that TD9 count last stop. So you're really trading into some resistance out here. And you've got the Gartley cell pattern. Man. Okay. So let's go type that in here. So you can see that. And you had the bearish reversal candle when price had gapped down. So if you are in this, you've got to be careful out here. Here's the Gartley cell pattern. Well, it looked like the Gartley cell pattern. Here's the A to B equals CD. I'm not sure if I grabbed the right a point out there, but I'm close enough for our work right here. And the one to one price projection now was 463. I think you got to be careful. That's the best that I can share with you with regard to Maverick Metals, Inc. MMX is the ticker symbol. And I hope that that helps you out. And whoever you is, and I apologize, I know it was early up as we were just getting down the air out there, and I just can't see those requests out there. I can. It would just take take me a little bit of time to get back to it. So let's go to our next question out here. And this is from Tom, Tom G. And Tom writes in, he's long the nugget, the junior nugget. Not sure if you looked at gold already. I haven't. Is this from yesterday? This was from yesterday. How the heck did I get that message again? That's really weird. Well, it's from 1049 this morning in any. Oh, no, no, no, no. Well, look, I'm not sure which day this is from. But let's just simply go take a look at the nugget out there. And let's do it when we get back from this break. Wow, this show went by quickly. So Steve Rhodes with TFNM. We're going to look at the GDX for you out there. And then that will in essence cover the Nugget, so to speak, which completed looks like a one to one A to B equal CD today. Steve Rhodes with TFNM. With markets trading with extreme volatility and peaks and troughs everywhere, regardless of what you're looking at in the markets. This is a great time to see the type of analysis Basil Chapman delivers for his subscribers every market day with the opening call newsletter. Basil has been analyzing markets providing his take for subscribers to his trading services since 1984. Every morning, Basil publishes an update for his subscribers along with weekend and evening updates when warranted. The opening call provides traders a daily market overview with regard to the direction of the key indices, selective stocks and commodities along with specific recommendations, including stops and targets. You also gain instant access to Basil subscriber webinar archive from earlier this year, a dark cloud cover and essential market analysis. Ride the Chapman wave today by signing up for the opening call newsletter on the front page of TFNM dot com under the newsletter tab. New subscribers get a 30 day money back guarantee so you have nothing to risk sign up today. The gold market has taken off top side in a large way in 2020. If you want to take advantage of this sector now is the time to subscribe to my gold report. The gold report took profits in four of its equities in the gold portfolio in the first week of January for a combined profit of 99.2% with two positions left in the portfolio that have a profit of 67.5% as of January 7th. The gold report is a comprehensive look at the metals sector as well as the markets that move gold, which is the currency and bond markets. New subscribers get a 30 day money back guarantee so you have nothing to lose. Every Monday morning I publish the gold report with coverage of gold, silver bonds, the XAU, HUI, JDX, as well as more than 30 different mining equities. To see for yourself the types of profitable trades that are recommended within the gold report, sign up now by visiting TFNM dot com. Don't miss out on the next great gold trade. Sign up today. We take it every morning. That's why we need primal edge daily nutrition. It includes a special blend of ionic, soil based vitamins, minerals, baddie and amino acids in an easy to use liquid form. Primal edge is powered by highly concentrated folic and humic acids, nature's preferred delivery system. They have been called miracle molecules because like sunlight, air and water, life cannot exist without them. That's right Paige. They ensure we receive all the nutrition we need to be healthy and thrive. We take it every morning. Primal edge formulated and approved by Nico and Paige of living a primal lifestyle. Buy it today for just $89. Click on the primal edge banner on the front page of TFNM dot com. This is David White.  Welcome back folks. So the last three questions are all about gold stocks out here. So we're going to take a look at the GDX first and the GDX, now I don't know what today's candle is going to look like at the end of the day. Right now it's both a bullish and a bearish candle. How can that be Steve? Well, first you've had a gap to the upside. That's bullish. Right now this is a shooting star candle and it's at the completion of the one to one A to B equal CD. If this ends up being a bearish shooting star candle today, then the move to the upside in the GDX may be over for the time being out here. How will you know if we still have this gap and this is a shooting star? Typically the way a shooting star candles work is if they're going to work, they work immediately. What that means is you would see lower price tomorrow. Now I don't know if this is going to be a shooting star. I do know that it's a gap to the upside until that gets closed, but I would be careful out here. Now the reason I would say I'd be careful is let's go take a look at the other two requests out here. One is for Yamada Gold. If we take a look at Yamada Gold, what is it doing? This is now or this has tested a prior swing point. It's completed a one to one A to B equal CD or maybe one one point two seven two or one one point six one eight. It doesn't matter at this stage of the game. This too has the potential of a shooting star candidate. It does not have the gap to the upside. Here's what we know 224 was 42 million shares and today you're at 19 million shares. That is going to be a test and rejection on lighter volume. If you're in Yamada Gold, be careful. Just be careful because it couldn't bust it out to the upside. Now if it closed above 494, that might be something different. And then the last request was to take a look at Newmont Mine. If we take a look at Newmont NEM, let's get it up here, not N-E-W. This has completed a one to about one or one one point two seven two A to B equal CD to the upside. This too has a shooting star candle.  Just go out and get Windex. It worked for him. It should work for us too. Folks, have a great day. Stay tuned for two more great hours. You've got your favorite polar bear, David White. He's up next after that. Tom will Brian take us home from three to four and I'll be back with you on fantastic Friday. Thanks so much for the calls. Thanks so much for the email request and have a terrific Thursday.


I work for Red Hat as a technical support engineer, meaning that I help our clients administer their Red Hat Enterprise Linux systems. And more specifically, I work in the kernel team, which means that we do a lot of work on helping our customers do an analysis when their system crashes because there was a problem on the kernel side. And as you might notice from the title, this is going to be an introduction to some of the techniques that we use on the team to do an analysis on kernels that they encounter programmed on life systems. What I want to go through today is tell you what exactly happens when a kernel crashes, what you should be prepared to do. And I want to talk to you about a couple of tools that might help you do this analysis after you encounter the problem. Let's start with something easy, something which I hope you are more familiar with. Let's assume that we just have a normal application, a normal user space program, that crashed. It encountered a problem and it crashed. You need to figure out what happened to that application. Well, there are a couple of ways you can do this. You can start out by, for example, reading the code. If you're the developer, for example, or you just have access to the code, you can start and based on what was the environment of the application when it crashed and your knowledge of the code itself, you may want to go through the code and see if there was a possible problem in the code, fix that bug, recompile it, make it work.  You might want to modify the code to provide some more information about the application while it's running. You can do some feedback messages. And even though most developers won't like to admit it, the best way to do it is just to put in some print apps in the code and see what are the conditions of the code while it's running. This affects the code, you have to recompile it. It sometimes can modify the application so much that it doesn't give you the right perspective. So you might want to do something else. Usually another good approach is to use GDB. How many of you are familiar with what GDB does? Yes, thank you. GDB is awesome. You should use it. Developers use it all the time. Why is it awesome? Because it can debug processes either by starting them alongside an application. So you have GDB that starts an application and when the process of that application is running, you can introduce breakpoints, see what's the environment at some life cycle of the process. You can alter the virtual memory of the process. You can do several things with GDB. So one approach is to have that application running. You can attach the GDB to a running process or you can start the process with GDB, my application, and have GDB attached from the start to that process. But sometimes you want to find out what happened to you at the application after it crashed. So you want to do a post-mortem analysis. In such situations, the crash of that application, for example usually in the case of a sec fault, you would get something like a core dump, a file called core dump, which is the dump of the virtual memory of that process. What does that mean? If I have access to the virtual memory of the process, it means I have information about the environment of that application at the time of the crash. Based on that, I can gather information about what was going on at the moment when it crashed. I can also use GDB on this. I can start GDB on an application and also provide a core dump, which will allow me for that application to run in the same way it ran when it encountered the problem and got the crash. This way, I have a GDB instance of a process which was basically a clone of that initial crash process, which I can dissect live and run GDB operations on that application. So these are some of the approaches for debugging an application. If we move into the kernel world, some people will say that things are completely different. We have no idea what is going on in the kernel, how to debug it, how to do anything. Kernel space is unicernel and everything is different. Not so much. Most of the principles still apply. You still have most of the same debugging mechanisms. Maybe not print dev, you have print k, which indeed comes with some other problems because the way that the kernel works, for example, not having terminal attached, we won't see messages on the console. You would probably see print k generated messages on a serial port, for example, or by default in the Dmesk, the kernel log buffer. We can look at those messages for more information. We can do GDB. We can attach GDB to the live kernel. Slightly more complicated, but we can do that. We can also get some information on a live kernel. I would just want to mention SystemTap, which is also a very interesting way of debugging things in the kernel. It deserves its own presentation. But as you can see, we mostly have the same way of thinking about debugging the kernel as we would do most of the application in the user space. However, there are some restrictions. I want to mention what are those restrictions and how we can work around them. Let's talk about what's a kernel crash. A lot of people said, okay, something happened in the kernel crash. Let's be more specific about what that means. First of all, we should realize what is the severity of a problem in the kernel. For example, we can just have wardings in the kernel buffer in that Dmesk, which tells us that something is happening in kernel space. Either the actual kernel or kernel module outputted some information in the kernel Dmesk buffer, and those messages could mean something. They can range for just informational warnings to actual errors in the device. These won't cause problems in the kernel themselves. They may be problems on the system, and the kernel module will tell you that there is a problem, for example, with a disk. You have IO errors on the disk. That's a problem. But that's a problem for the disk, for the hardware. It's not a problem for the actual kernel. So, from that perspective, everything that we get in the Dmesk buffer with these screen key generated messages are informational from the kernel's point of view. Then we have kernel oops. The kernel oops are something specific to kernel space. There are a type of problems within the kernel that we usually don't want to see. But what do they mean? These are some anticipated problems, some specific set of problems that the kernel might encounter, which might cause future problems if the kernel continues to run. The kernel will warn you about these issues as an oops. But that might mean that the kernel will continue running. It will continue running with the disclaimer from the kernel that I am now unstable. Use me at your own risk. You might want to not continue doing that. You might want to reboot the machine. You might want to troubleshoot what caused that kernel oops, usually a software issue in either the kernel or most likely a kernel device driver. Sometimes it might have a side effect in the future which will lead to a kernel panic. Or in general, the system will just be unstable. Then you have the kernel bugs. Kernel bugs are something that the software developer anticipated. There are situations that the kernel developer thought that could happen but should never happen. So if the kernel reaches that point where the code is in a function, a piece of a function, where it shouldn't ever reach, that would be a problem. It's anticipated, so the kernel developer said, okay, I'm going to track this, but you should never be there. Sometimes that bug is just informational. So you can say, okay, that happened. Do something about it. You might have side effects later. But if you can also cause a kernel crash, so actually crash the system. And I kept saying kernel crashes and kernel panics. The actual kernel panic is when the system is completely down, is inoperable. It's the point when the kernel reached a phase where it's no longer working. You can't do anything on it. Processes are not being scheduled. You can't type in anything on the keyboard. Nothing new will pop into the monitor. Nothing is going to happen. The kernel is in a state where it's still running technically. So it's the only thing on the machine actually existing in RAM in anywhere. But it's not actually doing anything. It's frozen. That's a kernel panic. It's the equivalent of what we would see in the Windows world, for example, as that blue screen of death. And this is what we wanted to talk about in this presentation. What we do with these kernel crashes, these kernel panics. When the kernel panics, the Linux kernel specifically, wants to help the administrator of the system out. And it does that by providing some information about the kernel panic. So before it draws its last breath, the kernel will print out on the screen on the serial console. It will print out a series of messages. Those will be the last thing you will see on the screen before the kernel crashes. Depending on how the system is configured, the kernel will automatically reboot or not. Usually it doesn't because you want the system administrator to see that last message on screen. And these messages contain things like what was the process that caused the panic? What was the state of the registers on the CPU at the time of the panic? The call trace of the kernel space functions, which would be the history before the kernel panic. And it looks something like this. For example, at the first line you would see something like unable to handle kernel new pointer dereference. That's the cause of the panic. But it would be the equivalent of a new pointer dereference in user space like a second fold, but not really. That is something that the system cannot recover from. It panics. So you see the reason why it panicked on top. Then you have some more informational messages. For example, what was the kernel version? What modules were linked in? You also get the list of registers. What were the hardware registers on the system? What were their state? What were their values? You also get a call trace. You get the call trace of functions that were called before it reached that state to panic. Now, let me give you a bonus tip regarding presentations, not regarding this kernel crash analysis. If you ever have to do a presentation when you put in a piece of code or text that spans two slides, you're doing it wrong. Don't do that. But I actually have a point. Here, the kernel tries to give you as much information as possible. So it spans out to monitor screens, for example. The problem is that when the kernel panics, everything stops working. For example, you cannot go with page up and see what was the previous screen. So even though the kernel tried to tell you a lot of things, you can't see them. You only see this screen. You would not see the second screen. Unless, for example, you have a serial console and everything outputted by the kernel went to a serial console and you have that thing locked. But most of the times you don't. So you have information but you can't access it, so you can't really do anything with it. Or can you? Let's see what we can do about it. Another example would be if I have a panic caused by out-of-memory issues. On top, I see that there is kernel panic due to out-of-memory. So that means no more RAM, no more swap, nothing on the system that can be allocated. I have to panic. No more memory. I need to panic. But it doesn't really show me anything useful in this cold trace. It doesn't really show me what caused the out-of-memory. What were the processes that were eating up the resources on the system? We need more information. Let's see how we can do that. For example, using a tool called Kdump, we can gather more information. We can prepare the system before a possible crash. Prepare the system to be ready to provide us with more information at the moment of the panic. What does Kdump do? It has one role in mind, to generate the VM core. A VM core, just like a normal core dump, is a copy of the memory to a file. So VM core is just a file that is a memory of the running entity. In the case of a normal process, it was the virtual memory of the process. In the case of the kernel, it's the contents of the RAM plus swap. So everything the kernel will consider memory. So that's what we want. We want to generate the VM core. This tool called Kdump will take care of that. When the kernel panics, so we go through that panic phase, Kdump will start up and copy the contents of the RAM and swap into this VM core file and store it on some persistent disk so we can access it later. But there's a problem. Kdump is something that needs to be running on the system. But I mentioned earlier that when a kernel crash happens, nothing works on the system. So we need a kernel that doesn't do anything because it's in a coma to schedule something like Kdump to do the operation of extracting the contents of the memory and dumping it somewhere. So we have a problem. We want to run something and nothing to run it. This is where Kexec comes in. Kexec is awesome concept in the Linux kernel. Just like the name suggests, Kexec executes something in the kernel. Kexec is an independent feature from Kdump. And it can be used for several features. For example, if you've heard of Kexec, probably you've heard of the feature of fast reboot. This means that when you have a running kernel, you do a YAM or update of the kernel package and you want to boot into a new kernel. Kexec can execute the new kernel, the new kernel image from the disk without having to go through a full reboot, without having to power off the machine, go through POST, go to BIOS, UFI, read from the master boot tracker, etc. It just has the old kernel executing a new kernel. So that's what Kexec does. It executes a new executable, let's say, in the kernel. Not to be confused with K-graphed and K-spliced, which is a mechanism of life-patching, meaning that you have one kernel running and subsequently you replace the running image with another kernel's code, live. Kexec actually executes a new image. How can I do that? Well, I have to have the new image somewhere stored. I need to have the image which I'm about to execute stored somewhere. And since I can't store it on disk to use it later because operations on disk need processing from the kernel, I need the code to be there just when I'm about to execute. That means that it has to be in RAM. It has to be in the physical memory when I want to execute it anytime in the future. So to run Kexec on a new image, I have to reserve a piece of the physical memory just to store an image which I'm going to later on execute with Kexec. So to run this, I'm going to pre-allocate at boot time when the kernel loads. I will tell the kernel to always reserve a certain portion of the RAM to be used by nothing else. And something in the future will populate that piece of memory, a physical memory with a binary image which Kexec will be able to execute when it needs to. So using Kexec, Kdump provisions this piece of physical memory with a Kdump kernel image which will be used to do the things we discussed, to copy the contents of RAM and put them on a disk or a network location. I need to do this, I need to reserve that memory region by passing the crash kernel parameter to the kernel at boot time. This would mean that the boot loader needs to pass to the kernel of this parameter. And Kdump knows of that reserved region and will put in that region the needed binary. Small disclaimer, it's not necessarily a new kernel image, it can be the old kernel image but a new ramfs, but details. Just think of it as a new kernel running, a special kernel just for Kdump. You have the running kernel and you have the special Kdump kernel which only does the two things that we care about. Copying the contents of the memory and storing it somewhere. So we have Kdump configured. This will tell the kernel when it panics, meaning that it does everything that the kernel should do on panic time. For example, print out those messages on screen just before it does the last thing which is do nothing and stay there on the screen. The kernel will do a Kexec on this memory region which contains the Kdump kernel. Thus, we're going to have a new running kernel on the system. We're going to have a new image doing something else. Everything that was in the ram at the time of the crash is still there. Nothing cleared it. The old kernel did not do clearing of the ram. I didn't power off anything so I didn't lose the content. I just ran a new kernel there and everything else remains. Meaning that I can copy the contents into this VM core. So the Kdump image will take care of this. It will just take the contents of the ram and swap if we need to and store them on a file. That file can be, for example, on a partition on the disk. It can be on the root FS, not recommended. It can be on a separate partition or LV. And even can do network copy. So either secure copy or NFS or actually use Ice Cousin to copy the VM core over the network into another system. But at the end, Kdump managed to copy everything and store it in a place where we can do a post-mortem analysis. Now, how much does this VM core occupy? Well, in theory, it's the size of the ram plus the size of the swap. Let's just say the size of the ram for generic purposes. That might be a big file. So for example, if we're on a server that has 128GB of ram, it's going to have 128GB of stored data on the file. That might be big. But sometimes we don't need to store everything. For example, we don't need to store the contents of the user space, the virtual memory, user space, virtual memory of the process. If we do kernel debugging, we don't need to know what was going on in this application running on the system. So we can zero those out. And actually we want to do that because it's a matter of privacy. For example, if Red Hat customers send us a VM core of their system, they need to trust us that we're not going to access private data for their company. So what we do, we actually zero out, or we recommend the client to set up KDAP in such a way that they zero out all the information that has nothing to do with the actual kernel. So in the end, we're going to have an image of mostly zeros, which can be compressed. So we have a big image, but if we run a compression algorithm on it, we can reduce the size of that VM core to a very small number, like a couple of gigabytes. So we have the VM core. We can do analysis on the VM core and see what was going on on the system at the time of the crash. What do we use to do that? There's this utility called Crash. Crash is something that we would run on our system or on the system that crashed after the reboot to analyze that VM core that was generated. Crash is actually based on GDB. So it uses in the background GDB. This means that if you know GDB, you could be quite familiar with what Crash looks like. You have some of the same workflows. You have some of the same features. You can have plug-ins, for example, like in GDB.  It requires its input of course of the VM core to see what was the state of the system at the time, but it also requires the original kernel image, kernel binary. Just like GDB would do on a normal application. When you start both more than an application, you want to rewind an application crash if you have the core DOM. You do GDB, my application, and the core DOM. Same thing with Crash. You run Crash with the kernel image. It has to be the same kernel image as the one on the VM core. And then the actual VM core. What you get is an environment where you have the same things in the Crash session as you would have on the real system at the time of the Crash. So, for example, you can access logs. You can access the Dmesk buffer because the kernel log buffer was in RAM at the time of the Crash. Therefore, it is going to be in the VM core. You can access it so you can get more information. You can see the entire history of the kernel of the logs without having to go with page up on the screen. You also have access to all the data structures of the kernel. So everything from file systems to processes to network connections, everything that was in RAM and used by the kernel, you have access to it then. You can have some tools built into Crash, for example, PS. Crash contains PS command that will give you a similar output as PS in user space. It's not going to have all the features of a normal PS, but it will have just enough information for you to figure out what was running on the system. Or you can have some built-in commands to get information about memory. You can access the mount to see the mount points at the time of the Crash. If there isn't something specific that exists as a commanding Crash, you can always try to dissect the actual structures. You can have pointers in memory. You can say that that pointer in memory represents, for example, a file struct. And you can read the contents of that structure as it was at the moment of the Crash by casting it to a struct file. So you can do the debug as detailed debugging as you want in this Crash session if you have all the contents of the RAM. For example, what you can do, very easy and something that we do all the time, out of memory debugging. So we saw on the screen earlier that there was that Crash that was caused by out-of-memory issues. So we know that something was occupying the RAM, but we don't know what. In a normal system, you have the OOM killer that will try to kill some processes that consume RAM to free up RAM, but at some point, if OOM killer cannot cope with the amount of memory being used, it's going to give up and let the kernel panic. You're going to see on the panic message, you're going to see that one specific process failed allocating memory and that ultimately caused the kernel panic. But it does not mean that that specific process which was running the panic function was the one occupying the most memory. So you want to see what was occupying the memory. So what you can use, for example, there's a built-in command in Crash run Kmem and see, for example, what was the usage of RAM swap just like a similar output as free formatted in another way. And with the output of Kmem, you, for example, would see if indeed all the swap was used and all of the RAM was used, indeed if it was an out-of-memory issue. Then you can do, you can run PS. Sorry? Yes? So to figure out what were the structures used by the kernel? Yes. I honestly don't remember. I think you can get that information, but I really don't know the answer. We can try to run the output. Somebody knows? Nope. But usually the amount of memory occupied by kernel structures is infamously smaller compared to the user paid data. Well, you would then have to dig into all the information about the slab and you can access that information. So you can probably not with this specific command. But in the end, yes, you would be able to get all that information there. It depends how deep you want to dig. So back to Crash, you have the option of running PS and see which process, so process ID with process name, all the information you would have with the normal PS. See which processes or threads were using the physical memory. Also you would have the virtual memory of each process. Lookups. You would have a problem where the system freeze because there was a resource being used by several processes. You can end up in a deadlock situation where all of the CPUs were stuck on an instruction and no new task were able to be scheduled on those CPUs. The generic deadlock up situation. For example, in a VM core, you can run a BT, a backtrace of all the process of those CPUs to see what processes were running on the CPU, on what kernel function they were stuck on. And if, for example, all the CPUs are stuck on a spinlock, you would be able to see what was that spinlock which was keeping all of the processes, all of the CPUs occupied. You would be able to determine what was the common resource that caused the lockup. There are several things you can do with Crash. I just gave two examples. We also have some specific plugins to test for issues, for example with the file system. If the file system was frozen and somebody tried to access that file system. With those plugins, you can build up some specific tests and try to see if, at the time of the crash, some specific things were happening on the machine test for them and see if it matches some known use case. But these were just a couple of examples of how you would ordinary try to use Crash to debug some very basic things in the kernel. What I wanted to share with you today is that you need to be prepared for these kinds of crashes. KDumb is not enabled by default. In some newer distributions, it comes as an option to be installed by default but you still need to activate it. You still need to reserve that memory space for the RAM because it talks to you. It depends on if you find it useful to have a specific region of memory allocated constantly in RAM. So you have to configure it yourself. But if you do have KDumb configured, at least you will have the option of doing the analysis for a small term. So you will be able to gather more information after the system has been rebooted and restored into production. Also, once you have that VM core, you have tools like Crash to analyze the VM core and get some useful information about the system without having to debug the problem. Install KDumb. If you're running a production server, we highly recommend it. Half of our cases, we basically say please install KDumb. It will be useful for you in the future if you're running this REL system in production. If you have any questions, is it a high-combing system performance? Well, let me ask you this. Is it running while the system is in production? Nothing's running before the actual panel. So except that piece of memory, a physical memory that you have to reserve to be there in case you want to execute it, nothing's actually running. So it doesn't impact performance because you have something else running on the system. It depends. For example, if you have... I don't know the numbers specifically, but rough estimate, if you have, for example, a 100 gigabyte of RAM, maybe you want to reserve 200 megabytes for the crash counter parameter. This is needed because usually to do the copying, to have all the space-run operations like copy, compress, copy over the network, or copy over a local disk. Does that answer your question? Ah, sorry. Anything else? Ah, I need to... Can you come after? Yes. So how about the little compiler optimization? Do they all do some reasonable debugging after crash? Well, you will need the... When you run crash, you will need to run the image on a debug kernel. So not the kernel compiled with the debug options, but the kernel combined with, for example, the symbols. So not the strict kernel. Okay? There was... So when your running handler actually crashes again, so when you're running handler, the kernel crashes there. It can happen that you have the K-dump while it's running, having some issues and panic itself. Right. Yes. You won't have a K-dump or K-dump. So like, how about pitchfired? Everything's good? Yes. In short, yes. There are situations where, for example, in cluster environments where you have the running system that it crashed, and you have fencing mechanisms by other cluster nodes, meaning that the node that crashed needs to surely be taken out of the system. So an entity powers off the machine. So if that happens, while K-dump is copying the data, you won't have the VM core, or at least not a complete VM core. So is it recommended to run another kernel as the K-dump kernel then? So you would run into the same issues? Well, you would run into the same issues. So in reality, the K-dump kernel is actually the same kernel. It just has a limited set of tools there in the initrom. So the same as a normal kernel would have things in the initrom that has images. So you don't use another kernel version? No, no. You could, but in practice you don't. It's the same kernel image for the K-dump kernel. Why bother with maintaining a different separate kernel when you can use the same one? New York kernels are always better. Okay, I think we're running out of time. I left some links in the presentation. First is for the feature in the Linux kernel, the K-dump feature. The second is the white paper regarding crash. So it's actually a rather old tool, but it explains how it's made. For Red Hat customers, we have some specific articles on how we recommend K-dump being set up. And we actually have a small script that prepares the environment for K-dump. You just go to the customer portal. You run through a wizard in the web interface. It generates a script. You download the script. You run the script. You have K-dump working. So it takes you three seconds instead of one minute. Because you don't want all the time to reserve that kernel, that memory region. It might be impacting on the system. I would recommend everybody to have it. Okay, thank you very much. If you want you'll find the slides there. Thank you and enjoy the rest of the conference. Yes. People with scarves. So this is about the documentation for kernel configuration on your portal. Actually for Red Hat 7, it's still out there. Is there any possibility? No, it's still there. So it's available for... So this link is only for people who have Red Hat subscription. Yeah, I got it. But I couldn't actually find it for Red Hat 7. Give me just a second. I'll just create a new ticket for the Red Hat. And the sabers set us links, but only for the 6 and the 5. There was no information about 7. I'm almost positive that there is for 7. Ah, never mind. I'll check it now actually, I need to check on the internet. Well, that's pretty much it. Do you have a memory? Give me a place, give me a place. The ticket is available for 10 days. Give me a place. Maybe. Maybe for a few days. I don't know exactly. I don't know exactly. I don't know exactly. Well, we have this one. Migration code. By the way, in the middle time, how can you generate the VM core on a working system without any crash? Well, you couldn't because... Let me find that so I can unplug and leave the next presenter. Actually, without crashing the system. Ah, okay. Because I just generate the crash. Okay, I have to export them from Google Docs. Ah, that's awesome. Just only dumping of the memory. PDF? PDF is the best. By the way, the presentation is perfect. I just generated the crash, so I will send it for the rest of it. Thank you. Thank you. I actually like giving out presentations. I like talking about the things that I do and like. Thank you. So, K-Dump Helper. Back to K-Dump Helper. Who asked about K-Dump on REL7? What? Somebody asked about K-Dump on REL7. Ah, I don't know who. Damn, it's there. It has options. Okay. The cable. Yes. Can it be like this? We have the presenter here. You, C4. I would like to cut it, because it was needed here. Ah, I thought it was on the cable. I'm going to cut it. The presenter is doing something. It's good. I think it's better to send it to the back. You should come to USB.