Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


jumper

KernelEx 4.5 Core Updates (4.5.2016.17)

Recommended Posts

XnConvert crash here too when adding files to it:

XNCONVERT caused an invalid page fault inmodule XNCONVERT.EXE at 0177:004e1e46.Registers:EAX=00000001 CS=0177 EIP=004e1e46 EFLGS=00210206EBX=00000000 SS=017f ESP=00b7c9fc EBP=00000002ECX=00b7ca0c DS=017f ESI=00000002 FS=860fEDX=833e28f0 ES=017f EDI=7fbd0000 GS=0000Bytes at CS:EIP:8b 10 8b 52 48 8d 4c 24 18 51 50 ff d2 8b 44 24 Stack dump:01daf000 01daf01c 00000060 01d75ec0 00000001 00000001 833f2db4 00000016 7d009e33 00b90680 00009e2e 000003e3 40000177 01800000 018a6000 01800000 

Share this post


Link to post
Share on other sites

@ Jumper. I have done some more testing on the hang/freeze issue of SeaMonkey (ZIP) 2.7. and 2.7.2 !!

Just unzipped they run absolutely fine but as soon as I change anything in the settings - especially in the tabbed browsing section - these hangs occur !!

I think that settings of apps which are ignored/have no effect could be a big problem down the road.

Quite bad in this regard is also MPC-HC. It just ignores e.g. external filters, etc.

(This crashes the whole OS on, luckily only, one of my PCs. Only fix seem to be to deactivate the internal filter H264/AVC (FFmpeg) but then I have only audio because external filters are ignored !!)

Edited by MiKl

Share this post


Link to post
Share on other sites

R8 will have api logging so we can begin tracking down many of these pesky issues. I'm using the apihook code with some improvements to make it easy to use.

@Drugwash -- use threading settings from 4.5.2 if you need to. We are ignoring standard libraries and providing our own crt code. The .text warnings are because I .merged sections and used dosstub.exe for size in VC5 on those. Jusr remove the .merge and .stub linker options.

Share this post


Link to post
Share on other sites

For now I disabled multithreading for sheet and vxd, just as it was in 4.5.2.

Honestly I wasn't sure what that dosstub was for. I just ignored the warnings.

I'm also unsure whether size or speed should be the priority in KernelEx's modules.

 

I've uploaded the full sources for R3 and R5 to my repository. Hopefully we get to common ground sometime soon. I'm using VC6-SP6.

 

On another note, seeing the attempts at running XnConvert above, I've tried it myself. On the test machine, with both R3 and R5, it fails with various errors, including the ones mentioned above by loblo and others. However, on my main machine with KernelEx 4.5.2 (official), I got it to run correctly and add files without crashing. That's vague, I know, but it may help somehow.

 

EDIT: readded screenshot here

Edited by Drugwash

Share this post


Link to post
Share on other sites

wow did someone just say they tested ie8?

 

that would be pretty awsome

 

... Damit what's wrong with the site... It wont load in IE6, crashes Firefox and now I can hardly type using ie on windows phone 8.1...

 

anyway, on topic.

what ever happened to kex 4.6? Are you not going to be adding those things to this?

 

addmitadly, they needed far more.yesting than laylok game them but they were a good way forward.

 

what we really need for kex is a per version (win 2k, xp etc version not kex version) dependency addition. Some decencies are required for nt app but crash 9x apps.

 

trev

Share this post


Link to post
Share on other sites

I had to revert kexbasen to original dll as I can't use Gimp properly anymore with the updated one.

 

PSPI.exe systematically crashes on enumerating  photoshop plugins during Gimp startup:

PSPI caused an invalid page fault inmodule MULTIHISTOGRAMEQUALIZATION.8BF at 0177:00a08ae9.Registers:EAX=00521000 CS=0177 EIP=00a08ae9 EFLGS=00210216EBX=00000000 SS=017f ESP=0074f894 EBP=00000002ECX=833a587c DS=017f ESI=00520fe4 FS=5cdfEDX=833a57a0 ES=017f EDI=bfa462a1 GS=0000Bytes at CS:EIP:66 39 18 75 f9 03 c5 66 39 18 75 f2 8b 3d 84 e0 Stack dump:00000000 00008bb8 0074f948 00a00000 833a57a0 833a57a0 00a05b74 00000094 00000004 0000005a 045a0bb8 00000001 646e6957 2073776f bf00454d 00a00000 

