http://bugs.winehq.org/show_bug.cgi?id=36859
Bug ID: 36859 Summary: Missing Shader 'shaders/font.ksh'. Product: Wine Version: 1.7.21 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: erwin.mueller@deventm.org
Created attachment 48952 --> http://bugs.winehq.org/attachment.cgi?id=48952 Wine Log
Try to run Don't Starve 2.4.0 game. Got the following error: wine: Unhandled exception 0x80000003 in thread 9 at address 0x558efc (thread 0009), starting debugger... ERROR: Missing Shader 'shaders/font.ksh'. Assert failure '0' at ..\source\renderlib\OpenGL\HWEffect.cpp(86): Trace follows...
Attached are log and backtrace.
http://bugs.winehq.org/show_bug.cgi?id=36859
--- Comment #1 from Erwin M. erwin.mueller@deventm.org --- Created attachment 48953 --> http://bugs.winehq.org/attachment.cgi?id=48953 Wine Backtrace
https://bugs.winehq.org/show_bug.cgi?id=36859
OvermindDL1 OvermindDL1@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |OvermindDL1@gmail.com
--- Comment #2 from OvermindDL1 OvermindDL1@gmail.com --- Confirmed with the latest Don't Starve Together Beta as well as of this moment, same error. Wine-1.7.32
https://bugs.winehq.org/show_bug.cgi?id=36859
Michal Grňo m93a.cz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |m93a.cz@gmail.com
--- Comment #3 from Michal Grňo m93a.cz@gmail.com --- Created attachment 50469 --> https://bugs.winehq.org/attachment.cgi?id=50469 Playonlinux log
Also present in 64x Linux, in Don't Starve: Together v115992.
https://bugs.winehq.org/show_bug.cgi?id=36859
bibliolytic@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bibliolytic@gmail.com
--- Comment #4 from bibliolytic@gmail.com --- Bump? Sincere apologies, new at this and not sure how to say 'I have this problem too'
https://bugs.winehq.org/show_bug.cgi?id=36859
Felix Yan felixonmars@archlinux.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |felixonmars@archlinux.org
https://bugs.winehq.org/show_bug.cgi?id=36859
panzerito el.panzerito@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |el.panzerito@gmail.com
--- Comment #5 from panzerito el.panzerito@gmail.com --- wine/drive_c/GOG Games/Don't Starve$ mv data/shaders ./~ Run dontstarve.sh with shell-script: $ dontstarve.sh ... ALSA lib pcm_dmix.c:961:(snd_pcm_dmix_open) The dmix plugin supports only playback stream fixme:avrt:AvSetMmThreadCharacteristicsW (L"Audio",0x222e988): stub ERROR: Missing Shader 'shaders/font.ksh'. Assert failure '0' at ..\source\renderlib\OpenGL\HWEffect.cpp(86): Trace follows...
cp shader directory in bin, windows, system32, data/fonts, data/sound, Don't Starve - give the same effect.
For example Dont Starve for linux: dontstarve/bin$ mv ../data/shaders/font.ksh ./ dontstarve/bin$ ./dontstarve.sh ... texture format 0x9273 ERROR: Missing Shader 'shaders/font.ksh'. Assert failure '0' at ../source/renderlib/OpenGL/HWEffect.cpp(86)
Assert failure 'BREAKPT:' at ../source/renderlib/OpenGL/HWEffect.cpp(86)
Without font.ksh moves dontstarve.sh run exactly.
https://bugs.winehq.org/show_bug.cgi?id=36859
--- Comment #6 from panzerito el.panzerito@gmail.com --- s/Run dontstarve.sh with shell-script:/Run dontstarve.exe with shell-script:/
Change path separator, / to \ and get the same behavior: ... ALSA lib pcm_dmix.c:961:(snd_pcm_dmix_open) The dmix plugin supports only playback stream fixme:avrt:AvSetMmThreadCharacteristicsW (L"Audio",0x222e988): stub ERROR: Missing Shader 'shaders\font.ksh'. Assert failure '0' at ..\source\renderlib\OpenGL\HWEffect.cpp(86): Trace follows...
https://bugs.winehq.org/show_bug.cgi?id=36859
--- Comment #7 from panzerito el.panzerito@gmail.com --- Created attachment 53016 --> https://bugs.winehq.org/attachment.cgi?id=53016 wine 1.7.49 log+backtrace
https://bugs.winehq.org/show_bug.cgi?id=36859
Jeremy White jwhite@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jwhite@codeweavers.com
--- Comment #8 from Jeremy White jwhite@codeweavers.com --- This is caused by a GetLongPathName("shaders/font.ksh") call.
Wine returns "shaders\font.ksh" which doesn't compare.
Attached patch fixes it for me. (Got to get my shipwrecked fix in :-)
https://bugs.winehq.org/show_bug.cgi?id=36859
--- Comment #9 from Jeremy White jwhite@codeweavers.com --- Created attachment 53054 --> https://bugs.winehq.org/attachment.cgi?id=53054 Preserves / in GetLongPathName
https://bugs.winehq.org/show_bug.cgi?id=36859
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |kernel32 Summary|Missing Shader |Don't Starve 2.4.0 does not |'shaders/font.ksh'. |start: Missing Shader | |'shaders/font.ksh'.
--- Comment #10 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Jeremy White from comment #8)
Wine returns "shaders\font.ksh" which doesn't compare.
Attached patch fixes it for me. (Got to get my shipwrecked fix in :-)
Seems easy to add a test to kernel32/tests/path.c and submit.
https://bugs.winehq.org/show_bug.cgi?id=36859
Dmitry Timoshkov dmitry@baikal.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #11 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Jeremy White from comment #8)
This is caused by a GetLongPathName("shaders/font.ksh") call.
Wine returns "shaders\font.ksh" which doesn't compare.
Attached patch fixes it for me. (Got to get my shipwrecked fix in :-)
Nice catch. GetShortPathName() uses exactly same chunk of code, and probably also needs to be fixed.
https://bugs.winehq.org/show_bug.cgi?id=36859
--- Comment #12 from Jeremy White jwhite@codeweavers.com --- (In reply to Bruno Jesus from comment #10)
(In reply to Jeremy White from comment #8)
Wine returns "shaders\font.ksh" which doesn't compare.
Attached patch fixes it for me. (Got to get my shipwrecked fix in :-)
Seems easy to add a test to kernel32/tests/path.c and submit.
Yes, that's what the 0001- patch is :-). I'll submit after 1.8 ships, I think it's too high risk for the 1.8 cycle.
https://bugs.winehq.org/show_bug.cgi?id=36859
--- Comment #13 from panzerito el.panzerito@gmail.com --- Created attachment 53058 --> https://bugs.winehq.org/attachment.cgi?id=53058 log+backtraces wine-1.7.49 with GetLongPathName patch
That some error "ERROR: Missing Shader 'shaders/font.ksh'"
https://bugs.winehq.org/show_bug.cgi?id=36859
--- Comment #14 from panzerito el.panzerito@gmail.com --- wine-1.7.49$ diff dlls/kernel32/path.c dlls/kernel32/path.c.orig 336c336 < if (!lp || (tmplongpath[lp-1] != '\' && tmplongpath[lp-1] != '/')) ---
if (!lp || tmplongpath[lp-1] != '\\')
338,339c338,339 < /* strip double delimiters */ < tmplongpath[lp++] = shortpath[sp]; ---
/* strip double "\\" */ tmplongpath[lp++] = '\\';
https://bugs.winehq.org/show_bug.cgi?id=36859
--- Comment #15 from Jeremy White jwhite@codeweavers.com --- Can you pull a +file,+relay trace?
That will be very large, but I won't need most of it. You should find towards the bottom of the log file a sequence that is something like 'OutputDebug...ERROR: Missing Shader 'shaders/font.ksh'". If you can compress and attach the 5,000 lines of the log above that message, including that message, that would be helpful.
You might also try wine 1.8-rc3. And, finally, is this a standalone Don't Starve, or Don't Starve through Steam? (Mine is through Steam).
https://bugs.winehq.org/show_bug.cgi?id=36859
panzerito el.panzerito@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #53058|0 |1 is obsolete| |
--- Comment #16 from panzerito el.panzerito@gmail.com --- Created attachment 53066 --> https://bugs.winehq.org/attachment.cgi?id=53066 +file,+relay wine-1.8-rc3 with with GetLongPathName patch
ERROR: Missing Shader 'shaders/font.ksh'
wine-1.8-rc3$ diff dlls/kernel32/path.c dlls/kernel32/path.c.orig 337c337 < if (!lp || (tmplongpath[lp-1] != '\' && tmplongpath[lp-1] != '/')) ---
if (!lp || tmplongpath[lp-1] != '\\')
339,340c339,340 < /* strip double delimiters */ < tmplongpath[lp++] = shortpath[sp]; ---
/* strip double "\\" */ tmplongpath[lp++] = '\\';
My Don't Starve is GOG's version updated to 151567.
https://bugs.winehq.org/show_bug.cgi?id=36859
--- Comment #17 from Jeremy White jwhite@codeweavers.com --- (In reply to panzerito from comment #16)
Created attachment 53066 [details] +file,+relay wine-1.8-rc3 with with GetLongPathName patch
ERROR: Missing Shader 'shaders/font.ksh'
wine-1.8-rc3$ diff dlls/kernel32/path.c dlls/kernel32/path.c.orig
337c337 < if (!lp || (tmplongpath[lp-1] != '\' && tmplongpath[lp-1] != '/'))
if (!lp || tmplongpath[lp-1] != '\\')
339,340c339,340 < /* strip double delimiters */
< tmplongpath[lp++] = shortpath[sp];
/* strip double "\\" */ tmplongpath[lp++] = '\\';
My Don't Starve is GOG's version updated to 151567.
Sure enough, you have a different failure than I do. It appears to be legitimately not finding the shaders file. It might be worth fiddling with your current directory prior to invoking Wine. That is, cd to the directory that contains the 'shaders' directory, and run Wine from there. (If you go to line 127527 in your log, you'll see that GetLongPathName returns 0, which is essentially a failure. You can see the files it was looking through to give you a hint of where it was trying to find shaders/font.ksh in).
Since I don't have the GOG version, I can't troubleshoot further.
You might also try a clean reinstall of the game from GOG; I noted that you had been moving files around, and is it possible something got accidentally moved and not returned?
https://bugs.winehq.org/show_bug.cgi?id=36859
--- Comment #18 from panzerito el.panzerito@gmail.com --- Created attachment 53068 --> https://bugs.winehq.org/attachment.cgi?id=53068 log+backtrace wine-1.8-rc3 with GetLongPathName patch. Run from data directory
cd "$rootdir/.wine/drive_c/GOG Games/Don't Starve/data" WINEDLLOVERRIDES="msvcp90,d3dx9,d3dx9_43=n,b" "$rootdir/.wine/bin/wine" "$rootdir/.wine/drive_c/GOG Games/Don't Starve/bin/dontstarve.exe"
https://bugs.winehq.org/show_bug.cgi?id=36859
--- Comment #19 from panzerito el.panzerito@gmail.com --- Run ok with WINEDLLOVERRIDES="msvcp90,d3d9,d3dcompiler_43=n,b"
https://bugs.winehq.org/show_bug.cgi?id=36859
--- Comment #20 from panzerito el.panzerito@gmail.com ---
From pure wine-1.8-rc3 with GetLongPathName patch:
wine-portable-1.8-rc3$./winetricks-portable.sh d3dcompiler_43
shell-script: ... cd "$rootdir/.wine/drive_c/GOG Games/Don't Starve/data" WINEDLLOVERRIDES="d3dcompiler_43=n,b" "$rootdir/.wine/bin/wine" "$rootdir/.wine/drive_c/GOG Games/Don't Starve/bin/dontstarve.exe"
Run ok
https://bugs.winehq.org/show_bug.cgi?id=36859
Jeremy White jwhite@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #53054|0 |1 is obsolete| |
--- Comment #21 from Jeremy White jwhite@codeweavers.com --- Created attachment 53143 --> https://bugs.winehq.org/attachment.cgi?id=53143 Patch to correct two issues in GetLongPathNameA
https://bugs.winehq.org/show_bug.cgi?id=36859
--- Comment #22 from Jeremy White jwhite@codeweavers.com --- Running this further, with the Shipwrecked DLC, I uncovered a further issue.
It would issue a GetLongPathNameA(".../SGJellyfish.lua"...). The actual file on the file system is named 'SGjellyfish.lua' and it goes on to claim the file does not exist.
The updated patch addresses that as well. The second part of this patch is not as clearly correct to me; the rubric of strlen <= 12 troubles me. I'll either get advice and then submit after 1.8, or just submit after 1.8, and take my lumps...
https://bugs.winehq.org/show_bug.cgi?id=36859
--- Comment #23 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Jeremy White from comment #22)
The updated patch addresses that as well. The second part of this patch is not as clearly correct to me; the rubric of strlen <= 12 troubles me. I'll either get advice and then submit after 1.8, or just submit after 1.8, and take my lumps...
strlen() <= 12 looks suspicious, for instance "abc.acbdef" would fit into 12 but it's not a 8.3 DOS name. How about using CheckNameLegalDOS8Dot3() or its workhorse RtlIsNameLegalDOS8Dot3() instead?
The second part about casing might be a FindFirstFile() bug, probably it should return the file in using original case (for at least short name).
https://bugs.winehq.org/show_bug.cgi?id=36859
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian@fds-team.de
--- Comment #24 from Sebastian Lackner sebastian@fds-team.de --- Does this issue still exist? I would guess it was fixed by Jeremys series a while ago (http://source.winehq.org/git/wine.git/commit/7dea64279ee9b80a44c2eca9ed72b1c... and previous commits).
https://bugs.winehq.org/show_bug.cgi?id=36859
--- Comment #25 from Felix Yan felixonmars@archlinux.org --- It does not exist here anymore in Wine 1.9.13 (didn't test with all previous versions).
https://bugs.winehq.org/show_bug.cgi?id=36859
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |00cpxxx@gmail.com, | |winetest@luukku.com
--- Comment #26 from winetest@luukku.com --- (In reply to Felix Yan from comment #25)
It does not exist here anymore in Wine 1.9.13 (didn't test with all previous versions).
Since no other feedback and reported fixed. Can we assume fixed? People really should be more active than this to get things marked fixed. Not everyone has the game to test.
https://bugs.winehq.org/show_bug.cgi?id=36859
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |7dea64279ee9b80a44c2eca9ed7 | |2b1ce57f64fe8 Resolution|--- |FIXED Status|NEW |RESOLVED
--- Comment #27 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to winetest from comment #26)
(In reply to Felix Yan from comment #25)
It does not exist here anymore in Wine 1.9.13 (didn't test with all previous versions).
Since no other feedback and reported fixed. Can we assume fixed? People really should be more active than this to get things marked fixed. Not everyone has the game to test.
According to the bug discussion and the commit mentioned I believe it is safe to assume as fixed.
https://bugs.winehq.org/show_bug.cgi?id=36859
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #28 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.9.17.
https://bugs.winehq.org/show_bug.cgi?id=36859
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hugoandre96_sci@hotmail.com
--- Comment #29 from Matteo Bruni matteo.mystral@gmail.com --- *** Bug 39388 has been marked as a duplicate of this bug. ***