View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002796 | Spring engine | General | public | 2011-11-29 13:01 | 2012-06-16 14:09 |
| Reporter | Google_Frog | Assigned To | abma | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | resolved | Resolution | fixed | ||
| Product Version | 85.0 | ||||
| Target Version | 86.0 | Fixed in Version | 89.0 | ||
| Summary | 0002796: infolog.txt is buffered and not written instantly | ||||
| Description | This is really annoying for game development and there is no alternate solution in place (opening and writing your own file with lua is not a good solution). It can be limited instead of removed, you could add a springsetting to toggle no buffering and the old behaviour. | ||||
| Tags | No tags attached. | ||||
| Attached Files | |||||
| Checked infolog.txt for Errors | |||||
|
|
stop making duplicates |
|
|
Reporters cannot reopen tickets they did not create. |
|
|
Nor should they. You can take it up personally with the devs who decided on this change, cloning a closed report won't help. |
|
|
It's not just making duplicates if this is the only way for me to cause an open ticket on the subject. "You can take it up personally with the devs who decided on this change, cloning a closed report won't help." Then what is the ticket system for? Every time someone finds a bug or bad behaviour you're saying they should just track down the exact commit that caused it and take it up personally with whichever dev committed the change. Unless there is a significant difference between this ticket and others. This is a ticket system, I presume many devs read it. Don't close a ticket because it has no direct relevance to you. |
|
|
"Unless there is a significant difference between this ticket and others." Correct. The difference is that the pros and cons of infolog buffering were discussed in several meetings before it was decided to be changed. It is a well-considered feature for which all the usual arguments including yours have been reviewed and weighed, not a bug or regression we did not previously know about and decided not to fix. "This is a ticket system, I presume many devs read it. Don't close a ticket because it has no direct relevance to you." If I close a ticket, you can be pretty sure another dev would have done the same, especially those involved with this change. Hence my suggestion to take things up personally. |
|
|
There is no single clear proponent of the buffering behaviour to take it up personally with. If there is one and I just have not recognised it I am using the ticket system to contact them. |
|
|
Couldn't it be an option, toggleable (for example) by a console command? Or something like /flushinfologbuffernow Or a variable in springsettinsg like instantInfologWriting = true/false Sorry if that was asked before, but I did not find a post on that. Here infolog flushing is discussed but the use of infolog for game/lua makers did not come up: http://springrts.com/phpbb/viewtopic.php?f=73&t=26893&p=501915&hilit=infolog#p501915 |
|
|
I'd also like to see an option, if at all possible. |
|
|
Google you can hack it to make it work, redirect stdout to file spring.exe > out.txt Then its instant! |
|
|
with this commit: https://github.com/spring/spring/commit/2322f6a39ba088d4fe2c104be473b76859c33132 flushing should now work pretty much as before the switch to the new logging system, for release builds. (debug builds did flush more in the past; after each log record) i do not know if the current locations where flushing is done is correct. i guess zerver and jk will correct it if they see fit. |
|
|
Is it at all possible to make Spring write hang information to infolog more reliably? Currently if you get a hang and kill the process, the hang information is lost. This makes it very difficult to debug, particularly if the person experiencing problems is some random end user. |
|
|
Btw if you redirect output and process it, it seems to slow down spring, it outputs it on primary thread? (Processing output with something slow slows spring!) |
|
|
>with this commit: >https://github.com/spring/spring/commit/2322f6a39ba088d4fe2c104be473b76859c33132 >flushing should now work pretty much as before the switch to the new logging >system, for release builds. is it possible to get an .exe with that change? When my game crashes, the infolog is mostly incomplete and I have no idea what to do. > spring.exe > out.txt This does not (always) work btw, eg here the out.txt was cut off as well: http://springrts.com/mantis/view.php?id=2887 |
|
|
seems to not work well with stacktraces, see 0002903 |
|
|
https://github.com/spring/spring/commit/a77a20affdbeb912203b8047f0f871e6bf1e0637 |
|
|
Not working in 85.0.1-44-gceed8a0. |
|
|
the buffering is fine, only bad/worse is, that stacktraces are cut off. do you have an example for a stacktrace cut-off? |
|
|
No I have an infolog that cuts off at [f=0000000] LuaUI v0.3 [f=0000000] Finalizing |
|
|
are you on windows 7? maybe we are affected by this "feature": http://social.msdn.microsoft.com/forums/en-us/vcgeneral/thread/0BE93860-9D3F-4133-B981-0B507BB61D73 "Try changing the open flags from "wb" to "wbc" and see if that has some effect - it does for me." see http://msdn.microsoft.com/de-de/library/yeby3zcb%28v=vs.80%29.aspx "c Enable the commit flag for the associated filename so that the contents of the file buffer are written directly to disk if either fflush or _flushall is called. " |
|
|
@Google_Frog: can you please attach that whole infolog.txt please? |
|
|
"are you on windows 7?" Yes |
|
|
infolog_midgame is the contents around frame 1803. infolog_midgame is the contents around frame 4280. infolog_end is the contents upon spring exit. |
|
|
since this is on "feedback": spring 88.0 and this is not solved. infolog is not only incomplete on crash but also on /luarules reload (same as in 83 or 85 or when the change was made) 1) directing stdout to file like spring.exe > out.txt does not work (tried on win xp and vista, output is cut off still) 2) write to a file with widget: fails on /luaui reload (since the log widget also gets reloaded) and for the stuff that happens before widget (eg *post.lua) >Couldn't it be an option, toggleable (for example) by a console command? >Or something like /flushinfologbuffernow >Or a variable in springsettinsg like instantInfologWriting = true/false please? It would keep the "130 mb of infolog do not slow everything down" thing but also allow modders to debug their stuff. (When you want to see infolog, type /flushinfologbuffernow) |
|
|
"/flushinfologbuffernow" Wouldn't work. Sometimes crashes cut off infolog so there is no time to manually flush. "instantInfologWriting " This should default to true so we can get good bug reports of the above case. |
|
|
i've added a LogFlush config setting (disabled as default): https://github.com/spring/spring/commit/32a62424bc8a98b1ecaf59193352e5e088b1cad8 so everybody is hopefully happy now :) |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2011-11-29 13:01 | Google_Frog | New Issue | |
| 2011-11-29 13:10 | Kloot | Relationship added | has duplicate 0002718 |
| 2011-11-29 13:10 | Kloot | Note Added: 0007765 | |
| 2011-11-29 13:10 | Kloot | Status | new => closed |
| 2011-11-29 13:10 | Kloot | Resolution | open => won't fix |
| 2011-11-29 14:05 | Google_Frog | Note Added: 0007768 | |
| 2011-11-29 14:05 | Google_Frog | Status | closed => feedback |
| 2011-11-29 14:05 | Google_Frog | Resolution | won't fix => reopened |
| 2011-11-29 14:18 | Kloot | Note Added: 0007770 | |
| 2011-11-29 14:18 | Kloot | Status | feedback => closed |
| 2011-11-29 14:18 | Kloot | Resolution | reopened => duplicate |
| 2011-11-29 14:53 | Google_Frog | Note Added: 0007772 | |
| 2011-11-29 14:53 | Google_Frog | Status | closed => feedback |
| 2011-11-29 14:53 | Google_Frog | Resolution | duplicate => reopened |
| 2011-11-29 15:13 | Kloot | Note Added: 0007773 | |
| 2011-11-29 15:13 | Kloot | Status | feedback => closed |
| 2011-11-29 15:13 | Kloot | Resolution | reopened => duplicate |
| 2011-11-30 07:44 | Google_Frog | Note Added: 0007776 | |
| 2011-11-30 07:44 | Google_Frog | Status | closed => feedback |
| 2011-11-30 07:44 | Google_Frog | Resolution | duplicate => reopened |
| 2011-11-30 15:15 |
|
Note Added: 0007777 | |
| 2011-11-30 23:16 | FLOZi | Note Added: 0007781 | |
| 2011-12-01 23:21 | Licho | Note Added: 0007788 | |
| 2011-12-03 21:27 | hoijui | Target Version | => 85.0 |
| 2011-12-07 21:29 | hoijui | Status | feedback => assigned |
| 2011-12-07 21:29 | hoijui | Assigned To | => hoijui |
| 2011-12-09 00:02 | hoijui | Note Added: 0007846 | |
| 2012-01-02 07:43 | KingRaptor | Note Added: 0008051 | |
| 2012-01-02 12:01 | Licho | Note Added: 0008052 | |
| 2012-01-06 19:07 |
|
Note Added: 0008090 | |
| 2012-01-07 12:17 | abma | Note Added: 0008093 | |
| 2012-01-07 12:24 | abma | Product Version | 84.0 => 85.0 |
| 2012-01-08 16:42 | abma | Relationship added | related to 0002903 |
| 2012-01-09 23:07 | abma | Target Version | 85.0 => 86.0 |
| 2012-01-10 00:23 | zerver | Note Added: 0008119 | |
| 2012-01-10 00:23 | zerver | Status | assigned => resolved |
| 2012-01-10 00:23 | zerver | Fixed in Version | => 85.0.1 |
| 2012-01-10 00:23 | zerver | Resolution | reopened => fixed |
| 2012-01-12 11:15 | Google_Frog | Note Added: 0008135 | |
| 2012-01-12 11:15 | Google_Frog | Status | resolved => feedback |
| 2012-01-12 11:15 | Google_Frog | Resolution | fixed => reopened |
| 2012-01-12 15:17 | abma | Note Added: 0008138 | |
| 2012-01-12 16:39 | abma | Note Edited: 0008138 | |
| 2012-01-12 16:40 | abma | Note Edited: 0008138 | |
| 2012-01-12 16:40 | abma | Note Edited: 0008138 | |
| 2012-01-15 01:27 | Google_Frog | Note Added: 0008152 | |
| 2012-01-15 02:30 | abma | Note Added: 0008153 | |
| 2012-01-15 02:36 | abma | Note Edited: 0008153 | |
| 2012-01-15 02:38 | abma | Note Edited: 0008153 | |
| 2012-01-15 09:23 | abma | Note Added: 0008154 | |
| 2012-01-15 13:54 | Google_Frog | Note Added: 0008155 | |
| 2012-01-17 12:20 | Google_Frog | File Added: infolog_midgame.txt | |
| 2012-01-17 12:20 | Google_Frog | File Added: infolog_midgame2.txt | |
| 2012-01-17 12:20 | Google_Frog | File Added: infolog_end.txt | |
| 2012-01-17 12:22 | Google_Frog | Note Added: 0008175 | |
| 2012-02-06 14:05 | hoijui | Assigned To | hoijui => |
| 2012-06-14 20:26 |
|
Note Added: 0008780 | |
| 2012-06-14 20:29 | Google_Frog | Note Added: 0008781 | |
| 2012-06-16 14:09 | abma | Note Added: 0008787 | |
| 2012-06-16 14:09 | abma | Status | feedback => resolved |
| 2012-06-16 14:09 | abma | Fixed in Version | 85.0.1 => 89.0 |
| 2012-06-16 14:09 | abma | Resolution | reopened => fixed |
| 2012-06-16 14:09 | abma | Assigned To | => abma |
| 2012-06-16 14:10 | abma | Note Edited: 0008787 | |
| 2012-06-16 14:10 | abma | Note Edited: 0008787 |