FIM: Freeing invalid memory in OCIServerAttach

Hi,
I have the following piece of code for making connection to Oracle server -
retCode = OCIEnvCreate(envHandle, OCI_THREADED, (dvoid *)0, 0, 0, 0, (size_t) 0, (dvoid **)0);
if(retCode == OCI_SUCCESS)
isEnvAllocated = PMTRUE;
retCode = OCIHandleAlloc( (dvoid *) envHandle, (dvoid *) &errhp, OCI_HTYPE_ERROR, (size_t) 0, (dvoid **) 0);
// server contexts
retCode = OCIHandleAlloc( (dvoid *) envHandle, (dvoid *) &srvhp, OCI_HTYPE_SERVER,(size_t) 0, (dvoid **) 0);
retCode = OCIHandleAlloc( (dvoid *) envHandle, (dvoid *) &svchp, OCI_HTYPE_SVCCTX,(size_t) 0, (dvoid **) 0);
pError = checkError(*envHandle, errhp, OCIServerAttach(srvhp, errhp, (ptext *)dbName, strlen(dbName), 0));
Purify is reporting FIM: Freeing invalid memory in LocalFree {1 occurrence} and the stack trace is -
[E] FIM: Freeing invalid memory in LocalFree {1 occurrence}
Address 0x001430f8 points into a HeapAlloc'd block in unallocated region of the default heap
Location of free attempt
LocalFree [KERNEL32.dll]
??? [security.dll ip=0x76e71a7f]
AcquireCredentialsHandleA [security.dll]
naunts5 [orannts8.dll]
naunts [orannts8.dll]
sntseltst [oran8.dll]
naconnect [oran8.dll]
naconnect [oran8.dll]
naconnect [oran8.dll]
nsmore2recv [oran8.dll]
nsmore2recv [oran8.dll]
nscall [oran8.dll]
niotns [oran8.dll]
osncon [oran8.dll]
xaolog [OraClient8.Dll]
xaolog [OraClient8.Dll]
upiah0 [OraClient8.Dll]
kpuatch [OraClient8.Dll]
OCIServerAttach [OraClient8.Dll]
OCIServerAttach [OCI.dll]
Does anyone has idea why it is giving that error.
Also there is a leak associated with it too and the stack trace for that is -
MPK: Potential memory leak of 4140 bytes from 2 blocks allocated in nsbfree
Distribution of potentially leaked blocks
Allocation location
calloc [msvcrt.dll]
nsbfree [oran8.dll]
nsbfree [oran8.dll]
sntseltst [oran8.dll]
sntseltst [oran8.dll]
nsdo [oran8.dll]
nscall [oran8.dll]
nscall [oran8.dll]
niotns [oran8.dll]
osncon [oran8.dll]
xaolog [OraClient8.Dll]
xaolog [OraClient8.Dll]
upiah0 [OraClient8.Dll]
kpuatch [OraClient8.Dll]
OCIServerAttach [OraClient8.Dll]
OCIServerAttach [OCI.dll]
Is it a standard leak that is happening in OCI.dll or it is the usage issue so that it can be solved by using OCIServerAttach in a different way.
Any help in this matter is greatly appreciated.
Thanks
Anil
[email protected]

I believe that both issues are actually the result of false positives. In general, it's not really possible to tell whether C++ code is actually leaking memory or freeing invalid memory handles. Tools like Purify, BoundChecker, etc. will generally give this sort of false positive when the code you're profiling does something 'dangerous'. I believe you can ignore both messages-- at least the Oracle ODBC driver development group did when I was there.
Justin

