pop3_getResponseN2: Socket connection closed - chilkat-email

After calling TransferMail() a second time the result is null. LastErrorText is
ChilkatLog: TransferMail:
DllDate: Jun 24 2022
ChilkatVersion: 9.5.0.91
UnlockPrefix: NTELES.CB1022023
Architecture: Little Endian; 64-bit
Language: .NET 4.8 / x64
VerboseLogging: 0
Component successfully unlocked using purchased unlock code.
PopCmdSent: STAT
pop3_getResponseN2: Socket connection closed.
Failed to received remainder of POP3 multi-line response.
matchStr:
Failed to get STAT response --TransferMail
--ChilkatLog
I recently updated from v7.5 to 9.5 which is when this issues started to appear. Was there a breaking change? What is the best way to correct this? Should the MailMan object be tossed away and re-created for every call to check for email?

Examine the contents of the mailman.Pop3SessionLog property prior to calling TransferMail.
Maybe something happened beforehand that caused the problem.
Also, when debugging it's best to turn on VerboseLogging. Set mailman.VerboseLogging = true

Related

Solaris SMF for Oracle DB is ok but not for the Listener. How can an SMF method work under svcadm but not to restart the service when it has failed?

I have 2 questions about Solaris SMF. (I am an SMF newbie.)
I set up the Oracle RDBMS service in SMF as per https://docs.oracle.com/cd/E37838_01/html/E61677/odbstartstop.html
The database part works entirely as expected, so I added a listener as another service instance seeing as the method script has an option of 'listener' as an argument instead of 'db' and will run a lsnrctl start ${LISTENER} instead of using sqlplus to access and then start or stop a database instance.
The svcadm enable and svcadm disable of the service start and stop the listener as expected. The issue is that the framework senses if lsnrctl is running but does nothing to restart it, if it has stopped. See below:
svc:/site/oracle/db/oracle12lsnr:LISTENER4 (?)
State: maintenance since May 21, 2020 03:25:39 PM BST
Reason: Method failed.
See: http://support.oracle.com/msg/SMF-8000-8Q
See: /var/svc/log/site-oracle-db-oracle12lsnr:LISTENER4.log
Impact: This service is not running.
The - Reason: Method failed. - is not congruent with the fact that invoking the method via svcadm enable (or disable) shows that the method works just fine.
Further investigation - I killed the lsnrctl process from root and got this from svcs -Lv
[ May 22 14:13:30 Executing stop method ("/lib/svc/method/svc-oracle12-database lsnr stop LISTENER4"). ]
LSNRCTL for Solaris: Version 12.1.0.2.0 - Production on 22-MAY-2020 14:13:30
Copyright (c) 1991, 2016, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=orahost.some.domain)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Solaris Error: 146: Connection refused
[ May 22 14:13:30 Method "stop" exited with status 95. ]
So the first question has changed and is now: Why would it run the stop method? The db version of this service runs the start method when the database service goes down.
Answer to Q1: the service framework runs the stop method followed by the start method. Once this was established a fresh look at the method script revealed a flaw. It error exited in the stop method if it couldn't contact the tnslsnr process. (Logic fail. If the tnslsnr process was killed you can't test a connection to it!)
To be honest I am struggling with the sheer volume of information to get through. I am currently reading through the pdf version of the URL above. I had a quick look here at Moellenkamp's blog http://blog.moellenkamp.org/archives/18-Auditing-a-single-SMF-service-revisted.html but I've not implemented that auditing service yet - assuming it would help anyway. If anyone has any thoughts as to why this isn't working I'd be really grateful.
The second question is this:
In the example the manifest is stored in /lib/svc/manifest/site/oracle/db and first time around I changed this to /lib/svc/manifest/site/oracle12db since 2 subdirectories (after .../site) seemed a little over the top and this resulted in the service just failing to work in any way (always in maintenance). I had adjusted the manifest xml file to match the changed directory structure. I was baffled and after fiddling around I simply changed the xml files and directory structure to match the example and it all worked. Why would that be? Is there some formula to the layers in the service_name or service_bundle?
I haven't yet read anything that says the directory structure has to be extended as per the example. I had not typo'd the xml file as far as I can tell - especially as revoking the changes to match the original example was simply to alter the service_name and service_bundle lines to match the extended directory structure.
To diagnose the reason for a service failure, always start with the service log, path for which is in the svcs output. Or just use "svcs -Lv " to display it directly.
Another 'easy when you know how'.
Upon failure the framework runs the stop method followed by the start method.
I can now scan through the pdf and look to confirm this and also such things as restart and refresh.
I'll vote for user13596356's response because the quick turnaround on checking the log and a bit of input from an SMF question by user40330 from 7 yrs ago got me looking at the service method script which was flawed.

