2025-07-31 03:10 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0005434Spring engineGeneralpublic2019-07-14 21:41
ReporterGoogle_Frog 
Assigned ToKloot 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
Product Version103.0 +git 
Target VersionFixed in Version103.0 +git 
Summary0005434: 103.0.1-519-g91b0000 win64 cannot take screenshots
DescriptionScreenshots saved with 64 bit windows Spring are not saved to my computer. The commands appears to work ingame and I receive the message "Saved: screenshots/screen00156.jpg" (and similar for png). No combination of jpg/png and windowed/borderless/fullscreen works.

If I have no 'screenshots' folder then taking a screenshot causes this folder to be created. The folder is empty.

The issue occurs in 103.0.1-298-gaf1edb1, 103.0.1-134-g819e5b4, 103.0 and 102.0. The only prior win64 build seems to be 101.0 and it crashes when run.
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

-Relationships
related to 0006244resolved Something is wrong with making screenshots on x64 builds 
+Relationships

-Notes

~0017103

Google_Frog (reporter)

Confusing wording, first sentence should say "Screenshots taken with 64 bit windows Spring are not saved to my computer".

~0017104

Kloot (developer)

what permissions does the folder have after creation?

~0017106

Google_Frog (reporter)

Full read and write permissions. Initially I tested by starting Spring via a chobby using either a 32 bit or 64 bit spring version. This means that screenshots are output to the same folder. The 64 bit version didn't output any screenshots.

~0017109

Kloot (developer)

Last edited: 2017-01-22 15:05

View 3 revisions

I added some logging in 75295a77, but my suspicion is OS interference with 64-bit native apps.

~0017110

Kloot (developer)

[CBitmap::Save] saved{=0} "screenshots/screen00331.jpg" to "C:\Users\Tim\Documents\My Games\Spring Dev\Chobby\Chobbyla\engine\103.0.1-521-g75295a7\screenshots\screen00331.jpg"

the {=0} part means ilSaveImage failed, more logging in 4fddd357.

~0017118

Kloot (developer)

[CBitmap::Save] error 0x509 saving "screenshots/screen00331.jpg" to "C:\Users\Tim\Documents\My Games\Spring Dev\Chobby\Chobbyla\engine\103.0.1-523-g2d14479\screenshots\screen00331.jpg"

0x509 maps to IL_INVALID_PARAM.

looking in the libIL source, ilSaveImage returns this when

1) filename is NULL (not applicable)
2) ilStrLen(filename) is 0 (should not be applicable)
3) filename does not contain an extension string like ".jpg" (should not be applicable either)

I'll have to create a small test program to determine what's failing here.

~0017123

hokomoko (developer)

There's a small possibility that it's some error with mingwlibs.
I'll try to compile a new version and verify the headers are correct.

~0017130

Google_Frog (reporter)

103.0.1-529-gb68830c has the same error code and no screenshot written.

~0017133

Kloot (developer)

Last edited: 2017-01-25 21:20

View 2 revisions

what does e0ae0c52d9 output for you?

NB: due to an oversight this one must be run from the command prompt, type "spring.exe > log.txt" and then attach log.txt after exiting.

~0017134

abma (administrator)

from log.txt:

[f=0000287] [CBitmap::Save] error 0x509 saving "screenshots/screen00347.jpg" to "C:\Users\Tim\Documents\My Games\Spring Dev\Chobby\Chobbyla\engine\103.0.1-537-ge0ae0c5_64bit\screenshots\screen00347.jpg"
    [ilStrLenDummy] eos=000000004864b331 Str=000000004864b2b8 len=120 (120)
    [ilSaveImageDummy][1] ilStrLenDummy("C:\Users\Tim\Documents\My Games\Spring Dev\Chobby\Chobbyla\engine\103.0.1-537-ge0ae0c5_64bit\screenshots\screen00347.jpg")=120 (120)
    [ilStrLenDummy] eos=000000004864b331 Str=000000004864b2b8 len=120 (120)
    [ilStrLenDummy] eos=000000004864b331 Str=000000004864b2b8 len=120 (120)
    [iGetExtensionDummy][1] FileName="C:\Users\Tim\Documents\My Games\Spring Dev\Chobby\Chobbyla\engine\103.0.1-537-ge0ae0c5_64bit\screenshots\screen00347.jpg" Len=120
    [iGetExtensionDummy][2] PeriodFound=1
    [iGetExtensionDummy][3] Ext=".jpg"
    [ilSaveImageDummy][2] iGetExtensionDummy("C:\Users\Tim\Documents\My Games\Spring Dev\Chobby\Chobbyla\engine\103.0.1-537-ge0ae0c5_64bit\screenshots\screen00347.jpg")="jpg"
