Jump to content
rodrigofd

MEMORY ISSUE... Not solved but a hope at the end of the tunnel !

Recommended Posts

Man this memory leak is the biggest pain in the ass. Now we got nice stable ROMs (including custom made ones) but we still can't get rid of this. It has written a huge FAIL all over it courtesy of Samsung :| Every day I have to shutdown my phone before going to sleep, then alarm powers it back on. It works but it shouldn't be like this!

Thanks for all your efforts Wes and Rodrigo, really appreciate it. I just hope you will manage to solve this one way or the other.

Share this post


Link to post
Share on other sites

Here is some more information (technical) from Microsoft about Customizing Memory - during image build process:

Configuring System Memory

The amount of RAM allocated to the kernel for an operating system (OS) use can be configured in four different areas:

Config.bib Customization

MainMemoryEndAddress Customization

OEMGetExtensionDRAM Customization

pNKEnumExtensionDRAM Customization

In each case, the memory identified requires that the physical-to-virtual mapping tables be initialized so that the kernel can implement the

proper support to use the memory.

In the x86 and ARM families, you must set up the proper entries in OEMAddressTable to identify your RAM regions.

You should create RAM entries for the largest possible amount of RAM that would be present on the device. This helps avoid the need to change

the OEM adaptation layer (OAL) if you add more memory.

Config.bib Customization

The Config.bib file is the first place to declare how much memory will be made available to the kernel. A single entry is required and should indicate the default amount of RAM that is possible for the device.

MainMemoryEndAddress Customization

The MainMemoryEndAddress kernel variable is the only mechanism that allows you to extend the size of the contiguous RAM section specified in the Config.bib file.

During the boot process, the kernel sets the value of MainMemoryEndAddress to the value stored in the table of contents ulRAMEnd. During

OEMInit, you can detect the existence of additional contiguous RAM and reset the MainMemoryEndAddress value to indicate that there is more

contiguous RAM available.

The value of ulRAMEnd is based on the RAM section of the Config.bib file and what effect other flags have on Romimage.exe. For example, the

AUTOSIZE flag can use more or less memory than specified by the RAMIMAGE section and therefore affect the RAM size.

Share this post


Link to post
Share on other sites

And one more, and last, test that I have done:

1. Change ulRAMEND from 0x88000000 to 0x88020000 - (expected increase in memory 128kB) result: phone boots, gets to Windows splash screen, after the first beep it locks.