How to check if session is being shadowed in Windows Terminal Server

Assume the following scenario:
I log on terminal server with RDP (Windows Server 2012 R2 or 2016)
Another user connects to my session with "mstsc.exe /shadow" command.
I get the message to confirm this access, and I agree.
Then, after a while I would like to check if my session still being shadowed.
Is there any way to perform this check? Any command, Win32 API, WMI query?
So far, I was only able to find out that rdpsaproxy.exe program is started in shadowed session. That is almost enough, but this program also keeps running when user denies access when prompted to accept initial shadowing request. So detecting presence of rdpsaproxy in check session is not enough to say that somebody is watching me.
You could bind a notification task to the events of Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational event log:
20503 - shadow watching started
20504 - shadow watching stopped
20506 - shadow control started
20507 - shadow control stopped

Periodic tns-12531: TNS: Cannot allocate memory

I have a problem that's been plaguing me about a year now. I have Oracle 12.1.x.x installed on my machine. After a day or two the listener stops responding and the listener.log contains a bunch of TNS-12531 messages. If I reboot, the problem goes away and I'm fine for another day or two. I'm lazy and I hate rebooting, so I decided to finally track this down, but I'm having no luck. Since the alternative is to do work that I really don't want to do, I'm going to spend all my time researching this.
Some notes:
Windows 10 Pro
64-Bit
32 GB RAM
Generally, about 20GB free when the error occurs
I have several databases and it doesn't matter which DB is running
Restarting the DB doesn't help
Restarting the listener doesn't help
Only rebooting clears the problem
When I set TRACE_LEVEL_LISTENER = 16, I don't get much more info. Trace files are not written to
I can connect to the DB if I bypass the listener (ie, set ORACLE_SID=xxx and connect without a DB identifier)
All other network interactions seem to work fine after the listener stops
lsnrctl status hangs and adds another TNS-12531 to the listener.log
I have roughly the same config at home and this does not happen
Below is an example of a listener.log file:
Fri Jul 28 14:21:47 2017
System parameter file is D:\app\user\product\12.1.0\dbhome_1\network\admin\listener.ora
Log messages written to D:\app\user\diag\tnslsnr\LJ-Quad\listener\alert\log.xml
Trace information written to D:\app\user\diag\tnslsnr\LJ-Quad\listener\trace\ora_24288_14976.trc
Trace level is currently 16
Started with pid=24288
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=LJ-Quad)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
Listener completed notification to CRS on start
TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
28-JUL-2017 14:22:06 * 12531
TNS-12531: TNS:cannot allocate memory
28-JUL-2017 14:22:47 * 12531
TNS-12531: TNS:cannot allocate memory
28-JUL-2017 14:26:24 * 12531
TNS-12531: TNS:cannot allocate memory
Thanks a bunch for any help you can provide!
Issue 1
This error can occur approximately after 2048 connections have been made via the listener when running on a non-English Windows installation.
Fix for Issue 1
Create a Windows User Group named Administrators on the computer where the listener.exe resides. This can fix the issue of the listener dying.
Reference: I'll post the link for the first issue as soon as I find it again
Issue 2
This error can also occur on Windows 64-Bit systems where the Desktop Application Heap is too small.
Fix for Issue 2
Try to Increase the Desktop Application Heap Registry in windows its located in
HKLM\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows
Just as note don't add this Value by yourself, you have to depend on document.
Basically search for the registry entry and alter the third value for the key SharedSection=1024,20480,1024. This is a trial and error approach, but seems to improve listener's stability and memory issues.
Reference: TNS:cannot allocate memory - is there limit to the num databases on one box (Oracle Developer Community)

Process Engine Dispatcher exception while transferring the workflow