[f=0000377] [CBitmap::Save] error 0x509 saving "screenshots/screen00348.png" to "C:\Users\Tim\Documents\My Games\Spring Dev\Chobby\Chobbyla\engine\103.0.1-537-ge0ae0c5_64bit\screenshots\screen00348.png"
    [ilStrLenDummy] eos=0000000048649491 Str=0000000048649418 len=120 (120)
    [ilSaveImageDummy][1] ilStrLenDummy("C:\Users\Tim\Documents\My Games\Spring Dev\Chobby\Chobbyla\engine\103.0.1-537-ge0ae0c5_64bit\screenshots\screen00348.png")=120 (120)
    [ilStrLenDummy] eos=0000000048649491 Str=0000000048649418 len=120 (120)
    [ilStrLenDummy] eos=0000000048649491 Str=0000000048649418 len=120 (120)
    [iGetExtensionDummy][1] FileName="C:\Users\Tim\Documents\My Games\Spring Dev\Chobby\Chobbyla\engine\103.0.1-537-ge0ae0c5_64bit\screenshots\screen00348.png" Len=120
    [iGetExtensionDummy][2] PeriodFound=1
    [iGetExtensionDummy][3] Ext=".png"
    [ilSaveImageDummy][2] iGetExtensionDummy("C:\Users\Tim\Documents\My Games\Spring Dev\Chobby\Chobbyla\engine\103.0.1-537-ge0ae0c5_64bit\screenshots\screen00348.png")="png"

~0017135

abma (administrator)

0x509 = IL_INVALID_PARAM

https://github.com/DentonW/DevIL/blob/d7a5c33776635e92548c8d5494d1c8060318144c/DevIL/include/IL/il.h#L261

~0017136

Kloot (developer)

Last edited: 2017-01-27 16:05

View 2 revisions

I read it, we already established that. evidently the problem is deeper inside libIL, although for some reason strlen("C:\Users\Tim\Documents\My Games\Spring Dev\Chobby\Chobbyla\engine\103.0.1-537-ge0ae0c5_64bit\screenshots\screen00348.png") returned 120 instead of 117.

~0017137

Kloot (developer)

next attempt: 93bc1efd96

~0017155

Google_Frog (reporter)

103.0.1-543-g93bc1ef_64bit does not take screenshots successfully. Whenever I take a screenshot some unusual files are created which I will attach.

~0017156

Kloot (developer)

Last edited: 2017-01-31 15:24

View 4 revisions

O_O

those are the actual screenshots which contain valid data (so the fallbacks work), but with a garbage filename encoding.

"㩃啜敳獲呜浩䑜捯浵湥獴䵜⁹慇敭屳灓楲杮䐠癥䍜潨扢屹桃扯祢慬敜杮湩履〱⸳⸰ⴱ㐵ⴳ㥧戳ㅣ晥㙟戴瑩獜牣敥獮潨獴獜牣敥の㌰ㄵ瀮杮吀潲楰慣⹬畬a" can be renamed to shot.png

"㩃啜敳獲呜浩䑜捯浵湥獴䵜⁹慇敭屳灓楲杮䐠癥䍜潨扢屹桃扯祢慬敜杮湩履〱⸳⸰ⴱ㐵ⴳ㥧戳ㅣ晥㙟戴瑩獜牣敥獮潨獴獜牣敥の㌰㈵樮杰�䨨" can be renamed to shot.jpg

errors 0x50a and 0x50b map to IL_COULD_NOT_OPEN_FILE and IL_INVALID_EXTENSION which doesn't surprise me; it seems the (64-bit) version of libIL on buildbot is unicode-aware.

~0017157

Anonymous (viewer)

Fix 286d44b96d4b7a2dd0f0936cf783de7d4a8c8ff9 committed to develop branch: fix 0005434, repo: spring changeset id: 7866

~0017162

Google_Frog (reporter)

Doesn't work in with 64 bit 103.0.1-560-g286d44b. No strangely named files are created.

~0017165

Kloot (developer)

readded the fallbacks, try 4d5b481e.

~0017167

Kloot (developer)

perma-killed with 670e0d46.

~0017177

Google_Frog (reporter)

Access violation.

~0017183

Kloot (developer)

probably also addressed by 14aa69c13f.

~0017186

Google_Frog (reporter)

Crashes.

~0017194

Kloot (developer)

Last edited: 2017-02-04 13:22

View 2 revisions

then ilSaveF is clearly unsafe on all windows builds.

98a3f5cad3 switches back to ilSave, which may or may not introduce 5450 in win64-land.

~0017201

Kloot (developer)

unless 98a3f5cad3 and up still crash, continue remaining issues in 0005450
+Notes

