PDA

View Full Version : FOF7.0--Bugs/Crashes/End-Half Logic Thread


Ben E Lou
12-14-2013, 09:21 AM
I will consolidate reports in here and eventually send them to JG. A few things to note:

What is a bug? A bug is something that is not working the way the developer intended for it to work. And that's what this thread is for. A bug is *not* something like, for example, "it shouldn't take three years to renovate a stadium." That's a design decision, not a bug. It works that way because the developer intends for it to work that way, so it's not a bug. Please report only bugs here.

If possible, save your game right at the point the error occurs. FOF has a "save as" function. I'd suggest the following sequence if you're playing a game called "mygame01" and hit a bug:

1. Save. (This way "mygame01" doesn't get lost.
2. Save As {somenewname}. Save it with a name that helps describe the issue. If it's a crash during the staff draft. Save it as "stfcrash" perhaps.
3. Reload mygame01. And you can keep playing.

This sequence gives you a stored savegame if Jim comes back later and needs to see it, but lets you continue your career.

Crash information needs to be very, very specific in many cases. The game has been out for a few days and there are almost no crash reports. It's therefore very likely that a crash you may have is specific to certain situations, configurations, etc. That said, some people have reported multiple crashes. Based on my experience (I've beta tested a fair number of text sims and I worked full-time in software quality assurance for a few years,) I'd say that the odds are extremely high that the crashes people are experiencing are related to their environment (operating system, version, other software running concurrently, Windows settings, etc.) and/or a specific order of operations in FOF7 that causes the crash.

tl;dr version of my crash story below: Make sure you include EVERYTHING you did in FOF7 before the crash happened: how many seasons, what stages you were in, etc. Just saying "it crashed when I tried to sim a full season," probably isn't going to be helpful. Tons of people are simming full seasons without crashes. There's more causing the crash than that.

Long version of crash story in spoiler tags

I'll give an example of a crash that existed in FOF2K7 that was "order of operations" related: for the longest time, I couldn't figure out why allocation drafts would crash in SP in FOF2K7. I never could get it to crash twice in a row, but from time to time, maybe 5-15% of the allocation drafts I ran, it would crash right after the draft. It turned out that the crash was THIS specific:

1. Have a game open that is in a free agency period.
2. Start a new game with an allocation draft.
3. When draft was over, game would crash.

Yes, it would only crash if you had an open game in free agency prior to starting a new league with a draft. (You could be in the regular season and then run a new draft, and no problem.) This problem existed for YEARS. I was unable to reproduce it reliably, because, of course, after it happened, I was going straight to the new game/allocation draft setup...crash didn't happen unless you went to allocation after FA. And since Jim was also trying to reproduce it by going straight to the allocation draft, he couldn't do it either. It took a very long time for it to dawn on me that there was more to the order of operations than "start FOF. Run allocation draft." Once it did, it turned out to be a very easy fix for Jim. The problem was that I wasn't reporting the entire order of operations because it never occurred to me that the game I had open before starting the new game could have had anything to do with it. Turned out that it had everything to do with it.



I will periodically update the second post in this thread and delete others to keep it cleaned up.

Ben E Lou
12-14-2013, 09:41 AM
CRASHES

(RedDoby) Simmed ahead to 2029-2030 season (wanted to create 20 years of history). Each time I tried to end this 2029-2030 season the game crashed. Now I am locked out of the game because my trial ended. Windows Vista 64 bit
BUGS

When a free agent contract is offered to a defensive player, potential affinities with the QB show up in the affinity/conflict popup message.
Started a fictional league with a preference draft and no Long Snapper was drafted by my team. It looks like all the AI teams got one though.
It appears that export_data doesn't work (although the game reports it does) if you change the name of a single-player savegame via "Save as a different name." It also seems that the leaguedata\{leaguename} folder is created upon new league creation and only new league creation, which might explain this?...a permission thing maybe?
When playing a single player game with the multi-player window open, the "coach handle depth chart" and "staff automatically signs player to fill roster" are not working properly. (It appears that the game uses the opposite of the settings you have selected.)
When switching between universes with different city and nickname files, the load dialogue isn't showing the correct nickname. It is showing the "old" nickname. In other words, in the WOOF, teamid#1 is the Camargue Flamingos. When I move from the WOOF to open a league with default cities where I am team 1, it asks me to load the "Flamingos" rather than "Raptors" or "Falcons."
When a player holds out and neither ends his holdout nor is re-signed by his team, he remains on their roster after he should have become a free agent.
In player_record.csv there are three columns called S_3D_First_Downs. They appear to mean different things and ought to have different names out of the box.
When exporting a past season, player_season_yyyy.csv has columns misplaced. (They are moved to the right.) In other words, if you are in 2021 and have not exported the 2013-2020 seasons, when exporting 2013-2020, columns get moved over to the right after the first line.
Just seen a bug - my QB was knocked out with a serious knee injury on a play where we lost a fumble, but came back to throw the next pass of the following drive before being replaced...