When a workflow is being transferred the PE error occurred. I am using custom components other than CE_Operations in workflow.
ERROR STACK:
[FATAL 09 Apr 2014 15:25:21] Dispatcher got exception while doing query at April 9, 2014 3:25:21 PM GMT+05:30. Cause=[FNRPE2131090092E]The work space time stamp is stale
The work space has been updated by transfer, so the client workstation needs to load new workspaces and a new time stamp.
at filenet.pe.peorb.client.ORBUtility.mapServerException(ORBUtility.java:529)
at filenet.pe.peorb.client.ORBSession.executeRPC(ORBSession.java:1266)
at filenet.pe.peorb.client.ORBSession.fetch(ORBSession.java:2112)
at filenet.vw.api.VWQuery.fetch(VWQuery.java:653)
at filenet.vw.api.VWQueueQuery.dofetch(VWQueueQuery.java:429)
at filenet.vw.api.VWQuery.hasNext(VWQuery.java:768)
at filenet.vw.api.VWQueueQuery.hasNext(VWQueueQuery.java:461)
at filenet.vw.integrator.base.VWAdaptorControlEx$WorkflowDispatcher.run(VWAdaptorControlEx.java:359)
Root Cause:
[FNRPE2131090092E]The work space time stamp is stale
The work space has been updated by transfer, so the client workstation needs to load new workspaces and a new time stamp.
at filenet.jpe.server.common.IVWRuntimeServer.checkTimeStamps(IVWRuntimeServer.java:4754)
at filenet.jpe.server.common.IVWRuntimeServer.InitSession(IVWRuntimeServer.java:4064)
at filenet.jpe.rpc.orb.OrbRPC.<init>(OrbRPC.java:696)
at filenet.jpe.rpc.orb.ORBPERPC.orb_rpc_fetchQuery(ORBPERPC.java:911)
at filenet.pe.peorb.FileNet_PERPC.PERPCPOA._invoke(PERPCPOA.java:697)
at com.ibm.CORBA.poa.POAServerDelegate.dispatchToServant(POAServerDelegate.java:402)
at com.ibm.CORBA.poa.POAServerDelegate.internalDispatch(POAServerDelegate.java:334)
at com.ibm.CORBA.poa.POAServerDelegate.dispatch(POAServerDelegate.java:256)
at com.ibm.rmi.iiop.ORB.process(ORB.java:518)
at com.ibm.CORBA.iiop.ORB.process(ORB.java:1574)
at com.ibm.rmi.iiop.Connection.respondTo(Connection.java:2880)
at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2753)
at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:63)
at com.ibm.rmi.iiop.WorkerThread.run(ThreadPoolImpl.java:202)
at java.lang.Thread.run(Thread.java:736)
How can I resolve this issue. Thanks!
Check the configuration of your connection point
to make sure it work :
run (install dir)FileNet\AE\Router\routercmd.bat
click on connection point, in the right panel under general tab clic on buton "display work queue"
-> this action try a connection from AE to PE, to retrieve names of your work queues.
if it work your connection point should be working
if not, see vwtaskman.log under (install dir)FileNet\AE\Router\ for more details

JDataConnect license issue with valid free license

JDataConnect has been used by us many years ago to access Microsoft Access Databases from Java. For a migration project we are tentatively thinking about using it again. In the meantime remote access is possible in principle. I had one successful test a year ago.
Today I am retrying on a different machine with the free license from:
http://www.jnetdirect.com/free-software/jdataconnect-single.html
I have downloaded and installed
3.679.232 JDCSetup_4_0.exe
After opening the firewall on port 1150 I can in principle connect using JData2_0.sql.$Driver as a driver and a connection string like:
jdbc:JDataConnect:1150//leto/c:\\y_wf\\data\\smartCRM\\smartCRM.mdb
then i get the error message:
Attempt 1, Connect to JDataServer on server leto port:1150 Result was: java.sql.SQLException: ServerException:You should upgrade the license for this version. The current License is valid only for version 3
SQLState: 01000
VendorError: 0
I am confused since I used the license key from the JnetDirects webpage. There seems to be no version 3 download available. What might be going on here that makes the situation fail?
JNetDirect support answered the following:
After further verification, I noticed (and corrected) that while the key provided on the download page before the file is downloaded and the main JDataConnect page was the correct one (the one in red below), the one provided on another page (which Wolfgang used) had 1 different digit. It has been corrected.

Resources