Memory leak due high database operations
Our application is a network monitoring application , where we get lot of data from network every 2 minutes.
When we try process large amount data in our application we start seeing memory leak. But if we control data inflow rate , then our application works fine with no leak.
I am not able to profile our application with tools like Jprobe, as the profiler itself is running outofmemory even before I could reproduce the issue.
Mostly likely DB is not able to handle the data at the rate we would like it to handle. We are using MySql with C3P0.
I am not sure which objects are not getting garbage collected which is causing our application to run outofmemory since i am not able to profile the application.
Will appreciate if anyone can share their experiences in debugging such problems
We have added throttling mechanism to temporarily fix the problem. As I said before we get data every 2 mins from network. We have a data structure which is populated when we receive the data. So we count the numbers of rows in the data structure and once we reach the throttle we drop rest of the data. Throttle gets reset so that when data comes in next cycle we can again process it.
The problem is we are not able handle data at a higher rate. Most of the times data received from the network is within our throttle limit , so there are no issues. We were seeing issues only when receive burst of data. So if we fixed the issue temporarily by adding throttling.
I hope this clarifies your question
Similar Messages
-
Memory leak when using database connectivity toolset and ODBC driver for MySQL
The "DB Tools Close Connection VI" does not free all the memory used when "DB Tools Open Connection VI" connects to "MySQL ODBC Driver 3.51".
I have made a small program that only opens and close the connection that I run continously and it's slowly eating all my memory. No error is given from any of the VI's. (I'm using the "Simple Error Handler VI" to check for errors.)
I've also tried different options in the DSN configuration without any results.
Attachments:
TestProgram.vi 16 KB
DSNconfig1.jpg 36 KB
DSNconfig2.jpg 49 KBAlso,
I've duplicated the OPs example: a simple VI that opens and closes a connection. I can say this definately causes a memory leak.
Watching the memory:
10:17AM - 19308K
10:19AM - 19432K
10:22AM - 19764K
10:58AM - 22124K
Regards,
Ken
Attachments:
OpenCloseConnection.vi 13 KB -
Memory leak due to http-basic-authn ?
I reproduced the problem with the example/servlets/SessionServlet class. The http client (non-UI) creates session on every request and also passes in userid-password for http-basic authentication.
Please note that we do NOT configure any authentication in weblogic deployment descriptors.
With memory profiler OptimizeIt, I see the leak in the hashtable authUsers. The entry in the hashtable was created with:
weblogic.servlet.internal.HttpServer.setAuthUser().
The AuthenticatedUser object was created with:
weblogic.security.acl.ClusterRealm.certify().
It seems to me that Weblogic is trying to do the authentication by just see'ing userid-password in the Http headers. Even though when we want to do the authentication inside our application.
I have the profiler snapshot but I do not know how to send the attachment in this posting. Let me know if I can email it to some address.
Thanks
-RakeshI reproduced the problem with the example/servlets/SessionServlet class. The http client (non-UI) creates session on every request and also passes in userid-password for http-basic authentication.
Please note that we do NOT configure any authentication in weblogic deployment descriptors.
With memory profiler OptimizeIt, I see the leak in the hashtable authUsers. The entry in the hashtable was created with:
weblogic.servlet.internal.HttpServer.setAuthUser().
The AuthenticatedUser object was created with:
weblogic.security.acl.ClusterRealm.certify().
It seems to me that Weblogic is trying to do the authentication by just see'ing userid-password in the Http headers. Even though when we want to do the authentication inside our application.
I have the profiler snapshot but I do not know how to send the attachment in this posting. Let me know if I can email it to some address.
Thanks
-Rakesh -
Memory leak due to MediaProvider
Hello,
I am using jmc to create my own media player. I found that, when creating a new JMediaPane instance for opening and playing a new medium, the old instance is not deleted by the garbage collection, although it is not used and referenced anymore. The reason for this seems to be a still running thread in the class MediaProvider.
This behavior also occurs when using javafx and changing the media of a mediaplayer.
Has anyone any idea on how to solve this problem and how to build a (jmc-based) media player which reliably allows to open and play new media?
Thanks in advance!Hello,
I am using jmc to create my own media player. I found that, when creating a new JMediaPane instance for opening and playing a new medium, the old instance is not deleted by the garbage collection, although it is not used and referenced anymore. The reason for this seems to be a still running thread in the class MediaProvider.
This behavior also occurs when using javafx and changing the media of a mediaplayer.
Has anyone any idea on how to solve this problem and how to build a (jmc-based) media player which reliably allows to open and play new media?
Thanks in advance! -
I have memory leaks in my Labview application connecting and inserting data into a MSSQL server using Labview Database Toolkit.
Versions: Labview 7.1, Toolkit 1.0.1.
I have searched the forums and searhed everywhere else...I see there are some issues. (For example List tables vi). Removing the list tables vi helped a lot. But I can still see that I'm loosing memory here and there, now and then.
My question is: Is there any general guidlines to prevent all memory leaks mentioned?
Or possibly, will it all go away if I upgrade the versions. (As I understand I have too update Labview to be able to update the Toolkit?)
Best Regards
/Jesper
Solved!
Go to Solution.Have you seen this Developer Zone document?
LabVIEW Database Connectivity Toolset 1.0.1 Known Issues
Functions, VIs, and Express VIs - ID 2F7E2352
Memory Leak in the Database Toolset in DB Tools Open Schema VI
The DB Tools Open Schema VI leaks memory which if called continuously eventually causes a LabVIEW crash. This is a sub VI of the DB Tools Insert Data VI.
Workaround—At the highest level, if you are continuously updating values in a table, make sure the table already exists and leave the Create Table input to the DB Tools Insert Data VI set to FALSE.
Other than this, the most important thing is to close all references...
Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T
If you don't hate time zones, you're not a real programmer.
"You are what you don't automate"
Inplaceness is synonymous with insidiousness -
Hi every body,
I have a big problem with my c++ program, after 3 hours of execution, my program explose, no enouth memory and the cause is that i have a lot of memory leak due at the use of the oracle librairie libclntsh, my oracle version is 9.2.0.7
There is any patch for this librairie ?
Please i need help
Thanks in advanceOn http://metalink.oracle.com
Go in the "Patches & Updates" tab
Click on Simple search
Choose search by "Product or Family" and enter "RDBMS Server" in the following field.
Choose the version you are looking for (9.2.0.8)
Choose your plateform
Click on the Go button.
Nicolas. -
Galaxy S6 Memory Leak - Multitasking
I've begun to notice more and more that when multitasking, the phone's response time drags to the point of hardly usable, or the apps have to restart and multitasking is completely useless at that point. When this is happening and I check the App management portion in the settings, it shows the system is taking up anywhere from 1.5-2 GB of the RAM, apps are anywhere from 600-800 MB, and Free is whatever is leftover at that point. How is this even possible? I've seen reports of a memory leak issue within the operating system, and that's the only thing that seems to make sense when a phone with this much memory and processing power performs worse than a 2011 phone. Are there any solutions that AT&T has to fix these? Otherwise this phone is almost useless to me
if you have the 5.0.2 update installed that fixed the memory leak for my 920a
If anything the most complaints I have seen is the ram managment is to aggresive on the s6 series. -
I'll be using my iMac (27" late 2009) and it will suddenly cut to black. Then after a second or two, a grey screen will appear and tell me an issue occured and to push any key to restart. Once the computer restarts, the issue report pops up and it says I have a memory leak. I don't know what that means, or how to fix it. Any thoughts on the cause of why it's doing this, or the impending doom it may be heralding? I've posted the issue report below incase anyone can glean anything from it. Thanks for your help.
Fri Feb 14 14:19:08 2014
panic(cpu 4 caller 0xffffff801185211d): "zalloc: zone map exhausted while allocating from zone kalloc.64, likely due to memory leak in zone kalloc.64 (2370900672 total bytes, 37045323 elements allocated)"@/SourceCache/xnu/xnu-2422.1.72/osfmk/kern/zalloc.c:2494
Backtrace (CPU 4), Frame : Return Address
0xffffff8104ed3a30 : 0xffffff8011822f69
0xffffff8104ed3ab0 : 0xffffff801185211d
0xffffff8104ed3bb0 : 0xffffff801182aa2f
0xffffff8104ed3be0 : 0xffffff8011c4bb5d
0xffffff8104ed3c10 : 0xffffff8011c4c0b7
0xffffff8104ed3c40 : 0xffffff8011c61b3a
0xffffff8104ed3c60 : 0xffffff8011c61b91
0xffffff8104ed3ca0 : 0xffffff8011c61d12
0xffffff8104ed3ce0 : 0xffffff8011c93663
0xffffff8104ed3d20 : 0xffffff8011c4abde
0xffffff8104ed3eb0 : 0xffffff8011c4ada7
0xffffff8104ed3ee0 : 0xffffff8011c8e4c3
0xffffff8104ed3f50 : 0xffffff8011c93cc4
0xffffff8104ed3f70 : 0xffffff7f923edbfb
0xffffff8104ed3fa0 : 0xffffff7f923edc6e
0xffffff8104ed3fb0 : 0xffffff80118d6aa7
Kernel Extensions in backtrace:
com.razer.common.razerhid(4.43)[1B7FEBF6-6668-A183-C80E-505105E80B16]@0xffffff7 f923e8000->0xffffff7f923fdfff
dependency: com.apple.iokit.IOUSBFamily(650.4.4)[972D3024-AF9C-3E09-A9EC-D9AB2A559B38]@0xff ffff7f921cb000
dependency: com.apple.iokit.IOHIDFamily(2.0.0)[1185D338-98A5-345E-84F8-E59DF819A61B]@0xffff ff7f92288000
dependency: com.apple.iokit.IOUSBHIDDriver(650.4.4)[B79A7E01-DD3F-3C1A-840A-879D262C69DE]@0 xffffff7f9230d000
dependency: com.apple.driver.IOBluetoothHIDDriver(4.2.0f6)[BDBCA485-A5D3-3EE0-A782-60D83447 BAEB]@0xffffff7f923d4000
BSD process name corresponding to current thread: kernel_task
Boot args: mbasd=1
Mac OS version:
13B42
Kernel version:
Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64
Kernel UUID: 1D9369E3-D0A5-31B6-8D16-BFFBBB390393
Kernel slide: 0x0000000011600000
Kernel text base: 0xffffff8011800000
System model name: iMac11,1 (Mac-F2268DAE)
System uptime in nanoseconds: 6500042405956
vm objects:14896672
vm object hash entri:1422080
VM map entries:3665920
pv_list:14364672
vm pages:148044672
kalloc.16:296143584
kalloc.32:296364096
kalloc.64:2370900672
kalloc.128:8413184
kalloc.256:2584576
kalloc.512:2330624
kalloc.1024:5713920
kalloc.2048:1327104
kalloc.4096:1859584
kalloc.8192:6995968
ipc ports:3312960
threads:3060288
uthreads:1891008
vnodes:27132000
namecache:10648800
HFS node:36340432
HFS fork:4812800
buf.4096:2613248
buf.8192:34643968
ubc_info zone:2554704
vnode pager structur:1418040
Kernel Stacks:25870336
PageTables:75939840
Kalloc.Large:37970463
Backtrace suspected of leaking: (outstanding bytes: 60608)
0xffffff8011851c23
0xffffff801182aa2f
0xffffff8011c4bb5d
0xffffff8011c4d667
0xffffff8011c8e5e7
0xffffff8011c93cc4
0xffffff7f923edbfb
0xffffff7f923edc6e
Kernel Extensions in backtrace:
com.razer.common.razerhid(4.43)[1B7FEBF6-6668-A183-C80E-505105E80B16]@0xffffff7 f923e8000->0xffffff7f923fdfff
dependency: com.apple.iokit.IOUSBFamily(650.4.4)[972D3024-AF9C-3E09-A9EC-D9AB2A559B38]@0xff ffff7f921cb000
dependency: com.apple.iokit.IOHIDFamily(2.0.0)[1185D338-98A5-345E-84F8-E59DF819A61B]@0xffff ff7f92288000
dependency: com.apple.iokit.IOUSBHIDDriver(650.4.4)[B79A7E01-DD3F-3C1A-840A-879D262C69DE]@0 xffffff7f9230d000
dependency: com.apple.driver.IOBluetoothHIDDriver(4.2.0f6)[BDBCA485-A5D3-3EE0-A782-60D83447 BAEB]@0xffffff7f923d4000
last loaded kext at 280540738124: com.apple.filesystems.msdosfs 1.9 (addr 0xffffff7f92483000, size 65536)
loaded kexts:
com.taoeffect.ispy.kext 2.0.2
com.quark.driver.Tether64 1.1.0d3
com.logmein.driver.LogMeInSoundDriver 1.0.0
com.squirrels.airparrot.framebuffer 3
com.squirrels.driver.AirParrotSpeakers 1.7
com.razer.common.razerhid 4.43
at.obdev.nke.LittleSnitch 4052
com.apple.filesystems.msdosfs 1.9
com.apple.filesystems.ntfs 3.11
com.apple.driver.AppleTyMCEDriver 1.0.2d2
com.apple.driver.AGPM 100.14.11
com.apple.driver.AppleHWSensor 1.9.5d0
com.apple.driver.AudioAUUC 1.60
com.apple.filesystems.autofs 3.0
com.apple.iokit.IOBluetoothSerialManager 4.2.0f6
com.apple.driver.AppleMikeyHIDDriver 124
com.apple.driver.AppleUpstreamUserClient 3.5.13
com.apple.iokit.IOUserEthernet 1.0.0d1
com.apple.driver.AppleHDAHardwareConfigDriver 2.5.3fc1
com.apple.kext.AMDFramebuffer 1.1.4
com.apple.driver.AppleHDA 2.5.3fc1
com.apple.Dont_Steal_Mac_OS_X 7.0.0
com.apple.ATIRadeonX2000 8.1.8
com.apple.driver.AppleHWAccess 1
com.apple.driver.AppleMuxControl 3.4.12
com.apple.driver.AppleBacklight 170.3.5
com.apple.driver.AppleMikeyDriver 2.5.3fc1
com.apple.iokit.IOBluetoothUSBDFU 4.2.0f6
com.apple.kext.AMD4800Controller 1.1.4
com.apple.driver.AppleMCCSControl 1.1.12
com.apple.driver.AppleLPC 1.7.0
com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport 4.2.0f6
com.apple.driver.ACPI_SMC_PlatformPlugin 1.0.0
com.apple.driver.AppleUSBCardReader 3.3.5
com.apple.driver.AppleIRController 325.7
com.apple.driver.AppleFileSystemDriver 3.0.1
com.apple.AppleFSCompression.AppleFSCompressionTypeDataless 1.0.0d1
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib 1.0.0d1
com.apple.BootCache 35
com.apple.iokit.SCSITaskUserClient 3.6.0
com.apple.driver.XsanFilter 404
com.apple.iokit.IOAHCIBlockStorage 2.4.0
com.apple.driver.AppleUSBHub 650.4.4
com.apple.driver.AppleFWOHCI 4.9.9
com.apple.iokit.AppleBCM5701Ethernet 3.6.9b9
com.apple.driver.AirPort.Atheros40 700.74.5
com.apple.driver.AppleAHCIPort 2.9.5
com.apple.driver.AppleUSBEHCI 650.4.1
com.apple.driver.AppleUSBUHCI 650.4.0
com.apple.driver.AppleACPIButtons 2.0
com.apple.driver.AppleRTC 2.0
com.apple.driver.AppleHPET 1.8
com.apple.driver.AppleSMBIOS 2.0
com.apple.driver.AppleACPIEC 2.0
com.apple.driver.AppleAPIC 1.7
com.apple.driver.AppleIntelCPUPowerManagementClient 216.0.0
com.apple.nke.applicationfirewall 153
com.apple.security.quarantine 3
com.apple.driver.AppleIntelCPUPowerManagement 216.0.0
com.apple.kext.triggers 1.0
com.apple.iokit.IOSerialFamily 10.0.7
com.apple.iokit.IOSurface 91
com.apple.driver.DspFuncLib 2.5.3fc1
com.apple.vecLib.kext 1.0.0
com.apple.driver.AppleGraphicsControl 3.4.12
com.apple.iokit.IOFireWireIP 2.2.5
com.apple.driver.AppleBacklightExpert 1.0.4
com.apple.iokit.IONDRVSupport 2.3.6
com.apple.kext.AMDSupport 1.1.4
com.apple.AppleGraphicsDeviceControl 3.4.12
com.apple.iokit.IOAudioFamily 1.9.4fc11
com.apple.kext.OSvKernDSPLib 1.14
com.apple.driver.AppleSMBusController 1.0.11d1
com.apple.driver.AppleSMBusPCI 1.0.12d1
com.apple.driver.AppleHDAController 2.5.3fc1
com.apple.iokit.IOGraphicsFamily 2.3.6
com.apple.iokit.IOHDAFamily 2.5.3fc1
com.apple.iokit.IOBluetoothHostControllerUSBTransport 4.2.0f6
com.apple.driver.AppleSMC 3.1.6d1
com.apple.driver.IOPlatformPluginLegacy 1.0.0
com.apple.driver.IOPlatformPluginFamily 5.5.1d27
com.apple.driver.IOBluetoothHIDDriver 4.2.0f6
com.apple.iokit.IOBluetoothFamily 4.2.0f6
com.apple.driver.AppleUSBHIDKeyboard 170.15
com.apple.driver.AppleHIDKeyboard 170.15
com.apple.iokit.IOSCSIBlockCommandsDevice 3.6.0
com.apple.iokit.IOUSBMassStorageClass 3.6.0
com.apple.iokit.IOUSBHIDDriver 650.4.4
com.apple.driver.AppleUSBMergeNub 650.4.0
com.apple.driver.AppleUSBComposite 650.4.0
com.apple.iokit.IOSCSIMultimediaCommandsDevice 3.6.0
com.apple.iokit.IOBDStorageFamily 1.7
com.apple.iokit.IODVDStorageFamily 1.7.1
com.apple.iokit.IOCDStorageFamily 1.7.1
com.apple.iokit.IOAHCISerialATAPI 2.6.0
com.apple.iokit.IOSCSIArchitectureModelFamily 3.6.0
com.apple.iokit.IOUSBUserClient 650.4.4
com.apple.iokit.IOFireWireFamily 4.5.5
com.apple.iokit.IOEthernetAVBController 1.0.3b3
com.apple.driver.mDNSOffloadUserClient 1.0.1b4
com.apple.iokit.IO80211Family 600.34
com.apple.iokit.IONetworkingFamily 3.2
com.apple.iokit.IOAHCIFamily 2.6.0
com.apple.iokit.IOUSBFamily 650.4.4
com.apple.driver.AppleEFINVRAM 2.0
com.apple.iokit.IOHIDFamily 2.0.0
com.apple.driver.AppleEFIRuntime 2.0
com.apple.iokit.IOSMBusFamily 1.1
com.apple.security.sandbox 278.10
com.apple.kext.AppleMatch 1.0.0d1
com.apple.security.TMSafetyNet 7
com.apple.driver.AppleKeyStore 2
com.apple.driver.DiskImages 371.1
com.apple.iokit.IOStorageFamily 1.9
com.apple.iokit.IOReportFamily 21
com.apple.driver.AppleFDEKeyStore 28.30
com.apple.driver.AppleACPIPlatform 2.0
com.apple.iokit.IOPCIFamily 2.8
com.apple.iokit.IOACPIFamily 1.4
com.apple.kec.pthread 1
com.apple.kec.corecrypto 1.0
Model: iMac11,1, BootROM IM111.0034.B02, 4 processors, Intel Core i7, 2.8 GHz, 8 GB, SMC 1.54f36
Graphics: ATI Radeon HD 4850, ATI Radeon HD 4850, PCIe, 512 MB
Memory Module: BANK 0/DIMM0, 2 GB, DDR3, 1067 MHz, 0x80AD, 0x484D54313235533642465238432D47372020
Memory Module: BANK 1/DIMM0, 2 GB, DDR3, 1067 MHz, 0x80AD, 0x484D54313235533642465238432D47372020
Memory Module: BANK 0/DIMM1, 2 GB, DDR3, 1067 MHz, 0x80AD, 0x484D54313235533642465238432D47372020
Memory Module: BANK 1/DIMM1, 2 GB, DDR3, 1067 MHz, 0x80AD, 0x484D54313235533642465238432D47372020
AirPort: spairport_wireless_card_type_airport_extreme (0x168C, 0x8F), Atheros 9280: 4.0.74.0-P2P
Bluetooth: Version 4.2.0f6 12982, 3 services, 23 devices, 1 incoming serial ports
Network Service: Ethernet, Ethernet, en0
Serial ATA Device: ST31000528ASQ, 1 TB
Serial ATA Device: HL-DT-ST DVDRW GA11N
USB Device: Hub
USB Device: Internal Memory Card Reader
USB Device: BRCM2046 Hub
USB Device: Bluetooth USB Host Controller
USB Device: Hub
USB Device: Keyboard Hub
USB Device: Razer DeathAdder
USB Device: Apple Keyboard
USB Device: IR Receiver
USB Device: Built-in iSight
Thunderbolt Bus:Boot into safe mode (restart holding down SHIFT key). If no KP, then uninstall and reinstall those 3rd-party items that Roger pointed out, one at a time, and restart. Continue until you determine which ones are causing the problem. If KP while in safe mode, then most likely hardware related. Run the Apple Hardware Test suite, extended tests at least twice, followed by Rember. See
OS X About kernel panics,
Technical Note TN2063: Understanding and Debugging Kernel Panics,
Mac OS X Kernel Panic FAQ,
Resolving Kernel Panics,
How to troubleshoot a kernel panic, and
Tutorial: Avoiding and eliminating Kernel panics for more details. -
Memory leak pulling in data from database view or database table
Post Author: Thang Nguyen
CA Forum: Data Integration
Hi,
I'm experiencing memory leaks when using DI to load from a database view or table. I have seen the issue on 11.7.2.0 and 11.7.2.2 and was wondering if anyone else has seen it.
You can see the row count in the monitor tab going up, but with every 1000 rows it pulls in the al_engine process consumes more and more memory until it gets to 2GB and crashes with an unknown error.
Simlir behaviour is seen in the validation transform when doing and "IN" to another table, and with table comparisons.
I've got a webex with support tomorrow as they don't seem to belive that this happening and just want to get a heads up if anyone else was seeing this problem.
ThanksPost Author: tambol
CA Forum: Data Integration
HI,
i am experiencing similar error :
Unknown error in transform <AIView4>.
i am using older version of BO. how could i possibly fix this without upgrading to newest version?
please don't be too techincal when explaining...new here
thanks a lot! -
Memory leak when running in database
I am somewhat new to java and very new to java in the db. I just ran into a problem with what appears to be a memory leak. I have a substantial java program used to parse XML files. I developed this app in jDeveloper and for testing purposes created a method that would connect to the database so that I could run the app from jDeveloper instead of having to deploy it everytime i needed to run it. When deployed the application uses the existing connection to connect to the db.
I am running Oracle 9i on a windows 2k machine.
When I run the application through jDeveloper the javaw.exe process takes up roughly 20mb of RAM and doesn't increase. I also watched the oracle.exe process and there was little to no increase in the RAM that it was using.
When deployed to a db and run through a java stored procedure the RAM used by the oracle.exe process sky rockets, jumping from 70mb to 139mb at about 2mb per second.
Hopefully this will make some sense to someone as posting code would be somewhat difficult considering the size of the project. Is there something I'm missing? I've tried calling the garbage collector explicity but it has had no effect. I have made sure that all my cursors, statements, resultsets are closing. I have a number of Vecotors which are all being de-allocated(as far as i can tell). Are there any known issues with the garbage collector in a 9i DB?
Thanks
Butch WesleyThe size of oracle.exe is not an indication of how the Java VM GC works; so you are not comparing apples to apples. It'll be too long to explain here but in my upcoming book (see hereafter), I gave a detailled explanation of the various memory areas the Java VM uses and how these are GCed and also how you can meausre their size (not all, though).
In short you want to use OracleRuntime methods such as
OracleRuntime.getSessionSize(); --> get he current size of Sessionspace
OracleRuntime.getNewspaceSize(); --> get he current size of Newspace
there are other memory areas described in the book
http://www.oracle.com/technology/pub/articles/mensah_dws.html
http://www.elsevier.com/wps/find/bookdescription.cws_home/706089/description#description
Sample chapter: http://www.oracle.com/technology/books/pdfs/mensah_ch1.pdf
Kuassi -
Kernel Panic due to memory leak?
Hello All
I have recently been noticing an issue where while playing music through iTunes my computer freezes and the music begins to skip forcing me to power down by holding in the power button. I have read most topics on this, however none address a memory leak in the 'iChat Agent.'
My machine has 4GB of memory (dual 1.8GHz G5, PPC) and have never had this issue before. I am not sure if it is caused by iTunes or if it is just happens to be when listening to music. I have begun to look around and I have noticed that my memory shoots up after 1-2 days of the computer being on. This is due to the iChat Agent... it takes up about 2GB of RAM. Is this normal?
It has happened 3 times now in the past 2 weeks. Any suggestions?well... the first time i got the kernel panic. it was text overlay on my screensaver that was running. The second time the computer just froze. I wonder though if the kernel panic would have eventually happened.
i keep noticing now that this iChat Agent slowly creeps up during the day to about 2GB Real Memory and 2.4 Virtual Memory. is this normal or causing the freeze?? -
Cropping Crashes Aperture 3 due to Video Card Memory Leak?
Recently after updating from 3.1.1 to 3.1.2 I have been experiencing crashing issues whenever I perform the cropping action. I see the death of wheel following hitting the return key. There was one time when the master version itself vaporized into thin air. I also noticed from the iStat Menus that the issue only occurs when the ATI Radeon HD 2400 memory usage has reach its full capcity. I quite firefox to release some of the memory then Aperture functions normally until the memory runs out again. I would then see the death of wheel once again when I crop.
Is Aperture crashing because I need a more powerful video card or is it a memory leak issue with the application?
Thanks!
iMac (Early 2008)
2.4 GHz Intel Core Duo
4 GB 800 MHz DDR2 SDRAM
ATI Radeon HD 2400Frank Caggiano wrote:
Lets see if we understand this correctly.
You had a system on which Aperture was crashing when you used the crop tool. You then got a brand new system and the crop tool still causes Aperture to crash. Am I correct so far?
What are the common factors between the old and new systems as far as Aperture goes? Not knowing how you migrated from the old to the new the only thing we can say for certain is that the library is identical.
So have you run the basic library first aid steps? Another thing to try is to create a new empty library, put an image into it and try cropping it and see what happens.
Let us know what happens after those steps,
regards
Frank Caggiano wrote: Lets see if we understand this correctly. You had a system on which Aperture was crashing when you used the crop tool. You then got a brand new system and the crop tool still causes Aperture to crash. Am I correct so far? What are the common factors between the old and new systems as far as Aperture goes? Not knowing how you migrated from the old to the new the only thing we can say for certain is that the library is identical. So have you run the basic library first aid steps? Another thing to try is to create a new empty library, put an image into it and try cropping it and see what happens. Let us know what happens after those steps, regards
I migrated everything from the old computer to the new. I also tried creating a new library and the issue persists. I've also tried the First Aid options all of 'Repair Permission, Repair Database, and Rebuild Database' none of which worked. I've also tried reinstalling Aperture and it crashes on the first crop.
I will need to be editing many photos in a few weeks and now I'm stuck with this issue.. HELP!!!!!!!
It seems like others have run into the same issue also but no solutions!!
Why is aperture 3.1 crashing after cropping images, any one else?
http://www.google.com.hk/url?sa=t&source=web&cd=1&ved=0CBsQFjAA&url=https%3A%2F% 2Fdiscussions.apple.com%2Fthread%2F2642858%3Fstart%3D15%26tstart%3D0&ei=axUETrC0 DM3ciAL23ZXZDQ&usg=AFQjCNE9Kv1N--m8mCyaRkyWi3E9d-0aXg&sig2=qzgEONrK7vLfWetcPT69y A -
SQL Server 2008R2 SP2 Query optimizer memory leak ?
It looks like we are facing a SQL Server 2008R2 queery optimizer memory leak.
We have below version of SQL Server
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
Jun 28 2012 08:36:30
Copyright (c) Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
The instance is set MAximum memory tro 20 GB.
After executing a huge query (2277 kB generated by IBM SPSS Clementine) with tons of CASE and a lot of AND/OR statements in the WHERE and CASE statements and muliple subqueries the server stops responding on Out of memory in the internal pool
and the query optimizer has allocated all the memory.
From Management Data Warehouse we can find that the query was executed at
7.11.2014 22:40:57
Then at 1:22:48 we recieve FAIL_PACE_ALLOCATION 1
2014-11-08 01:22:48.70 spid75 Failed allocate pages: FAIL_PAGE_ALLOCATION 1
And then tons of below errors
2014-11-08 01:24:02.22 spid87 There is insufficient system memory in resource pool 'internal' to run this query.
2014-11-08 01:24:02.22 Server Error: 17300, Severity: 16, State: 1. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped.
2014-11-08 01:24:02.22 Server Error: 17300, Severity: 16, State: 1. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped.
2014-11-08 01:24:02.30 Server Error: 17312, Severity: 16, State: 1.
2014-11-08 01:24:02.30 Server SQL Server is terminating a system or background task Fulltext Host Controller Timer Task due to errors in starting up the task (setup state 1).
2014-11-08 01:24:02.22 spid74 Error: 701, Severity: 17, State: 123.
2014-11-08 01:24:02.22 spid74 There is insufficient system memory in resource pool 'internal' to run this query.
2014-11-08 01:24:13.22 Server Error: 17312, Severity: 16, State: 1. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped.
2014-11-08 01:24:13.22 spid87 Error: 701, Severity: 17, State: 123.
2014-11-08 01:24:13.22 spid87 There is insufficient system memory in resource pool 'internal' to run this query.
2014-11-08 01:24:13.22 spid63 Error: 701, Severity: 17, State: 130.
2014-11-08 01:24:13.22 spid63 There is insufficient system memory in resource pool 'internal' to run this query.
2014-11-08 01:24:13.22 spid57 Error: 701, Severity: 17, State: 123.
2014-11-08 01:24:13.22 spid57 There is insufficient system memory in resource pool 'internal' to run this query.
2014-11-08 01:24:13.22 Server Error: 17300, Severity: 16, State: 1. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped.
2014-11-08 01:24:18.26 Server Error: 17300, Severity: 16, State: 1. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped.
2014-11-08 01:24:24.43 spid81 Error: 701, Severity: 17, State: 123.
2014-11-08 01:24:24.43 spid81 There is insufficient system memory in resource pool 'internal' to run this query.
2014-11-08 01:24:18.25 Server Error: 18052, Severity: -1, State: 0. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped.
2014-11-08 01:24:18.25 Server BRKR TASK: Operating system error Exception 0x1 encountered.
2014-11-08 01:24:30.11 Server Error: 17300, Severity: 16, State: 1. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped.
2014-11-08 01:24:30.11 Server Error: 17300, Severity: 16, State: 1. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped.
2014-11-08 01:24:35.18 spid57 Error: 701, Severity: 17, State: 131.
2014-11-08 01:24:35.18 spid57 There is insufficient system memory in resource pool 'internal' to run this query.
2014-11-08 01:24:35.18 spid71 Error: 701, Severity: 17, State: 193.
2014-11-08 01:24:35.18 spid71 There is insufficient system memory in resource pool 'internal' to run this query.
2014-11-08 01:24:35.18 Server Error: 17312, Severity: 16, State: 1. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped.
2014-11-08 01:24:35.41 Server Error: 17312, Severity: 16, State: 1.
2014-11-08 01:24:35.41 Server SQL Server is terminating a system or background task SSB Task due to errors in starting up the task (setup state 1).
2014-11-08 01:24:35.71 Server Error: 17053, Severity: 16, State: 1.
2014-11-08 01:24:35.71 Server BRKR TASK: Operating system error Exception 0x1 encountered.
2014-11-08 01:24:35.71 spid73 Error: 701, Severity: 17, State: 123.
2014-11-08 01:24:35.71 spid73 There is insufficient system memory in resource pool 'internal' to run this query.
2014-11-08 01:24:46.30 Server Error: 17312, Severity: 16, State: 1. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped.
2014-11-08 01:24:51.31 Server Error: 17053, Severity: 16, State: 1. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped.
2014-11-08 01:24:51.31 Server Error: 17300, Severity: 16, State: 1. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped.
2014-11-08 01:24:51.31 Logon Error: 18052, Severity: -1, State: 0. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped.
Last error message is half an hour after the inital Out of memory at 2014-11-08 01:52:54.03. Then the Instance is completely shut down
From the memory information in the error log we can see that all the memory is consumed by the QUERY_OPTIMIZER
Buffer Pool Value
Committed 2621440
Target 2621440
Database 130726
Dirty 3682
In IO
0
Latched
1
Free
346
Stolen 2490368
Reserved 0
Visible 2621440
Stolen Potential 0
Limiting Factor 17
Last OOM Factor 0
Last OS Error 0
Page Life Expectancy 28
2014-11-08 01:22:48.90 spid75
Process/System Counts Value
Available Physical Memory 29361627136
Available Virtual Memory 8691842715648
Available Paging File 51593969664
Working Set 628932608
Percent of Committed Memory in WS 100
Page Faults 48955000
System physical memory high 1
System physical memory low 0
Process physical memory low 1
Process virtual memory low 0
MEMORYCLERK_SQLOPTIMIZER (node 1) KB
VM Reserved 0
VM Committed 0
Locked Pages Allocated 0
SM Reserved 0
SM Committed 0
SinglePage Allocator 19419712
MultiPage Allocator 128
Memory Manager KB
VM Reserved 100960236
VM Committed 277664
Locked Pages Allocated 21483904
Reserved Memory 1024
Reserved Memory In Use 0
On the other side MDW reports that the MEMORYCLERK_SQLOPTIMIZER increases since the execution of the query up to the point of OUTOF MEMORY, but the Average value is 54.7 MB during that period as can be seen on attached graph.
We have encountered this issue already two times (every time the critical query is executed).Hi,
This does seems to me kind of memory Leak and actually it is from SQL Optimizer which leaked memory from buffer pool so much that it did not had any memory to be allocated for new page.
MEMORYCLERK_SQLOPTIMIZER (node 1) KB
VM Reserved 0
VM Committed 0
Locked Pages Allocated 0
SM Reserved 0
SM Committed 0
SinglePage Allocator 19419712
MultiPage Allocator 128
Can you post complete DBCC MEMORYSTATUS output which was generated in errorlog. Is this the only message in errorlog or there are some more messages before and after it.
select (SUM(single_pages_kb)*1024)/8192 as total_stolen_pages, type
from sys.dm_os_memory_clerks
group by typeorder by total_stolen_pages desc
and
select sum(pages_allocated_count * page_size_in_bytes)/1024,type from sys.dm_os_memory_objects
group by type
If you can post the output of above two queries with dbcc memorystaus output on some shared drive and share location with us here. I would try to find out what is leaking memory.
You can very well apply SQL Server 2008 r2 SP3 and see if this issue subsides but I am not sure whether this is fixed or actually it is a bug.
Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it
My Technet Wiki Article
MVP -
Pro*c multithreaded application has memory leak
Hi there,
I posted this message a week ago in OCI section, nobody answer me.
I am really curious if my application has a bug or the pro*c has a bug.
Anyone can compile the sample code and test it easily.
I made multithreaded application which queries dynamic SQL, it works.
But the memory leaks when i query the SQL statement.
The more memory leaks, the more i query the SQL statement, even same SQL
statement.
I check it with top, shell command.
My machine is SUN E450, Solaris 8. Oracle 9.2.0.1
Compiler : gcc (GCC) 3.2.2
I changed source code which is from
$(ORACLE_HOME)/precomp/demo/proc/sample10.pc
the sample10 doesn't need to be multithreaded. But i think it has to work
correctly if i changed it to multithreaded application.
the make file and source code will be placed below.
I have to figure out the problem.
Please help
Thanks in advance,
the make file is below
HOME = /user/jkku
ORA = $(ORACLE_HOME)
CC = gcc
PROC = proc
LC_INCL = -I$(HOME)/work/dbmss/libs/include
lc_incl = include=$(HOME)/work/dbmss/libs/include
SYS_INCL =
sys_incl =
ORA_INCL = -I. \
-I$(ORA)/precomp/public \
-I$(ORA)/rdbms/public \
-I$(ORA)/rdbms/demo \
-I$(ORA)/rdbms/pbsql/public \
-I$(ORA)/network/public \
-DSLMXMX_ENABLE -DSLTS_ENABLE -D_SVID_GETTOD
INCLUDES = $(LC_INCL) $(SYS_INCL) $(ORA_INCL)
includes = $(lc_incl) $(sys_incl)
LC_LIBS =
SYS_LIBS = -lpthread -lsocket -lnsl -lrt
ORA_LIBS = -L$(ORA)/lib/ -lclntsh
LIBS = $(LC_LIBS) $(SYS_LIBS) $(ORA_LIBS)
# Define C Compiler flags
CFLAGS += -D_Solaris64_ -m64
CFLAGS += -g -D_REENTRANT
# Define pro*c Compiler flags
PROCFLAGS += THREADS=YES
PROCFLAGS += CPOOL=YES
# Our object files
PRECOMPS = sample10.c
OBJS = sample10.o
.SUFFIXES: .o .c .pc
.c.o:
$(CC) -c $(CFLAGS) $(INCLUDES) $*.c
.pc.c:
$(PROC) $(PROCFLAGS) $(includes) $*.pc $*.c
all: sample10
sample10: $(PRECOMPS) $(OBJS)
$(CC) $(CFLAGS) -o sample10 $(OBJS) $(LIBS)
clean:
rm -rf *.o sample10 sample10.c
the source code is below which i changed the oracle sample10.pc to
multithreaded application.
Sample Program 10: Dynamic SQL Method 4
This program connects you to ORACLE using your username and
password, then prompts you for a SQL statement. You can enter
any legal SQL statement. Use regular SQL syntax, not embedded SQL.
Your statement will be processed. If it is a query, the rows
fetched are displayed.
You can enter multi-line statements. The limit is 1023 characters.
This sample program only processes up to MAX_ITEMS bind variables and
MAX_ITEMS select-list items. MAX_ITEMS is #defined to be 40.
#include <stdio.h>
#include <string.h>
#include <setjmp.h>
#include <sqlda.h>
#include <stdlib.h>
#include <sqlcpr.h>
/* Maximum number of select-list items or bind variables. */
#define MAX_ITEMS 40
/* Maximum lengths of the names of the
select-list items or indicator variables. */
#define MAX_VNAME_LEN 30
#define MAX_INAME_LEN 30
#ifndef NULL
#define NULL 0
#endif
/* Prototypes */
#if defined(__STDC__)
void sql_error(void);
int oracle_connect(void);
int alloc_descriptors(int, int, int);
int get_dyn_statement(void);
void set_bind_variables(void);
void process_select_list(void);
void help(void);
#else
void sql_error(/*_ void _*/);
int oracle_connect(/*_ void _*/);
int alloc_descriptors(/*_ int, int, int _*/);
int get_dyn_statement(/* void _*/);
void set_bind_variables(/*_ void -*/);
void process_select_list(/*_ void _*/);
void help(/*_ void _*/);
#endif
char *dml_commands[] = {"SELECT", "select", "INSERT", "insert",
"UPDATE", "update", "DELETE", "delete"};
EXEC SQL INCLUDE sqlda;
EXEC SQL INCLUDE sqlca;
EXEC SQL BEGIN DECLARE SECTION;
char dyn_statement[1024];
EXEC SQL VAR dyn_statement IS STRING(1024);
EXEC SQL END DECLARE SECTION;
EXEC ORACLE OPTION (ORACA=YES);
EXEC ORACLE OPTION (RELEASE_CURSOR=YES);
SQLDA *bind_dp;
SQLDA *select_dp;
/* Define a buffer to hold longjmp state info. */
jmp_buf jmp_continue;
char *db_uid="dbmuser/dbmuser@dbmdb";
sql_context ctx;
int err_sql;
enum{
SQL_SUCC=0,
SQL_ERR,
SQL_NOTFOUND,
SQL_UNIQUE,
SQL_DISCONNECT,
SQL_NOTNULL
int main()
int i;
EXEC SQL ENABLE THREADS;
EXEC SQL WHENEVER SQLERROR DO sql_error();
EXEC SQL WHENEVER NOT FOUND DO sql_not_found();
/* Connect to the database. */
if (connect_database() < 0)
exit(1);
EXEC SQL CONTEXT USE :ctx;
/* Process SQL statements. */
for (;;)
/* Allocate memory for the select and bind descriptors. */
if (alloc_descriptors(MAX_ITEMS, MAX_VNAME_LEN, NAME_LEN) != 0)
exit(1);
(void) setjmp(jmp_continue);
/* Get the statement. Break on "exit". */
if (get_dyn_statement() != 0)
break;
EXEC SQL PREPARE S FROM :dyn_statement;
EXEC SQL DECLARE C CURSOR FOR S;
/* Set the bind variables for any placeholders in the
SQL statement. */
set_bind_variables();
/* Open the cursor and execute the statement.
* If the statement is not a query (SELECT), the
* statement processing is completed after the
* OPEN.
EXEC SQL OPEN C USING DESCRIPTOR bind_dp;
/* Call the function that processes the select-list.
* If the statement is not a query, this function
* just returns, doing nothing.
process_select_list();
/* Tell user how many rows processed. */
for (i = 0; i < 8; i++)
if (strncmp(dyn_statement, dml_commands, 6) == 0)
printf("\n\n%d row%c processed.\n", sqlca.sqlerrd[2], sqlca.sqlerrd[2] == 1 ? '\0' : 's');
break;
/* Close the cursor. */
EXEC SQL CLOSE C;
/* When done, free the memory allocated for pointers in the bind and
select descriptors. */
for (i = 0; i < MAX_ITEMS; i++)
if (bind_dp->V != (char *) 0)
free(bind_dp->V);
free(bind_dp->I); /* MAX_ITEMS were allocated. */
if (select_dp->V != (char *) 0)
free(select_dp->V);
free(select_dp->I); /* MAX_ITEMS were allocated. */
/* Free space used by the descriptors themselves. */
SQLSQLDAFree(ctx, bind_dp);
SQLSQLDAFree(ctx, select_dp);
} /* end of for(;;) statement-processing loop */
disconnect_database();
EXEC SQL WHENEVER SQLERROR CONTINUE;
EXEC SQL COMMIT WORK RELEASE;
puts("\nHave a good day!\n");
return;
* Allocate the BIND and SELECT descriptors using sqlald().
* Also allocate the pointers to indicator variables
* in each descriptor. The pointers to the actual bind
* variables and the select-list items are realloc'ed in
* the set_bind_variables() or process_select_list()
* routines. This routine allocates 1 byte for select_dp->V
* and bind_dp->V, so the realloc will work correctly.
alloc_descriptors(size, max_vname_len, max_iname_len)
int size;
int max_vname_len;
int max_iname_len;
int i;
* The first sqlald parameter determines the maximum number of
* array elements in each variable in the descriptor. In
* other words, it determines the maximum number of bind
* variables or select-list items in the SQL statement.
* The second parameter determines the maximum length of
* strings used to hold the names of select-list items
* or placeholders. The maximum length of column
* names in ORACLE is 30, but you can allocate more or less
* as needed.
* The third parameter determines the maximum length of
* strings used to hold the names of any indicator
* variables. To follow ORACLE standards, the maximum
* length of these should be 30. But, you can allocate
* more or less as needed.
if ((bind_dp =
SQLSQLDAAlloc(ctx, size, max_vname_len, max_iname_len)) ==
(SQLDA *) 0)
fprintf(stderr,
"Cannot allocate memory for bind descriptor.");
return -1; /* Have to exit in this case. */
if ((select_dp =
SQLSQLDAAlloc(ctx, size, max_vname_len, max_iname_len)) == (SQLDA *)
0)
fprintf(stderr,
"Cannot allocate memory for select descriptor.");
return -1;
select_dp->N = MAX_ITEMS;
/* Allocate the pointers to the indicator variables, and the
actual data. */
for (i = 0; i < MAX_ITEMS; i++) {
bind_dp->I = (short *) malloc(sizeof (short));
select_dp->I = (short *) malloc(sizeof(short));
bind_dp->V = (char *) malloc(1);
select_dp->V = (char *) malloc(1);
return 0;
int get_dyn_statement()
char *cp, linebuf[256];
int iter, plsql;
for (plsql = 0, iter = 1; ;)
if (iter == 1)
printf("\nSQL> ");
dyn_statement[0] = '\0';
fgets(linebuf, sizeof linebuf, stdin);
cp = strrchr(linebuf, '\n');
if (cp && cp != linebuf)
*cp = ' ';
else if (cp == linebuf)
continue;
if ((strncmp(linebuf, "EXIT", 4) == 0) ||
(strncmp(linebuf, "exit", 4) == 0))
return -1;
else if (linebuf[0] == '?' ||
(strncmp(linebuf, "HELP", 4) == 0) ||
(strncmp(linebuf, "help", 4) == 0))
help();
iter = 1;
continue;
if (strstr(linebuf, "BEGIN") ||
(strstr(linebuf, "begin")))
plsql = 1;
strcat(dyn_statement, linebuf);
if ((plsql && (cp = strrchr(dyn_statement, '/'))) ||
(!plsql && (cp = strrchr(dyn_statement, ';'))))
*cp = '\0';
break;
else
iter++;
printf("%3d ", iter);
return 0;
void set_bind_variables()
int i, n;
char bind_var[64];
/* Describe any bind variables (input host variables) */
EXEC SQL WHENEVER SQLERROR DO sql_error();
bind_dp->N = MAX_ITEMS; /* Initialize count of array elements. */
EXEC SQL DESCRIBE BIND VARIABLES FOR S INTO bind_dp;
/* If F is negative, there were more bind variables
than originally allocated by sqlald(). */
if (bind_dp->F < 0)
printf ("\nToo many bind variables (%d), maximum is %d\n.",
-bind_dp->F, MAX_ITEMS);
return;
/* Set the maximum number of array elements in the
descriptor to the number found. */
bind_dp->N = bind_dp->F;
/* Get the value of each bind variable as a
* character string.
* C contains the length of the bind variable
* name used in the SQL statement.
* S contains the actual name of the bind variable
* used in the SQL statement.
* L will contain the length of the data value
* entered.
* V will contain the address of the data value
* entered.
* T is always set to 1 because in this sample program
* data values for all bind variables are entered
* as character strings.
* ORACLE converts to the table value from CHAR.
* I will point to the indicator value, which is
* set to -1 when the bind variable value is "null".
for (i = 0; i < bind_dp->F; i++)
printf ("\nEnter value for bind variable %.*s: ",
(int)bind_dp->C, bind_dp->S);
fgets(bind_var, sizeof bind_var, stdin);
/* Get length and remove the new line character. */
n = strlen(bind_var) - 1;
/* Set it in the descriptor. */
bind_dp->L = n;
/* (re-)allocate the buffer for the value.
sqlald() reserves a pointer location for
V but does not allocate the full space for
the pointer. */
bind_dp->V = (char *) realloc(bind_dp->V, (bind_dp->L + 1));
/* And copy it in. */
strncpy(bind_dp->V, bind_var, n);
/* Set the indicator variable's value. */
if ((strncmp(bind_dp->V, "NULL", 4) == 0) ||
(strncmp(bind_dp->V, "null", 4) == 0))
*bind_dp->I = -1;
else
*bind_dp->I = 0;
/* Set the bind datatype to 1 for CHAR. */
bind_dp->T = 1;
return;
void process_select_list()
int i, null_ok, precision, scale;
if ((strncmp(dyn_statement, "SELECT", 6) != 0) &&
(strncmp(dyn_statement, "select", 6) != 0))
select_dp->F = 0;
return;
/* If the SQL statement is a SELECT, describe the
select-list items. The DESCRIBE function returns
their names, datatypes, lengths (including precision
and scale), and NULL/NOT NULL statuses. */
select_dp->N = MAX_ITEMS;
EXEC SQL DESCRIBE SELECT LIST FOR S INTO select_dp;
/* If F is negative, there were more select-list
items than originally allocated by sqlald(). */
if (select_dp->F < 0)
printf ("\nToo many select-list items (%d), maximum is %d\n",
-(select_dp->F), MAX_ITEMS);
return;
/* Set the maximum number of array elements in the
descriptor to the number found. */
select_dp->N = select_dp->F;
/* Allocate storage for each select-list item.
sqlprc() is used to extract precision and scale
from the length (select_dp->L).
sqlnul() is used to reset the high-order bit of
the datatype and to check whether the column
is NOT NULL.
CHAR datatypes have length, but zero precision and
scale. The length is defined at CREATE time.
NUMBER datatypes have precision and scale only if
defined at CREATE time. If the column
definition was just NUMBER, the precision
and scale are zero, and you must allocate
the required maximum length.
DATE datatypes return a length of 7 if the default
format is used. This should be increased to
9 to store the actual date character string.
If you use the TO_CHAR function, the maximum
length could be 75, but will probably be less
(you can see the effects of this in SQL*Plus).
ROWID datatype always returns a fixed length of 18 if
coerced to CHAR.
LONG and
LONG RAW datatypes return a length of 0 (zero),
so you need to set a maximum. In this example,
it is 240 characters.
printf ("\n");
for (i = 0; i < select_dp->F; i++)
char title[MAX_VNAME_LEN];
/* Turn off high-order bit of datatype (in this example,
it does not matter if the column is NOT NULL). */
sqlnul ((unsigned short *)&(select_dp->T), (unsigned short
*)&(select_dp->T), &null_ok);
switch (select_dp->T)
case 1 : /* CHAR datatype: no change in length
needed, except possibly for TO_CHAR
conversions (not handled here). */
break;
case 2 : /* NUMBER datatype: use sqlprc() to
extract precision and scale. */
sqlprc ((unsigned int *)&(select_dp->L), &precision,
&scale);
/* Allow for maximum size of NUMBER. */
if (precision == 0) precision = 40;
/* Also allow for decimal point and
possible sign. */
/* convert NUMBER datatype to FLOAT if scale > 0,
INT otherwise. */
if (scale > 0)
select_dp->L = sizeof(float);
else
select_dp->L = sizeof(int);
break;
case 8 : /* LONG datatype */
select_dp->L = 240;
break;
case 11 : /* ROWID datatype */
case 104 : /* Universal ROWID datatype */
select_dp->L = 18;
break;
case 12 : /* DATE datatype */
select_dp->L = 9;
break;
case 23 : /* RAW datatype */
break;
case 24 : /* LONG RAW datatype */
select_dp->L = 240;
break;
/* Allocate space for the select-list data values.
sqlald() reserves a pointer location for
V but does not allocate the full space for
the pointer. */
if (select_dp->T != 2)
select_dp->V = (char *) realloc(select_dp->V,
select_dp->L + 1);
else
select_dp->V = (char *) realloc(select_dp->V,
select_dp->L);
/* Print column headings, right-justifying number
column headings. */
/* Copy to temporary buffer in case name is null-terminated */
memset(title, ' ', MAX_VNAME_LEN);
strncpy(title, select_dp->S, select_dp->C);
if (select_dp->T == 2)
if (scale > 0)
printf ("%.*s ", select_dp->L+3, title);
else
printf ("%.*s ", select_dp->L, title);
else
printf("%-.*s ", select_dp->L, title);
/* Coerce ALL datatypes except for LONG RAW and NUMBER to
character. */
if (select_dp->T != 24 && select_dp->T != 2)
select_dp->T = 1;
/* Coerce the datatypes of NUMBERs to float or int depending on
the scale. */
if (select_dp->T == 2)
if (scale > 0)
select_dp->T = 4; /* float */
else
select_dp->T = 3; /* int */
printf ("\n\n");
/* FETCH each row selected and print the column values. */
EXEC SQL WHENEVER NOT FOUND GOTO end_select_loop;
for (;;)
EXEC SQL FETCH C USING DESCRIPTOR select_dp;
/* Since each variable returned has been coerced to a
character string, int, or float very little processing
is required here. This routine just prints out the
values on the terminal. */
for (i = 0; i < select_dp->F; i++)
if (*select_dp->I < 0)
if (select_dp->T == 4)
printf ("%-*c ",(int)select_dp->L+3, ' ');
else
printf ("%-*c ",(int)select_dp->L, ' ');
else
if (select_dp->T == 3) /* int datatype */
printf ("%*d ", (int)select_dp->L,
*(int *)select_dp->V);
else if (select_dp->T == 4) /* float datatype */
printf ("%*.2f ", (int)select_dp->L,
*(float *)select_dp->V);
else /* character string */
printf ("%-*.*s ", (int)select_dp->L,
(int)select_dp->L, select_dp->V);
printf ("\n");
end_select_loop:
return;
void help()
puts("\n\nEnter a SQL statement or a PL/SQL block at the SQL> prompt.");
puts("Statements can be continued over several lines, except");
puts("within string literals.");
puts("Terminate a SQL statement with a semicolon.");
puts("Terminate a PL/SQL block (which can contain embedded
semicolons)");
puts("with a slash (/).");
puts("Typing \"exit\" (no semicolon needed) exits the program.");
puts("You typed \"?\" or \"help\" to get this message.\n\n");
int connect_database()
err_sql = SQL_SUCC;
EXEC SQL WHENEVER SQLERROR DO sql_error();
EXEC SQL WHENEVER NOT FOUND DO sql_not_found();
EXEC SQL CONTEXT ALLOCATE :ctx;
EXEC SQL CONTEXT USE :ctx;
EXEC SQL CONNECT :db_uid;
if(err_sql != SQL_SUCC){
printf("err => connect database(ctx:%ld, uid:%s) failed!\n", ctx, db_uid);
return -1;
return 1;
int disconnect_database()
err_sql = SQL_SUCC;
EXEC SQL WHENEVER SQLERROR DO sql_error();
EXEC SQL WHENEVER NOT FOUND DO sql_not_found();
EXEC SQL CONTEXT USE :ctx;
EXEC SQL COMMIT WORK RELEASE;
EXEC SQL CONTEXT FREE:ctx;
return 1;
void sql_error()
printf("err => %.*s", sqlca.sqlerrm.sqlerrml, sqlca.sqlerrm.sqlerrmc);
printf("in \"%.*s...\'\n", oraca.orastxt.orastxtl, oraca.orastxt.orastxtc);
printf("on line %d of %.*s.\n\n", oraca.oraslnr, oraca.orasfnm.orasfnml,
oraca.orasfnm.orasfnmc);
switch(sqlca.sqlcode) {
case -1: /* unique constraint violated */
err_sql = SQL_UNIQUE;
break;
case -1012: /* not logged on */
case -1089:
case -3133:
case -1041:
case -3114:
case -3113:
/* �6�Ŭ�� shutdown�ǰų� �α��� ���°� �ƴҶ� ��b�� �õ� */
/* immediate shutdown in progress - no operations are permitted */
/* end-of-file on communication channel */
/* internal error. hostdef extension doesn't exist */
err_sql = SQL_DISCONNECT;
break;
case -1400:
err_sql = SQL_NOTNULL;
break;
default:
err_sql = SQL_ERR;
break;
EXEC SQL CONTEXT USE :ctx;
EXEC SQL WHENEVER SQLERROR CONTINUE;
EXEC SQL ROLLBACK WORK;
void sql_not_found()
err_sql = SQL_NOTFOUND;Hi Jane,
What version of Berkeley DB XML are you using?
What is your operating system and your hardware platform?
For how long have been the application running?
What is your current container size?
What's set for EnvironmentConfig.setThreaded?
Do you know if containers have previously not been closed correctly?
Can you please post the entire error output?
What's the JDK version, 1.4 or 1.5?
Thanks,
Bogdan -
Hi ,
I am working in Solaris 9 x86, with Oracle installed on it.I am getting memory leaks reported in occi library.
Machine Details:
Hostname: ALEXANDER
Hostid: 2ed11ae9
Release: 5.9
Kernel architecture: i86pc
Application architecture: i386
Hardware provider:
Domain:
Kernel version: SunOS 5.9 Generic 112234-10 Nov 2003
Database Version :
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
Compiler Version:
CC: Sun C++ 5.5 Patch 113819-09 2004/08/03.
Compiler arguments:
CC -w -g Main.cpp -I$ORACLE_INCLUDE -o Main -lclntsh -locci
I started with the demo apps for occi that comes with Oracle.
After running the executables and checking with the bcheck utility I receive the errors due to memory leak.
bcheck -all ./Main
Actual leaks report (actual leaks: 2 total size: 43 bytes)
<rtc> Memory Leak (mel):
Found leaked block of size 31 bytes at address 0x812d6f8
At time of allocation, the call stack was:
[1] operator new() at 0xd7906718
[2] operator new[]() at 0xd7905ab8
[3] oracle::occi::StatementImpl::do_setSQL() at 0xda13e681
[4] oracle::occi::StatementImpl::StatementImpl() at 0xda13e1bf
[5] oracle::occi::ConnectionImpl::createStatement() at 0xda136863
[6] occidml::executeSelectStatement() at line 46 in "Main.h"
[7] main() at line 12 in "Main.cpp"
<rtc> Memory Leak (mel):
Found leaked block of size 12 bytes at address 0x8084c40
At time of allocation, the call stack was:
[1] operator new() at 0xd7906718
[2] std::vector<OCIParam*,std::allocator<OCIParam*> >::__insert_aux() at 0xda145c19
[3] std::vector<OCIParam*,std::allocator<OCIParam*> >::resize() at 0xda145443
[4] oracle::occi::StatementImpl::initParamVec() at 0xda144e70
[5] oracle::occi::ResultSetImpl::next() at 0xda146404
[6] main() at line 15 in "Main.cpp"
If any body needs more info , pls send me your email address so that I can send my source files.can you post this in the OCCI forum?
Maybe you are looking for
-
Can not install Oracle on Redhat 7.3
I have installed Redhat 7.3 . I tried to install Oracle 8i Release 2 (8.1.6). But when I try to run runInstaller, nothing runs, Applet(JRE) does not open. what is the problem? I have successfully installed this Oracle 8.1.6 on Redhat 6.2
-
I would like to have the ending times shown on my monthly calendar. As of now, it only shows the start time. The end times show up on the weekly calendar, but I don't want to print from the weekly view.
-
Form problem...pl / sql edit
I am doing a form master detail using the web interface of the portal, and i am trying to edit the pl/sql generated by the web code generator...but i can't find how to go into the sql code... any idea??? What i am trying to do basicallly is to run a
-
Why can't I play DVDs from my mac to my Apple TV
I can't play a DVD from my iMac to my Apple TV, why and what can I do to fix this
-
Hi Friends, I am facing a problem with MRP. In my Implementation, my Client is a Automobile Gasket Manufacturer. One major product line is Gaskets which is high volume and low price We will use Make to stock with streategy 40. Now the queries are as