3-4-BUF41 (1Q: 11:40) Matt Moore pass completed to FB Jorvorskie Lane for 2 yards. Tackled by S Jonathan Meeks. The ball was fumbled and recovered by BUF Stephon Gilmore on the BUF39. Miami's Matt Moore was hurt on the play. This appears to be a serious knee injury.
1-10-BUF39 (1Q: 11:32) E.J. Manuel pass completed to WR T.J. Graham for 20 yards. Tackled by S Chris Clemons, assisted by CB Will Davis. Graham gained 16 yards after the catch. The quarterback threw away from the double coverage.
1-10-MIA41 (1Q: 10:47) E.J. Manuel pass completed to WR Steve Johnson for 3 yards. Tackled by OLB Koa Misi, assisted by DE Cameron Wake.
2-7-MIA38 (1Q: 10:21) Fred Jackson ran inside the right tackle for 10 yards. Tackled by S Chris Clemons. Key block delivered by Keith Williams.
1-10-MIA28 (1Q: 09:40) C.J. Spiller ran around the left tackle for 3 yards. Tackled by DE Cameron Wake, assisted by DE Red Bryant. OLB Koa Misi knocked down Doug Legursky to break up the play.
2-7-MIA25 (1Q: 09:05) E.J. Manuel pass fell incomplete, intended for TE Virgil Green. S Kenny Phillips defended the pass. PENALTY: Buffalo was called for Illegal Motion.
2-12-MIA30 (1Q: 09:00) E.J. Manuel pass completed to WR Kevin Elliott for -1 yards. Tackled by OLB Koa Misi.
3-13-MIA31 (1Q: 08:34) E.J. Manuel pass completed to WR T.J. Graham for 12 yards. Tackled by OLB Koa Misi. The receiver ran his route right over the middle of the field. The quarterback threw away from the double coverage.
4-1-MIA19 (1Q: 08:10) Dan Carpenter attempted a 36 yard field goal and succeeded. Buffalo 3, Miami 0
(1Q: 08:02) Dan Carpenter kicked off 74 yards from the BUF35. Touchback.
1-10-MIA20 (1Q: 08:02) Matt Moore pass completed to WR Marlon Moore for 5 yards. The receiver went out of bounds. Tackled by S Jairus Byrd.
2-5-MIA25 (1Q: 07:35) David Carr pass completed to WR Mike Wallace for 3 yards. Tackled by ILB Kavell Conner. Wallace gained 6 yards after the catch.
I started a thread on it here: Problem with the trade deadline - Front Office Football Central (http://www.operationsports.com/fofc/showthread.php?t=88093) Apparently there are some issues with the trade deadline not functioning. {more detail from another post}: Trade Deadline expires after Week 5 of the regular season. Once you get to Week 6, trading is not available any longer.
Offered a QB a two year contract but was told the second year of his contract must meet the league min for 5th-7th year vets while he is only on his 2nd season so my offer would cover years 3-4. END-HALF LOGIC

Offensive team possibly too aggressive in very late tie-game situations: "Conventional wisdom is I believe most teams would play for overtime than go for the 80 yard hail mary. Might be an over correction of the end of half logic where teams did not go for the hail mary."4Q: (00:11) Connor Barth kicked off 73 yards from the KCY35. Touchback.
Green Bay: Strong formation, strength is right. The defense is in a 34 and 2-deep bump-and-run coverage, expecting the run.
1-10-GBY20 (4Q: 00:11) Aaron Rodgers pass fell incomplete, intended for WR Terrell Sinkfield. DE Red Bryant hurried the quarterback into a bad throw.
Green Bay: Weak formation with three wide receivers, strength is right. The defense is in a 34 and 2-deep bump-and-run coverage, expecting the run.
2-10-GBY20 (4Q: 00:01) Aaron Rodgers pass was intended for WR Terrell Sinkfield and was intercepted by CB Brandon Flowers at the KCY26. The interception was returned 74 yards for a TOUCHDOWN! Kansas City 16, Green Bay 10
(4Q: 00:01) Extra point by Connor Barth was good. Kansas City 17, Green Bay 10
Final Score: Kansas City Chiefs 17, Green Bay Packers 10
Tampa Bay turns the ball over on downs, San Francisco is up 35-28 with 45 seconds left. Tampa has two timeouts. San Francisco's first playcall is a pass that falls incomplete. Tampa Bay gets to field a punt and attempt a Hail Mary because of it. Two runs instead to burn the Tampa timeouts would lead to Victory Formation on 3rd down and a win.http://i62.photobucket.com/albums/h102/fantasybandit/FOFTry2.jpg
Issue with time-out usage after change of possession late in the half.I had that issue with the timeout after a change of possession again. Here's the relevant portion of the game log. Score is 30-15 Jets:

1-10-HOU20 (4Q: 03:02) Carson Tilly pass completed to WR Alan Bonner for 23 yards. Tackled by S Jared Orta. Bonner gained 12 yards after the catch.

1-10-HOU43 (4Q: 02:50) Carson Tilly pass fell incomplete, intended for WR DeAndre Hopkins. DT Geno Atkins drove right through Gene Ward to hurry the quarterback. The quarterback threw away from the double coverage. PENALTY: Houston was called for Illegal Use of the Hands.

1-20-HOU33 (4Q: 02:33) Carson Tilly sacked by DT Marshall Colombo for a loss of 5 yards. Sack allowed by Duane Brown. The ball was fumbled and recovered by NJY Sheldon Richardson for 8 yards to the HOU20.

Houston called a time out.

1-10-HOU20 (4Q: 02:17) Tommy Bohanon ran inside the left guard for 0 yards. Tackled by S Zack Gunn. The defense looked very familiar with that play. PENALTY: New Jersey was called for Offensive Holding.
1-20-HOU30 (4Q: 02:10) Marc McElroy ran inside the left guard for 2 yards. Tackled by ILB Rob Cagle, assisted by DT Darnell Tracy.
Houston called a time out.
2-18-HOU28 (4Q: 02:04) Junior Wilson pass completed to WR Howard Cobb for 14 yards. Tackled by CB Kareem Jackson, assisted by S Freddie Kotler. The receiver ran his route right over the middle of the field.
Official time out for the two-minute warning.
3-4-HOU14 (4Q: 01:58) Junior Wilson pass completed to WR Howard Cobb for 3 yards. The receiver went out of bounds. Tackled by CB Brandon Harris.
4-1-HOU11 (4Q: 01:53) Marc McElroy ran inside the left guard for 1 yard. Tackled by DE Joe Hughes. Key block delivered by Tommy Bohanon.
Houston called a time out.
1-10-HOU10 (4Q: 01:44) Junior Wilson dropped to one knee for -2 yards.
2-12-HOU12 (4Q: 01:36) Junior Wilson dropped to one knee for -1 yards.
3-13-HOU13 (4Q: 00:47) Junior Wilson dropped to one knee for -1 yards.
Final Score: New Jersey Jets 30, Houston Texans 15[/spoiler][spoiler]I might have discovered the cause of this. It seems like the clock is improperly working after a timeout after first down after a turnover. Take a look at this game log, from a couple of games later. Jets are down 28-21 late in the 4th:

2-20-NED44 (4Q: 02:00) Junior Wilson pass was blocked at the line, intended for WR Howard Cobb. DT Raymond Leska blocked the pass. The quarterback threw into double coverage.
3-20-NED44 (4Q: 01:52) PENALTY: New Jersey was called for a False Start.
3-25-NED49 (4Q: 01:52) Junior Wilson pass fell incomplete, intended for WR Norbert Gray. DT Phillip Taylor hurried the quarterback into a bad throw. The quarterback threw into double coverage.
4-25-NED49 (4Q: 01:40) Junior Wilson sacked by DT Mel Turnbull for a loss of 11 yards. Sack allowed by Mel McLaughlin. The ball goes over on downs.
1-10-NJY40 (4Q: 01:23) Roy Murphy ran inside the left tackle for 1 yard. Tackled by DE Sheldon Richardson.
New Jersey called a time out.
2-9-NJY39 (4Q: 00:44) Mike Glennon sacked by DT Geno Atkins for a loss of 4 yards. Sack allowed by Sebastian Vollmer.
New Jersey called a time out.
3-13-NJY43 (4Q: 00:37) Vick Ballard ran around right end for 2 yards. Tackled by DT Geno Atkins.
New Jersey called a time out.
4-11-NJY41 (4Q: 00:31) Brandon Clayton punted 41 yards. Touchback.
1-10-NJY20 (4Q: 00:25) Junior Wilson pass completed to RB Marc McElroy for 14 yards. Tackled by CB Carlton Finley, assisted by S Shawn Williams. McElroy gained 9 yards after the catch.
1-10-NJY34 (4Q: 00:19) Junior Wilson pass was dropped by WR Kenyon Farr. The quarterback threw into double coverage.
Final Score: New England Patriots 28, New Jersey Jets 21

Now, I used my timeouts above as I imagine a real team would. The clock should stop with the turnover, and then after my first timeout. As you can see above, though, the time seems to work fine after the turnover. The 11 yard sack play to turn the ball over on downs seems to take 17 seconds, as the next play is run at 1:23, 17 seconds after the previous play. Then I call timeout. However, the second down play is run with 44 seconds remaining. That means that a 1 yard run took 39 seconds off the clock (or about what would have been taken off the clock if I hadn't called timeout.) Perhaps the AI is aware of this mistake with the clock and is thus calling timeout before first down so that 40 seconds don't run off the clock after first down, even with a timeout being called?
Not sure if Mike Sherman being dumb is coded into the game or not, but this is either a bug or a really bad dice roll that led to a fireably-poor play call at the end of the 4th:

Miami up by 6, Cincinnati just used their last TO and we're 3rd & 6 on their 15 with 1:00 to go. Without doubt the call is to either:
run the ball to either kick the FG and leave 20 secs left for two scores or get a 1st down and take a knee for the win
Or just take a knee a kick the FG for the win, or leave 20secs for a game winning TD from their 20-25 if we miss, with no TOs

You can guess what happened!Cincinnati called a time out.
3-9-CIN39 (4Q: 02:22) Arian Foster ran inside the left tackle for 0 yards. Tackled by OLB James Harrison. The defense looked very familiar with that play. The ball was fumbled and recovered by CIN DE Margus Hunt to the CIN39.
1-10-CIN39 (4Q: 02:15) Andy Dalton pass completed to FB Marcel Reece for -4 yards. Tackled by CB Chris Culliver, assisted by CB Cortez Allen.
Official time out for the two-minute warning.
2-14-CIN35 (4Q: 02:00) Andy Dalton sacked by OLB Jon Beason for a loss of 16 yards. Sack allowed by Kyle Cook.
3-30-CIN19 (4Q: 01:36) Andy Dalton pass fell incomplete, intended for WR Cobi Hamilton. CB Jamar Taylor defended the pass.
4-30-CIN19 (4Q: 01:30) Andy Dalton pass fell incomplete, intended for WR A.J. Green. DE Cameron Wake hurried the quarterback into a bad throw. The quarterback threw away from the double coverage. The ball goes over on downs.
1-10-CIN19 (4Q: 01:20) Arian Foster ran inside the left tackle for 3 yards. Tackled by ILB David Harris, assisted by DT Isaac Gallier.
Cincinnati called a time out.
2-7-CIN16 (4Q: 01:10) Myron Lynch ran outside the right tackle for 1 yard. Tackled by DE Justin Tuck.
Cincinnati called a time out.
3-6-CIN15 (4Q: 01:00) Ryan Tannehill pass was intended for WR Mike Wallace and was intercepted by S Reggie Nelson at the CIN02. The interception was returned 98 yards for a TOUCHDOWN! Miami 20, Cincinnati 20
(4Q: 01:00) Extra point by Mike Nugent was good. Cincinnati 21, Miami 20 AI

A lingering issue I think Jim might want to look at is updating the AI roster building logic for OLBs on 3-4 teams.

FOF's AI has always favored moving a team's best OLB to SLB, which in the past made perfect sense because the WLB always came off the field in nickel/dime, making it a devalued position in FOF.

Subsequently, however, the game was changed to make the WLB in a 3-4 defense a full-time pass rusher, but the AI roster building logic was not updated to recognize the newfound importance of the position.

You can see this in the transactions when starting a new league or during training camps, for example. The first thing the 3-4 teams typically do is adjust their rosters by moving their best linebackers to SLB, as if WLB was still a devalued position in a 4-3 defense.
4-10-TEN40 (4Q: 06:26) Bryan Anger punted 40 yards. Touchback. PENALTY: Jacksonville was called for an Ineligible Man Downfield on the Punt.

4-15-TEN45 (4Q: 06:21) Bryan Anger punted 44 yards. The ball was downed at the TEN01.

Is this a bug? Wouldn't the receiving team decline a penalty in this situation?
Another issue here. I've attached a screenshot.

I'm the Jets, 3rd and 11 from the Miami 24. I complete a pass for 16 yards, then my receiver fumbles and the ball is recovered by Miami. However, Miami is called for Illegal Use of Hands on the play. All fine so far.

However, as you can see, my penalty options are to accept the penalty, giving the ball to Miami at their own 19 or to decline the penalty, somehow keeping the ball at the Miami 8. As far as I can tell, the options should be New Jersey ball, first and 10 from the Miami 18 or Miami ball, 1st and 10 from their own 8.

Note: I declined the penalty because of what it said and it seems like the penalty behaved properly. I declined the penalty and Miami took over from their own 8. It seems it's a text issue, but a very confusing one, as while accepting the penalty is obviously the real life move, the game says that the opposite is true.
<fieldset class="fieldset"> <legend>Attached Images</legend> http://www.operationsports.com/fofc/attachment.php?attachmentid=4913&stc=1&d=1387154999
</fieldset> MISC ISSUES/TWEAKS/QUIRKS

Please check AI frequency of going for it on 4th down. "I'm seeing a lot of teams going for it on 4th and short. Just played Kansas City and they went for a 4th and 1 on their own 36 with 3:50 left in the 2nd half. I've seen a number of these in two seasons."
TD passes are too low. In 5 of the last 10 NFL seasons, the league leader has had 40 or more, 4 times the leader had 45 or more, and in all 10 seasons the leader has had 31 or more. In a decade of a long-term sim in FOF, in 5 of the 10 seasons, the leader has under 30 TD passes, and in a 100-season sim, the record is 40 TD passes in a season, which was only achieved twice in 100 seasons. This is with all default settings, injuries=100.
When a position leader becomes an unrestricted free agent, his chemistry impact is still shown on the team. Ideally, we would like the ability to "cut" players who are free agents so we can remove all ties to the team and see who will become the new leader.
The player ratings export only contains future potential for individual bars, not current. In order to show bars on web sites, current ratings are needed also.
When the AI is set to handle the depth chart, the game will sim without the roster being legal. (Not sure if this is intentional to help move things along in SP, or a bug.)
31 seconds ran off clock for one pass play.Houston: Single-Back formation, strength is left. The defense is in a 34 with dime personnel and 2-deep man-to-man coverage, keying aggressively on the pass. Houston and Thiel are blitzing.
4-25-HOU12 (4Q: 00:36) Matt Schaub pass completed to WR DeAndre Hopkins for 88 yards and a TOUCHDOWN! Hopkins gained 52 yards after the catch. Houston 20, Kansas City 16
(4Q: 00:36) Extra point by Jake Rivers was good. Houston 21, Kansas City 16
(4Q: 00:05) Jake Rivers kicked off 48 yards from the HOU35. Ellis Turner returned the ball 29 yards to the KCY46. Tackled by Morris Bradley. Ball was fumbled and recovered by KCY Joseph Fauria on the KCY46. PENALTY: Houston was called for Offsides on the Kickoff. The penalty was declined.
Final Score: Houston Texans 21, Kansas City Chiefs 16

Ben E Lou
12-14-2013, 04:55 PM
CLEANUP COMMENTS

--You can no longer put an injured QB in the depth chart. That's a design decision for this version.
--Ant, your issue was posted a couple of days. Ran some targeted tests and pinpointed it. "When the AI is set to handle the depth chart, the game will sim without the roster being legal. (Not sure if this is intentional to help move things along in SP, or a bug.)"

Solecismic
12-15-2013, 10:51 AM
I'm trying to get ViaTech to look into a potential issue with the demo crashing.

There's code built into the game to intentionally crash it later if ViaTech detects a hacking attempt. The idea being it's a lot harder to reverse-engineer code to hack it if the data is corrupted in such a way that it crashes at some point after the corruption took place. Rather than simply exiting at that time and saying "you can't do this."

This should never take place unless you're somehow changing the executable code (and I don't think res-hack fits that category - at least it hasn't in the past and I see no reason to believe that's changed). It's only intended to make life difficult for people who really are trying to hack the game.

I think, from the reports I've seen (and I wish I had something with an XP-style crash report that contains an offset in the 0x002----- or 0x006----- range to confirm this), that the 2 or 3 crashes I've heard about fall into that category. It's also possible this only occurs on one operating system.

I hope to hear more from ViaTech in the near future.

Antmeister
01-09-2014, 09:50 AM
This may just fall under the category of cosmetic issue, but I am showing the following error when signing this player to a contract. It does not display the stage in which he wants to sign:
https://dl.dropboxusercontent.com/u/4356992/stage_sign.jpg


Player card:
https://dl.dropboxusercontent.com/u/4356992/player_card.jpg

Antmeister
01-09-2014, 10:38 AM
Okay the above player did sign at stage 11 of Free Agency 1. Went back to stage 10 save to see if there were any other players that wanted to sign at that stage but did not find any. So not sure if this is just a display issue for a player on stage 11.

AlexB
01-09-2014, 01:03 PM
Okay the above player did sign at stage 11 of Free Agency 1. Went back to stage 10 save to see if there were any other players that wanted to sign at that stage but did not find any. So not sure if this is just a display issue for a player on stage 11.

Is he on the Grey Sheet? Think only the top FAs specify a stage, so if not on the Grey Sheet, no timescale

If he was on that list, i've got nothing

Antmeister
01-09-2014, 02:24 PM
Is he on the Grey Sheet? Think only the top FAs specify a stage, so if not on the Grey Sheet, no timescale

If he was on that list, i've got nothing


Good call.....yes he is on the grey sheet and it does show stage 11. However I also discovered there are a couple of other players that also wanted to sign by that stage as well. There data shows however. So it looking like this is just a cosmetic issue. The last name is so long that is most likely pushed the number out of the visible field.

Solecismic
01-09-2014, 08:38 PM
Yes, that's it. Nice to have a fix that takes ten seconds to make.

Important: I need to know when someone reports anything to do with logic of late-half playcalling whether this game is being simulated with the scoreboard on or off.

While it's the same engine (no differences whatsoever in simulation), time remaining is often reported differently in the log.

Solecismic
01-10-2014, 01:01 AM
Tampa Bay turns the ball over on downs, San Francisco is up 35-28 with 45 seconds left. Tampa has two timeouts. San Francisco's first playcall is a pass that falls incomplete. Tampa Bay gets to field a punt and attempt a Hail Mary because of it. Two runs instead to burn the Tampa timeouts would lead to Victory Formation on 3rd down and a win.

Would the person who reported this verify that his clock-draining offensive setting is more than 0?

Solecismic
01-10-2014, 01:44 AM
I might have discovered the cause of this. It seems like the clock is improperly working after a timeout after first down after a turnover. Take a look at this game log, from a couple of games later. Jets are down 28-21 late in the 4th:

To the person who reported this: is this when you are running off of the scoreboard or not?

Maple Leafs
01-13-2014, 09:44 PM
I built a new stadium, but on the "franchise value" page my Stadium is listed as the worst in the league, at 8/100.

I vaguely remember this issue from previous versions, although I could be imagining that.

Masked
01-18-2014, 03:03 PM
I run the game on a laptop. A few days ago, I ran the game plugged into an external monitor with a high resolution and repositioned the in-game windows. Next time I tried to run the game without the external monitor on the lower resolution laptop screen (which meets the games requirements) and several of the smaller in-game windows were opening off the screen (where I had positioned them with the external monitor). I couldn't find anyway to reposition them, so I couldn't play the game until I could plug back into the external monitor.

Ben E Lou
01-22-2014, 04:49 PM
Bump/unstick/close.