Once Gimp is loaded, every plugin I try to use crashes such as:

UFRAW-GIMP caused an invalid page fault inmodule MSVCRT.DLL at 0177:7c00ef24.Registers:EAX=00000000 CS=0177 EIP=7c00ef24 EFLGS=00010212EBX=0000000b SS=017f ESP=00e54db4 EBP=00e54de4ECX=00e7b980 DS=017f ESI=00000000 FS=5f6fEDX=8384003d ES=017f EDI=0000000b GS=5f7eBytes at CS:EIP:8b 06 85 c0 75 d4 8b c6 2b 05 c0 95 04 7c 5e c1 Stack dump:00000000 7c00f06e 00e7b930 00e7b930 00000000 00e7b8f0 7c003773 0000000b ffffffff 00000000 00000000 00000000 00e54e38 7c02624f 00e7b930 00000001 **********************************************************************SCRIPT-FU caused an invalid page fault inmodule MSVCRT.DLL at 0177:7c00ef24.Registers:EAX=00000000 CS=0177 EIP=7c00ef24 EFLGS=00010212EBX=0000000b SS=017f ESP=0076fac4 EBP=0076faf4ECX=00cb76b0 DS=017f ESI=00000000 FS=478fEDX=8384003d ES=017f EDI=0000000b GS=5bceBytes at CS:EIP:8b 06 85 c0 75 d4 8b c6 2b 05 c0 95 04 7c 5e c1 Stack dump:00000000 7c00f06e 00cb7660 00cb7660 00000000 00cb75b0 7c003773 0000000b ffffffff 00000000 00000000 00000000 0076fb48 7c02624f 00cb7660 00000001 

With all files updated except kexbasen I have none of those crashes.

Edited by loblo

Share this post


Link to post
Share on other sites

I installed 4.5.2015.7 and everything seemed to be fine initially, but I then found that my e-mail program (Eudora 7.1.0.9) was apparently not closing down properly, although it seemed to be working normally in every other respect.

Immediately after Eudora apparently closed, the system was freezing solid.

Disabling the KernelEx extensions on eudora.exe fixed the problem.

One to watch out for, as this could presumably potentially happen with other programs too!

:)

Edited by Dave-H

Share this post


Link to post
Share on other sites

Release.8.7z

KernelEx v4.5.2015.8 is nearly finally ready. The XnConvert issue turned out to be very easy to find (using ProcWin) and fix (SHGetImageList needed to not exist or return E_NOTIMPL).

There are three different codes for "Not Implemented"--SHGetImageList was returning the wrong one. I have now defined three new constants in common.h to make picking the right one easier. I have also reviewed the return codes for all new and most existing stubs (except Advapi32) and updated many of them. See tentative change log below.

The v4.5.2015.9 changes are what I backed out to get to a more stable release. Between 1/24 and 2/28 I was learning the ApiHook interface (very powerful!) and working on improving the performance of the ApiLog/DebugWindow tool to make it usable without rebooting.