-Issue History
Date Modified Username Field Change
2017-01-22 03:21 Google_Frog New Issue
2017-01-22 03:22 Google_Frog Note Added: 0017103
2017-01-22 13:11 Kloot Note Added: 0017104
2017-01-22 13:20 Google_Frog Note Added: 0017106
2017-01-22 14:23 Kloot Note Added: 0017109
2017-01-22 14:27 Kloot Note Edited: 0017109 View Revisions
2017-01-22 14:46 Google_Frog File Added: infolog_103.0.1-521-g75295a7.txt
2017-01-22 15:05 Kloot Note Edited: 0017109 View Revisions
2017-01-22 15:59 Kloot Note Added: 0017110
2017-01-22 22:57 Google_Frog File Added: infolog.txt
2017-01-23 15:34 Kloot Note Added: 0017118
2017-01-23 20:05 hokomoko Note Added: 0017123
2017-01-24 01:49 Google_Frog Note Added: 0017130
2017-01-25 20:49 Kloot Note Added: 0017133
2017-01-25 21:20 Kloot Note Edited: 0017133 View Revisions
2017-01-26 04:27 Google_Frog File Added: log.txt
2017-01-27 14:56 abma Note Added: 0017134
2017-01-27 15:06 abma Note Added: 0017135
2017-01-27 15:49 Kloot Note Added: 0017136
2017-01-27 16:05 Kloot Note Edited: 0017136 View Revisions
2017-01-27 20:54 Kloot Note Added: 0017137
2017-01-29 16:21 Kloot Status new => feedback
2017-01-31 14:42 Google_Frog File Added: infolog-2.txt
2017-01-31 14:42 Google_Frog Note Added: 0017155
2017-01-31 14:42 Google_Frog Status feedback => new
2017-01-31 14:42 Google_Frog File Added: 㩃啜敳獲呜浩䑜捯浵湥獴䵜⁹慇敭屳灓楲杮䐠癥䍜潨扢屹桃扯祢慬敜杮湩履〱⸳⸰ⴱ㐵ⴳ㥧戳ㅣ晥㙟戴瑩獜牣敥獮潨獴獜牣敥の㌰ㄵ瀮杮吀潲楰慣⹬畬a
2017-01-31 14:43 Google_Frog File Added: 㩃啜敳獲呜浩䑜捯浵湥獴䵜⁹慇敭屳灓楲杮䐠癥䍜潨扢屹桃扯祢慬敜杮湩履〱⸳⸰ⴱ㐵ⴳ㥧戳ㅣ晥㙟戴瑩獜牣敥獮潨獴獜牣敥の㌰㈵樮杰�䨨
2017-01-31 15:02 Kloot Note Added: 0017156
2017-01-31 15:10 Kloot Note Edited: 0017156 View Revisions
2017-01-31 15:14 Kloot Note Edited: 0017156 View Revisions
2017-01-31 15:24 Kloot Note Edited: 0017156 View Revisions
2017-01-31 16:26 Changeset attached => spring develop 286d44b9
2017-01-31 16:26 Anonymous Note Added: 0017157
2017-01-31 16:26 Anonymous Status new => resolved
2017-01-31 16:26 Anonymous Resolution open => fixed
2017-02-01 16:02 Google_Frog Status resolved => feedback
2017-02-01 16:02 Google_Frog Resolution fixed => reopened
2017-02-01 16:02 Google_Frog Note Added: 0017162
2017-02-01 16:03 Google_Frog File Added: infolog 103.0.1-560-g286d44b_64bit.txt
2017-02-01 18:04 Kloot Note Added: 0017165
2017-02-02 02:12 Kloot Assigned To => Kloot
2017-02-02 02:12 Kloot Status feedback => resolved
2017-02-02 02:12 Kloot Resolution reopened => fixed
2017-02-02 02:12 Kloot Fixed in Version => 103.0 +git
2017-02-02 02:12 Kloot Note Added: 0017167
2017-02-03 02:47 Google_Frog Status resolved => feedback
2017-02-03 02:47 Google_Frog Resolution fixed => reopened
2017-02-03 02:47 Google_Frog Note Added: 0017177
2017-02-03 02:47 Google_Frog File Added: infolog 103.0.1-568-g9fc2560_64bit.txt
2017-02-03 12:34 Kloot Note Added: 0017183
2017-02-04 10:53 Google_Frog Note Added: 0017186
2017-02-04 10:53 Google_Frog Status feedback => assigned
2017-02-04 10:53 Google_Frog File Added: infolog 103.0.1-570-gcf3f016_64bit.txt
2017-02-04 13:21 Kloot Note Added: 0017194
2017-02-04 13:22 Kloot Note Edited: 0017194 View Revisions
2017-02-04 15:31 Kloot Status assigned => resolved
2017-02-04 15:31 Kloot Resolution reopened => fixed
2017-02-04 15:31 Kloot Note Added: 0017201
2019-07-14 21:41 Kloot Relationship added related to 0006244
+Issue History