2. Change ulRAMEND from 0x88000000 to 0x88200000 - (expected increase in memory 2MB) result: phone gets to the first screen with OMNIA II logo (doesn't get to Samsung splash screen) and it locks.

3. Change ulRAMEND from 0x88000000 to 0x86000000 - result: phone boots OK. More reserved memory and less program memory. After memory dump -> memory between 0x86000000 and 0x88000000 is not written to. From address 0x88000000 memory written to by processes and similar values as with original ulRAMEND settings at 0x88000000.

Share this post


Link to post
Share on other sites
And one more, and last, test that I have done:

1. Change ulRAMEND from 0x88000000 to 0x88020000 - (expected increase in memory 128kB) result: phone boots, gets to Windows splash screen, after the first beep it locks.

2. Change ulRAMEND from 0x88000000 to 0x88200000 - (expected increase in memory 2MB) result: phone gets to the first screen with OMNIA II logo (doesn't get to Samsung splash screen) and it locks.

3. Change ulRAMEND from 0x88000000 to 0x86000000 - result: phone boots OK. More reserved memory and less program memory. After memory dump -> memory between 0x86000000 and 0x88000000 is not written to. From address 0x88000000 memory written to by processes and similar values as with original ulRAMEND settings at 0x88000000.

why not try ulRAMSTART?

Share this post


Link to post
Share on other sites
why not try ulRAMSTART?

You can't, because before ulRAMSTART xip files and are. Below is part from the map.txt file that shows you this part.

807325b0 - 807395b0 L00007000 filedata mxip_lang.vol

807395b0 - 8073fa36 L00006486 filedata sysroots.p7b

8073fa38 - 8074105a L00001622 filedata f924d38b-0419-deaa-f151-ed8f0d511a07.dsm

8074105c - 8074105c L00000000 End: highest physical address

8074105c - 80742000 L00000fa4 NUL

80742000 - 80742000 L00000000 Start: start of RAM   <- ulRAMSTART

80742000 - 80743000 L00001000 initialized data of region_1 hd.dll

80743000 - 80747000 L00004000 initialized data of region_1 osaxst0.dll

80747000 - 80748000 L00001000 initialized data of region_1 giisr.dll

80748000 - 80750000 L00008000 NUL

80750000 - 80756000 L00006000 uninitialized data of region_1 nk.exe

80756000 - 80925000 L001cf000 initialized data of region_2 nk.exe

80925000 - 80925000 L00000000 ------ start of RAM free space

80925000 - 88000000 L076db000 NUL    <- size of free ram

88000000 - 88000000 L00000000 End: end of RAM   <- ulRAMEND

Share this post


Link to post
Share on other sites

someone got a reply from samsung and samsung said theres 64mb reserved for the radio. 140mb(which we have now) + 64mb(reserved for radio)=204MB ram, which is the exact same amount of ram showing available on my other devices that have 256mb ram ,like the htc touch pro. the rest of the ram is reserved for the OS.

Share this post


Link to post
Share on other sites
someone got a reply from samsung and samsung said theres 64mb reserved for the radio. 140mb(which we have now) + 64mb(reserved for radio)=204MB ram, which is the exact same amount of ram showing available on my other devices that have 256mb ram ,like the htc touch pro. the rest of the ram is reserved for the OS.

64MB for radio is way too much but it's possible if we consider it is the crappy programmers work ;)

64MB RAM can boot up a windows 98 happily and I don't see 64MB is needed for handling voice and video considering the voice is still using GSM codec and video is using standard 3G which lower resolution than a cheapest webcam available. Samsung is giving crappy reason again :)

Share this post


Link to post
Share on other sites

There is now an additional 5MB free RAM for JA5.

Maybe one of the sifu here can do a compare between JA1 and JA5. You may be able to identify where the difference is and hopefully be able to increase that change. :)

- just a thought -

Share this post


Link to post
Share on other sites
There is now an additional 5MB free RAM for JA5.

Maybe one of the sifu here can do a compare between JA1 and JA5. You may be able to identify where the difference is and hopefully be able to increase that change. :)

- just a thought -

it got simply the newest framework, so theplus of memory is coming from there

Share this post


Link to post
Share on other sites
i never got to really low ram for my apps to start closing. i multitask all the time. opera mini+music player or fm radio + messenger + aim + smsing + pdf or word docs .

Hi touchflo

which ROM are you using? cooked or original?

I'm a user like you, i do music, messenger, sms, browsing, camera, etc. but at the end of one day apps start to closing.

Also, I have bugs with music. Randomly, WMP or Samsung TouchPlayer PAUSES, with no reason. I does it at least 3 times when I start playing music.

Share this post


Link to post
Share on other sites
some one said flash the eboot part from JA5 will have less reservied memory. so, i think the eboot is controlling how much memory reserved.

Is it possible to flash just the eboot of the JA5 ROM to a custom ROM such as rodrigo's ULTRALITE ROM based on the IL5 release of secany? Also I am still using the default CSC and pfone part of the official IJ9 ROM from my region.

I'm just a bit cautious because it has always been mentioned that the eboot is the part you don't mess with since this may permanently brick the device.

Thanks in advance.

Share this post


Link to post
Share on other sites

Concerning PagePool - you after all know, what it is supervised e-boot? Now there is a patch which allows to be unhooked from this control and to establish PP standard means. As consequence, reduction of the size of PP increases the size accessible RAM (as it is observed in last firmware JA5)

Share this post


Link to post
Share on other sites
i guess we can do a binary diff on both JA1 and JA5 eboot files to see what make the different to increase in the available memory