KernelEx v4.5.2015.9 by jumper [TENTATIVE]2015-01-24Kexbases update: Kernel32:CreateProcessW_fix now chains to CreateProcessA_fixKexbasen new: Ntdll: 70 apis forwarded to Advapi32, 11 to Kernel32Ntdll: 5 new failure stubs: NtCreateProfile, NtOpenFile, NtQueryInformationProcess, NtQueryInformationThread, NtQuerySystemInformationKexbasen forwards: Oleaut32:442/RegisterTypeLibForUser, 443/UnRegisterTypeLibForUser => *RegisterTypeLibMore delay-load improvements---------------------------------------KernelEx v4.5.2015.8 by jumper2015-03-06  Increased ALLOC_CAPACITY in apiconfmgr.cpp and apilib.cpp from 10 to 162015-03-05common\common.h #define ERROR_NI             120L #define HRESULT_NI    0x80004001L #define STATUS_NI     0xC0000002L #define seUNIMPL_FUNC(name,params,err)Kexbasen\winspool\_winspool_stubs.c rsUNIMPL_FUNC(GetPrinterDataExA, ERROR_NI, 7); rsUNIMPL_FUNC(GetPrinterDataExW, ERROR_NI, 7); rsUNIMPL_FUNC(SetPrinterDataExA, ERROR_NI, 6); rsUNIMPL_FUNC(SetPrinterDataExW, ERROR_NI, 6);Kexbases\gdi32\_gdi32_stubs.c rsUNIMPL_FUNC(SetDCBrushColor, CLR_INVALID, 2); rsUNIMPL_FUNC(SetDCPenColor,   CLR_INVALID, 2); rsUNIMPL_FUNC(GetDCBrushColor, CLR_INVALID, 1); rsUNIMPL_FUNC(GetDCPenColor,   CLR_INVALID, 1);Kexbases\kernel32\_kernel32_stubs.c seUNIMPL_FUNC(SetDllDirectoryA, 1, ERROR_NI); seUNIMPL_FUNC(SetDllDirectoryW, 1, ERROR_NI);Kexbases\shell32\_shell32_stubs.c seUNIMPL_FUNC(SHCreateShellItem, 4, ERROR_NI); rsUNIMPL_FUNC(SHOpenFolderAndSelectItems, HRESULT_NI, 4);Kexbases\user32\_user32_stubs.c seUNIMPL_FUNC(SetLayeredWindowAttributes, 4, ERROR_NI);2015-02-28Kexbases stubs: Shell32:727/SHGetImageList now correctly returns E_NOTIMPLKexbasen stubs: Oleaut32:442/RegisterTypeLibForUser, 443/UnRegisterTypeLibForUser now correctly return E_NOTIMPLCore: ApiHook enabled new shared buffers: hConsole, bLogFileNow working: XnConvert needed SHGetImageList to not exist or return E_NOTIMPL---------------------------------------KernelEx v4.5.2015.7 by jumper2015-01-22Kexbases bugfix: Kernel32:CreateProcessA (fix)---------------------------------------KernelEx v4.5.2015.6 by jumper, Xeno86, Tihiy2015-01-20New installer for partial updates: InstallDLLs.pif (and helper file x.bat)Copied from 4.5.3beta (master) into apilibs\kexbases\kernel32\ : unikernel32.c, process.c, thread.c apilibs\kexbases\user32\   : desktop.cpp, desktop.h common\ : listhead.h, kexcoresdk.h, kstructs.h core\   : internals.cpp, internals.hRemoved / merged into thread.c: CreateFiberEx.c, CreateThread_fix.c, OpenThread.cRemoved / merged into process.c: ExitProcess_fix.c, GetProcessId.c, IsWow64Process.c, RemoteDesktop.cKexbases: Kernel32:CreateProcessA (fix) Kernel32:CreateProcessAsUserA (new) Kernel32:CreateProcessW (new, replaces forward to unicows) Kernel32:CreateRemoteThread (new)---------------------------------------KernelEx v4.5.2015.5 by jumper2015-01-17Kexbasen new: Ntdll:<77 crt apis> forwarded to Msvcrt, +one other---------------------------------------KernelEx v4.5.2015.4 by jumper2015-01-14Resources: simplified version.h-based update methodPrep: FORWARD_TO support, better ordinal support, output cosmeticsKexcrt: debug messages upon NULL pointer to StrCpy()Kexbasen new: Gdi32:GdiAlphaBlend=>Msimg32:AlphaBlend Gdi32:GdiGradientFill=>Msimg32:GradientFill Gdi32:GdiTransparentBlt=>Msimg32:TransparentBltKexbases stubs: Kernel32:HeapQueryInformation=z5e ;Msvcr100 Ntdll:vDbgPrintExWithPrefix=t5 ;ReactOS 2014-06-11Now working without Kexstubs: Qupzilla 1.1.5 Slimboat 1.1.50 (with QtWebKit4 4.7.4 from Qupzilla 1.1.5) about 19 ReactOS DLLs---------------------------------------KernelEx v4.5.2015.3 by jumper2015-01-06kexcrt: StrCpy tweakKexbasen: FORWARD_TOKexbases stubs: Kernel32:*ActCtx*	;See Kexstubs topic Kernel32:*SList*	;Msvcr100---------------------------------------KernelEx v4.5.2 by jumper2014-12-27Resources: updated all product and file versions and resource languageskexcrt: fixed level3 warnings, 64-bit returns no longer truncated to 32-bitsKexbasen: DLL delay loading standardized for simplicity and robustness---------------------------------------KernelEx v4.5.1 by jumper2014-12-19Resources: updated product and file versionsKexbasen: added Oleaut32 templateKexbasen stubs: Oleaut32:442/RegisterTypeLibForUser, 443/UnRegisterTypeLibForUserKexbases fixes: Kernel32:VirtualProtect - don't let GCC apps disable write accessKexbases stubs: Shell32:727/SHGetImageList---------------------------------------KernelEx v4.5.0 by jumper2014-12-15rebuild of official 4.5.2 source---------------------------------------
Edited by jumper