Similar Messages

  • OS won't boot--invalid memory address message

    10.4.9 running on a G4 867 Dual. System won't boot from internal disk or from Tiger installation CD. I get an error message for an invalid memory address followed by some hex code. The message says I can type "boot-up" but all I get is the little folder icon, then the flashing question mark. If I type "shut-down" this works.
    I've detached all external accessories, disks, etc. I reset the memory chips. Unplugged two of my 4 internal disks. Doesn't help.
    What I was doing before this--running iDefrag on one of my internal disks (not the startup disk), stopped & quit the app partway. Also running SuperDuper backing up yet a third internal disk to my external firewire storage--also stopped & quit partway.
    I inserted my 10.4 installation disk to install a system on an external firewire disk (none of the above, I have a lot of drives) but could not start up from the CD. Started to get the error above. Can't eject CD, either. Bluetooth seems fine as my Apple bluetooth keyboard works.
    Another tidbit--my combo drive may be having problems seeing discs. Some will mount on my iBook but not on the G4 Dual.
    Any ideas?
    G4 Dual 867 Mac OS X (10.4.9) 2 GB RAM

    hey if you actually restrt your mac now where will your mac boot up to does it reach the firmware screen if it does just try typing in
    reset-nvram
    and then
    reset-all
    the mac should restart

  • [32282.000367] firefox:2114 freeing invalid memtype c02f2000-c0302000 I get this from system log using latest version of Firefox: What kind of problem is this?

    I get this from system log using latest version of Firefox:
    [32282.000367] firefox:2114 freeing invalid memtype c02f2000-c0302000
    What kind of problem is this?
    Anyway Firefox seem to be working correct. I would like to be sure that it'snt a security problem.

    Thanks a lot for your swift response. And sorry if it was a bit too hectic to go through my detailed query (which I did because it was misunderstood when I asked previously). As I've mentioned above, I was informed that updating to 5.0.1 would '''require''' me to '''delete''' the current version and then install the new one. And doing so will involve losing all my bookmarks. I guess I should have been more specific and detailed there. By losing, I didn't mean losing them forever. I'm aware that they're secured in some place and deleting and installing the software doesn't harm its existence. What I meant that if I install the new version, I'd have to delete the old one. And after installing the new version, I'd have to transfer them (bookmarks) back from wherever they are. Get it? When it updated from 3.6.9 to 3.6.13, and from 3.6.13 to 3.6.18, I didn't need to follow that process. They were already present on their own.
    BTW, I'm having no problems with 3.6.18 but after learning about the existence of version 5.0.1, I'm a bit too eager to lay my hands over it.
    Thanks for your help; hope this wasn't extremely long.

  • Invalid memory access of location error when exporting for iOS

    I have been recently been asked to convert a flash application for us on the iPad. When I try to publish the .ipa file I end up with the following error:
    Invalid memory access of location 0xceip=0x55492db4
    I have no idea what might cause this and my google search of the error message has come up pretty empty. If I remove the document class and republish it works fine so I know it has something to do with my code but I haven't the slightest idea where to start looking so I was hoping someone else had run into a similar error and could point me in the right direction.
    thanks so much
    -Ryan             

    I managed to figure this out through laborious guess and check. Just thought I would share the bug in case anyone else ever runs into it.
    A third party library I was using wrote try catch statements wrong:
    try{
    catch(Error:*){
    No idea why the original author did it like this, probably meant to write "error:*" and didn't release shift fast enough after the "(" but as you might suspect "Error" is a reserved object name to cannot be declared as a paramenter variable
    when replaced with:
    try{
    catch(error:Error){
    the memory access bug went away. What is strange is that the incorrect try/catch statement works just fine when published to swf, air, or android and is only an issue with the iOS converter, and obviously produces a very cryptic error.
    I was using CS5.5 so maybe this has been fixed (if not I would suggest making this a compile time error) but just thought I would post my findings.

  • Freeing up Memory During CFFILE

    I have a process that generates flat files using CFFILE. The
    process uses a database reference table that feeds the query
    parameters. I have several loops in this process which I thought
    would be more efficient and free up memory after each CFFILE
    "action append" but before execution of the next query. (execute
    query then write all the files, loop to query then write all files,
    etc....)
    Problem is that it is not freeing up memory and I am getting
    java.lang.OutOfMemoryError errors after about 15 minutes of run
    time.
    Current solution is to run this process in batches. This
    unfortuantly requires someone baby sit the process and change a
    parameter and submit.
    Is there anyway after the one of the loops is complete (query
    has completed and first group of files have been written) and
    before the next execution of the query that I can free memory?
    I need to trick the process in thinking that the page is
    complete then immediately initiate the next query to process the
    files.
    We have tuned the box as best we can, applied all patches
    (MX7) . Process runs great in batches, but, just can't handle the
    volume. Millions of rows are being processed.
    Thanks
    Bill

    Current solution is to run this process in batches. This
    unfortuantly
    requires someone baby sit the process and change a parameter
    and submit.
    java.lang.OutOfMemoryError means that there are too many
    objects in memory at one time. However, it is difficult to remove
    objects in one continuous process while it is still running.
    The word
    batches carries a hint. In the circumstances, I would break
    the process up into smaller jobs and use cfschedule for each. Each
    job could store the data that subsequent jobs need in a file or in
    a database table specifically created for that purpose. Use cached
    queries for static data. Coldfusion will then read the data from
    memory, rather than from a file or database, sparing you the
    creation of yet more objects.

  • Invalid memory category

    Hi Experts,
    When this information error occurs:
    Invalid memory category
    regards

    Hi,
    Go to transaction O11C. Maintintain the fields like
    Order category 30
    Document Type : Assign ur Document type
    and
    Account assignment type (general): F
    Account assignment type (project): Q
    Account assignment type (sales order): E
    Sales document project: D
    Hope this will help to solve ur problem
    Reward Points If it is useful
    Regards

  • Invalid memory access %SRR0: ff845360 %SRR1:00003030 appearing on 3 different sticks of RAM

    Thanks for reading. I am working with an iMac G5 2.0 GHz. I expanded the the RAM from the stock 512 to 512 x 2 and it worked fine for a few weeks, and then at boot the message would appear:
    Invalid memory access %SRR0: ff845360 %SRR1:00003030
    After that there is the option to type mac-boot or shut-down. But the system won't boot off that.
    I replaced the new sticks of RAM with the original stick but this error is appearing now even with this original stick of RAM. I've done some research on this problem but I'm not sure what the solution is or where the problem lies, so I'd like to ask for help here.

    Which model/generation iMac G5? 
    http://docs.info.apple.com/article.html?artnum=301724-en How to identify your iMac
    Boot up from the system DVD #1 that originally came w/the computer.  Run Apple's Hardware Test.  Read the DVD label to determine which key to boot up from to run the test.
    Please post the results.
     

  • Invalid memory access

    I just ran the Apple Hardware Test from the install and restore CD and got some interesting results. I restarted the computer and held down the OPTION key, then selected the AHT button and the CONTINUE arrow. My screen went grey, and then the test loading icon appeared, as did some white text in the upper left corner: invalid memory access at: %SRR0: 00000000.00000000 %SRR1: 10000000.00083030 (plus copyright info and a welcome to firmware and instructions). I'm not sure how to interpret this message. Does it mean I need to replace DIMMs 0 and 1?
    I ran TechTool Pro 4 and nothing came up during that memory test. My computer has been doing an odd thing usually after hours of sleep: the fans start whirling and making a lot of noise and when the screen wakes my mouse cursor is frozen.
    Any ideas?

    I found the solution (for my problem anyway). Turns out my hard drive was corrupted beyond repair. I just happened to run the G5 10.3.5 disc and ran disk utility. It failed miserably-gave some sort of error and said it couldn't be fixed. I tried repairing in Target Disk Mode from my MacBook and the drive reported the same errors. I erased the drive, reinstalled the OS, and it started again. No more grey Open Firmware and all my RAM is recognized. I'm getting another drive to be safe. Hope it helps.

  • Invalid memory access errors

    I have frequent boot problems with my 1 GHz 17" PowerBook. When I depress the power button, I often hear the SuperDrive start up but not the hard drive, and the screen stays black. I can tell power's on by depressing the all-caps key and getting the indicator light. Depress power button till shutdown, try again.
    Occasionally, I get a white screen with the following error message:
    Invalid memory access at %SRR0:00014000 %SRR1:01400000
    The rest of the message lists the Boot ROM version and asks whether I want to shut down or continue booting.
    If I type the mac-boot command at the prompt and hit return, I get the first boot screen, but it goes into perpetual cycling.
    I try booting enough times, finally the hard drive will start up and the boot process moves apace. Sometimes it works after a few tries. Sometimes it takes half an hour. Sometimes I give up.
    I removed the original RAM card and inserted a brand new 1 GB card, did not correct the problem. Is it possible my boot ROM has a problem?
    On this same computer, the internal Airport Extreme card malfunctioned a couple of years ago. For a long time that caused complete crashes on attempted boot much (not all) of the time. Everybody on this board thought it was a motherboard problem, when it was just a problem with Airport. That thing's still in there, just not functioning. It quit causing interference that made the screen look scratchy. Might it still be involved in the boot problems? Computer diagnostics don't even show it's alive.

    The problem was that the internal AirPort card had come loose, causing intermittent failures.

  • IBook G4 can't install Tiger and "Invalid memory access"

    My friend recently bought an iBook G4, came with Panther 10.3.9 on it, he has been trying to install a retail version of Tiger on it and
    At first the installer would pop up, he'd go through the steps and then it would prompt him to restart but once it had rebooted nothing had changed, still in 10.3.9.
    Then he restarted with Alt, and tried to boot from the installer disk and he got the following message "Invalid Memory Access at % SRRO: 3132636c % SRRI: 40003030"
    He was then prompted to type "mac-boot" to restart and upon restarting he got a folder icon with a question mark, which I understand means the HD couldn't be detected but it still booted up anyway.
    Any thoughts? :/

    I'm not sure what that error message means, but I am wondering if the hard drive might be beginning to go south. If you open Disk Utility, is the S.M.A.R.T. status verified? If the drive is the original, then it could well be getting to the end of its useful life of 3-5 years, even if it is still working after a fashion.
    Did your friend get the original Panther system discs? If so, it might be a good idea to run the extended version of the Apple Hardware Test and see if anything shows up.
    One thing to try is to boot from the Tiger install disc and then navigate to Disk Utility. Since this iBook is a recent purchase, it may be that there is no data to save. If so, your friend could go ahead and erase and reformat the disk before proceeding with the installation.
    If Disk Utility cannot erase and reformat the disk or if the disk cannot be seen, then it will likely not be possible to install anything.
    Also, be sure the RAM meets the minimum requirements for Tiger.
    Good luck!

  • Error Handling and Freeing-up Memory

    I'm trying to write my java programs as responsibly as possible. When an exception is caught and sent to my catch block, in order to properly free up memory do I need to set all objects (created prior to the error occurance in the try block) to null or does Java do this for me at the termination of the routine or thread? I used to do this in VB within my error handlers. For example, in VB, if I had created an XYZ object and an error occured later on, before I was done using object XYZ, as part of my error handler I would "Set XYZ = Nothing". Is something similar needed in Java?

    Well it is always good to do a clean up routine you can do this by makeing a method that will set things to null and such and you also can use finally after the exception handler has exit and close streams and such in the finally {} catch also you can forcing finalization and carbage collection
    here is a link for that
    http://java.sun.com/docs/books/tutorial/essential/system/garbage.html
    but I thank it is alway good programming practice to clean up after your self
    ps I hope this helps

  • Problems freeing up memory

    i've been having a problem of late with my iPhone 5s 16 GB. I have been receiving a warning box, advising me that my memory is low; problem is, no matter how many apps I delete, I'm still advised that I have no memory available despite the fact that I am sure I've deleted at least 3 GB of memory. Because the phone thinks that more memory should be freed up, I can't do anything of substance on the phone without getting hung up by the warning box. If anyone can shed any light on what is going on here and point to a possible fix, I would appreciate it.
    Thanks,
    Dave

    i've been having a problem of late with my iPhone 5s 16 GB. I have been receiving a warning box, advising me that my memory is low; problem is, no matter how many apps I delete, I'm still advised that I have no memory available despite the fact that I am sure I've deleted at least 3 GB of memory. Because the phone thinks that more memory should be freed up, I can't do anything of substance on the phone without getting hung up by the warning box. If anyone can shed any light on what is going on here and point to a possible fix, I would appreciate it.
    Thanks,
    Dave

  • Freeing up memory for windows

    As I was deleting some un-needed programs on my computer to free up some memory on my hard drive, I came across 3 Ipod for Windows Programs dated 01/10/2006, 10/13/2005, and 9/06/2005. The first two averaged 200mb of ram, and the third was 100mb. Neither of these three are Itunes or QuickTime themselves because those two are listed separately down the list and only consume about 30mb. Exactly what are these three programs? Are they updated firmware for my Ipod? Can I delete all of them, or keep just the most recently dated one. The reason I’m asking is that I would hate to delete them and having my Itunes and music database corrupted. Any thoughts would be appreciated. In addition, I’m in no mood to burn 10 cds to backup all my music.

    well i can't be sure, but i beleive those may be te installers for itunes, if your worried about deleting then you could move them to a CD, delete them and see if anything happens, you can even save the CD for music later on by not formatting it once you've burned the files to it. formatting a CD make the files accessable to other computers or peripherals...i think. uhh, maybe it's not worth the risk, just format it. anyway that'll clear up the memory unless you need to put it back on

  • Freeing up memory

    I have a Blackberry Curve 9300. I've had it for almost a year now and it freezes up a lot. I've been trying to free up some memory and I came across Blackberry Identity in my application list. It says it has never been used and I wanted to know if it is safe to delete it. I've searched online for its use but came up with nothing so I'm asking if anyone out there may know what this application is necessary for to please share. Thanks

    Hello rereichie890
    NO ! Never delete your BlackBerry Identity from that list  !
    Read this : KB23716 : What is a BlackBerry ID
    It is the Master key for all BlackBerry Services.If you're try to free up some device memory then try deleteing any Unused apps, messages , transfer your media files to your Media Card etc. 
    Also go through this Knowledge Base :
    KB14320 How to maximize battery life and free memory on the BlackBerry smartphone
    Click " Like " if you want to Thank someone.
    If Problem Resolves mark the post(s) as " Solution ", so that other can make use of it.

  • Disposing a jframe, and freeing up memory

    Greetings,
    I hope this is the proper forum for memory issues.
    I have an enterprise database reporting desktop application that I am developing. The GUI application reports on a huge set of data that results in the app taking up to 125 MB worth of memory when fully loaded. There are moments in using the application that all of the data will need to be refreshed entirely, and the JFrame that reports it be reloaded in the process.
    I am wondering how to dispose the JFrame and release all of the data associated with it. I use NetBeans to develop my GUI, and so all of the data that is needed for the JFrame is a class variable of the JFrame (so the data can be accessed as it is needed). But, when the frame is disposed, I no longer need anything associated with the JFrame that gets disposed. The Javadoc for Window.dispose() seems to imply that not all of the resources will be released and GC'd when you call dispose, because it says "The Window and its subcomponents can be made displayable again by rebuilding the native resources with a subsequent call to pack or show." which to me says that the data is being remembered and not collected by the GC.
    Anyone have any tips for GUIs and memory management? It seems like any GUI app could get pretty large pretty fast if there's no way to release the data associated with the GUI.
    Here's the code I've tested that doesn't seem to be releasing the memory (stress tests of closing and re-opening the window multiple times shows the java.exe process eating more and more memory):
        public void reset(){
            this.dispose();
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new PartsDashboard(partNum, dateFrom, dateTo);
            try{
                this.finalize();
            } catch (Throwable t){
                t.printStackTrace();
        }Thanks in advance.

    Three things you can always count on in life: Death, Taxes, and AndrewThompson64 telling people to post an SSCCE. =)
    Just poking fun.
    Anyways, this problem has gone from probably-should-deal-with-soon to critical issue. Here is the SSCCE to illustrate the problem. NOTE: My client is using Windows and I am using Windows, so how this acts on Linux/Mac isn't important to me. Also, a few of my client's machines are not well equipped (512 MB RAM), so they have agreed to up their hardware a bit.
    But the big problem, on my end, is that disposed windows DO NOT free up resources once disposed. My program is very data-heavy. I have considered grabbing less data from the database but this would mean the program would have to go to the database more often. The ultimate dilemma of time vs space, essentially.
    To explain the SSCCE: There is a main window with a button. If you click the button, it launches another window with a String array that is 500,000 items large (to simulate a lot of data), and a JList to view those strings. Closing the data-heavy child window does not free up the memory that it uses, and if you launch a bunch of the child windows in the same program instance (close each child before launching a new one) then you will see the amount of memory piling up.
    Am I doing something wrong? Has anyone else experienced similar problems? Does anyone have suggestions? Thank you.
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JList;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    * @author Ryan
    public class MemoryLeak {
        public static void main(String[] args) {
            // Launch Base Frame
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new BaseFrame().setVisible(true);
    class BaseFrame extends JFrame{
        public BaseFrame() {
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setPreferredSize(new Dimension(300,300));
            JPanel panel = new JPanel();
            panel.setLayout(new FlowLayout(FlowLayout.CENTER, 150, 5));
            JButton button = new JButton("Launch Data-Heavy Child");
            // JButton will launch Child Frame
            button.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    java.awt.EventQueue.invokeLater(new Runnable() {
                        public void run() {
                            // Notice no references to ChildFrame, period.
                            new ChildFrame().setVisible(true);
            panel.add(button);
            add(panel);
            pack();
    class ChildFrame extends JFrame{
        public ChildFrame() {
            setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            setPreferredSize(new Dimension(300,600));
            JPanel panel = new JPanel();
            panel.setLayout(new FlowLayout());
            // Simulate lots of data.
            String[] dataArr = new String[500000];
            for(int i = 0; i < dataArr.length; i++) {
                dataArr[i] = "This is # " + i;
            // Something to display the data.
            JList list = new JList(dataArr);
            JScrollPane scrollPane = new JScrollPane(list);
            scrollPane.setPreferredSize(new Dimension(200, 550));
            panel.add(scrollPane);
            add(panel);
            pack();
    }

Maybe you are looking for