There is binary diff in all versions of Eboot. ;) The different on both JA1 and JA5, is reduced PP on JA5 (15Mb). As for other reserved space, we think, that it need by Octans, to temporary copy image of OS in it (or something like this). As a proof - when we are flashing PDA, octans write in log: "Writing image to RAM", and then, checksum is verify. (So, if we are free all reserved memory, we can't flash by Octans any more?)

Edited by ANGEL_666

Share this post


Link to post
Share on other sites

I think the most important is not to free up RAM, but to be able to use those available without gettings apps closed.

I never had that much ram before in my WM devices, but none of them started closing apps before it actually ran out of memory (means 0, not 10 not 40)

Share this post


Link to post
Share on other sites
I think the most important is not to free up RAM, but to be able to use those available without gettings apps closed.

I never had that much ram before in my WM devices, but none of them started closing apps before it actually ran out of memory (means 0, not 10 not 40)

That's true... Actually, during my usual cooking, i know there are two Samsung processes/services which i havent' discover exactly what are they for: Launch DLLs, and Screen Capture. They run automatically on startup.

I do know for ex., Launch DLLs is some kind of background process that monitors several system things, and reacts upon them.. in some situations displays a typical omnia2-styled message box (like when you 'changed system colors.. reboot to fully apply them') .. etc.

Also, i am 99% sure it is responsible of the 'X button close app' behavior. If i remove them from ROM, some unexpected behavior happens.

But it is very possible that any of this two, might be responsible for app. closure ... perhaps anyone has more info on this..

Share this post


Link to post
Share on other sites
That's true... Actually, during my usual cooking, i know there are two Samsung processes/services which i havent' discover exactly what are they for: Launch DLLs, and Screen Capture. They run automatically on startup.

I do know for ex., Launch DLLs is some kind of background process that monitors several system things, and reacts upon them.. in some situations displays a typical omnia2-styled message box (like when you 'changed system colors.. reboot to fully apply them') .. etc.

Also, i am 99% sure it is responsible of the 'X button close app' behavior. If i remove them from ROM, some unexpected behavior happens.

But it is very possible that any of this two, might be responsible for app. closure ... perhaps anyone has more info on this..

I guess that ScreenCapture.exe is responsible to show screenshots on Task Switcher. Also, I have killed it and everything runs as before.

BTW, still have apps closing, even with much memory available (20-30mb free).

Share this post


Link to post
Share on other sites
That's true... Actually, during my usual cooking, i know there are two Samsung processes/services which i havent' discover exactly what are they for: Launch DLLs, and Screen Capture. They run automatically on startup.

I do know for ex., Launch DLLs is some kind of background process that monitors several system things, and reacts upon them.. in some situations displays a typical omnia2-styled message box (like when you 'changed system colors.. reboot to fully apply them') .. etc.

Also, i am 99% sure it is responsible of the 'X button close app' behavior. If i remove them from ROM, some unexpected behavior happens.

But it is very possible that any of this two, might be responsible for app. closure ... perhaps anyone has more info on this..

Hi

Maybe ScreenCapture.lnk is for Task Switcher, without it there is no picture inside rectangle windows in Task Switcher

Regards

repeted reply, sorry

Edited by pajaa

Share this post


Link to post
Share on other sites
That's true... Actually, during my usual cooking, i know there are two Samsung processes/services which i havent' discover exactly what are they for: Launch DLLs, and Screen Capture. They run automatically on startup.

I do know for ex., Launch DLLs is some kind of background process that monitors several system things, and reacts upon them.. in some situations displays a typical omnia2-styled message box (like when you 'changed system colors.. reboot to fully apply them') .. etc.

Also, i am 99% sure it is responsible of the 'X button close app' behavior. If i remove them from ROM, some unexpected behavior happens.

But it is very possible that any of this two, might be responsible for app. closure ... perhaps anyone has more info on this..

A similar screen capture process was running on my Samsung Innov8(Symbian) phone. :D

Share this post


Link to post
Share on other sites

I'm running WinMo 6.1 and there's nothing like screencapture in Startupservices or running services..

Edited by ratsbane

Share this post


Link to post
Share on other sites
That's true... Actually, during my usual cooking, i know there are two Samsung processes/services which i havent' discover exactly what are they for: Launch DLLs, and Screen Capture. They run automatically on startup.

I do know for ex., Launch DLLs is some kind of background process that monitors several system things, and reacts upon them.. in some situations displays a typical omnia2-styled message box (like when you 'changed system colors.. reboot to fully apply them') .. etc.

Also, i am 99% sure it is responsible of the 'X button close app' behavior. If i remove them from ROM, some unexpected behavior happens.

But it is very possible that any of this two, might be responsible for app. closure ... perhaps anyone has more info on this..

Rodrigo I think the autoclose issue is partially solved take a look at this post. There are still some side effects but not bad for now. The best solution is to hack the TaskMon.dll to a lower memory threshold as said in the post 113. For now anyway it is still necessary to create as said in the post a cab to automatize all the neccessary changes to get rid of the autoclosing problem. I don't know very well mortscript so I can't create directly the cab anyone can help?

in addition anyone have news how patch the nk.exe to unlock the pagepool change?

Edited by kibiwi

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.   Paste as plain text instead

  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.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.