Share this post


Link to post
Share on other sites

Please get to a usable, stable version soon so I can compile and share it. Today I had a fight with an adult ostrich and he won. I'm still alive but next time I may not be that lucky.

No, I'm not kidding (this time).

  • Upvote 1

Share this post


Link to post
Share on other sites

Every gimp plugin still crashes in msvcrt with the latest kexbasen.dll.

 

Is there something the end user can do with apihook?

Share this post


Link to post
Share on other sites

I tested gimp-2.8.14-setup.exe and was unable to reproduce the previously reported problems (most of the reported files do no exist). Please use ImportPatcher40 to check the problem gimp files with "Test by loading" disabled. Then compare that missing api list to ChangeLog.7 (or .8) and Ktree results in core.ini->kexbasen to find potential sources of the problem.

Checking "Use API Hook" in an app's KernelEx properties causes Kernelex.dll to look for a plug-in named ApiHook.dll. That plug-in and a debug console to go with it is almost ready. There is no performance penalty if "Use API Hook" is not checked or ApiHook.dll is not found, and will be almost none when api logging (filtered to console or raw to file) is disabled in the debug console (can be enabled/disabled on-the-fly!).

Edit by jumper, 28 March 2015 - 07:36 AM.:

ApiHook.8.7z

Put apihook.dll in KernelEx folder. Rename DebugWindow.exe to KexApiLog.exe (to match the icon) if you like and run from anywhere to begin api monitoring. Right-click in window for options. Try setting filter to Include:"7d00" to see just apis implemented in kexbasen.

Edit by jumper, 30 March 2015 - 03:23 PM.:

Disable KernelEx extensions on these two files!

Edited by jumper

Share this post


Link to post
Share on other sites

I use a customized and upxed Gimp 2.8.10 with lots of extra plugins and theming engines and should have taken care to post crash logs for plugins that are also in the stock version, sorry about that. Thing is that many .exe (most) plugins crash in msvcrt with the new kexbasen.dll regardless of Gimp version (I installed stock 2.8.14 yesterday for testing) or msvcrt version/substitute.

Checking an executable plugin copied to the bin dir (so it has all its dependencies) with Import Patcher with "test by loading" disabled and "walk dependencies " enabled yields nothing that's newly implemented or modified.

When profiling Gimp with Dependency Walker, all I get when trying to execute a plugin is that there is an access violation in msvcrt at the same address reported in faultlog.txt.

Can you load a jpg file in Gimp 2.8.14 ? Can you apply a gaussian blur (under filters/blur/gaussian blur)?

Since Gimp plugins are exe files I would have thought that perhaps there was another bug in the new CreateProcess functions but those are in kexbases.dll.

Nonetheless I also tried to use original kexbases and all other updated and unexpectedly (after gccfixing all Gimp files) no plugin at all get enumerated during Gimp startup (which consists into briefly loading them). I also could not run Akelpad by double clicking on a text file under that configuration. I have Akelpad replacing notepad  so the mechanism in which the notepad.exe stub in windir invoking akelpad doesn't work. All this to say that it seems there is more to the new CreateProcess functions than what is in the new kexbases.dll since all this works fine with all original KernelEx files and that the problem may well lie around that.

Edited by loblo

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...