A bug in message pattern?
We used a wrong cache factory class and seems to encounter a message pattern bug accidently...
Here is the exception we got.
java.util.MissingFormatArgumentException: Format specifier 's'
at java.util.Formatter.format(Formatter.java:2431)
at java.util.Formatter.format(Formatter.java:2366)
at java.lang.String.format(String.java:2770)
at com.oracle.coherence.common.logging.Logger.log(Logger.java:93)
at com.oracle.coherence.patterns.messaging.MessagePublisher.initDestinationType(MessagePublisher.java:400)
at com.oracle.coherence.patterns.messaging.MessagePublisher.<init>(MessagePublisher.java:133)
at com.oracle.coherence.patterns.messaging.MessagePublisherManager.getPublisher(MessagePublisherManager.java:187)
at com.oracle.coherence.patterns.messaging.MessagePublisherManager.ensurePublisher(MessagePublisherManager.java:98)
at com.oracle.coherence.patterns.messaging.entryprocessors.PublishMessageProcessor.process(PublishMessageProcessor.java:118)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$Storage.invoke(DistributedCache.CDB:20)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.onInvokeRequest(DistributedCache.CDB:49)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$InvokeRequest.run(DistributedCache.CDB:1)
at com.tangosol.coherence.component.net.message.requestMessage.DistributedCacheKeyRequest.onReceived(DistributedCacheKeyRequest.CDB:12)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:9)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:136)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.onNotify(DistributedCache.CDB:3)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
at java.lang.Thread.run(Thread.java:619)
The interesting part is that the source code from message pattern website seems doesn't match with the jar file.
We "decompile" coherence-messagepattern-2.6.1.14471.jar and the line numer 400 of MessagePublisher.class is
Logger.log(1,"Destination %s is not found for Id "+this.destinationIdentifier, new Object[0]);
* this is the one caused the exception since you can't provide Object[0] when you have %s in the format string expect an input.
But if I look at the source code inside coherence-messagepattern-2.6.1.14471-src.zip from message pattern page, line 400 of MessagePublisher.class is
Logger.log(1,"Destination %s is not found for Id "+this.destinationIdentifier);
I encountered an identical issue. The root cause is bad logging in messaging.
The reason it happens is items were put to a cache that is backed by a publishing cache store, but there are no publishers attached to that cache. The temporary fix is to either add one or more publishers to the cache, or to alter your coherence config so that this particular cache is not backed by a publishing cachestore.
Cheers,
Neville.
Similar Messages
-
A bug in message pattern's queue implementation?
Here is how to reproduce the problem.
Have 2 Java program ready.
A is to create a queue and publish 3 messages to the queue.
B is to subscribe to the same queue and try to get all messages from the queue (put the getMessage inside a while(true) loop) then wait for new message.
Step 1. Run A, which put 3 messages into queue.
Step 2. Run B, which get 3 messages out of the queue then waiting on the getMessage() blocking call.
Step 3. Kill program B without unsubscribe() call.
Step 4. Run A, which put 3 messages into the queue again.
Step 5. Run B, this time it only get 2 messages. The 1st message A put in on Step 4 got lost.
Actually, if you run Step 2 multiple times before step 3, you will lost more message. It seems each time when there is a subscription created without a unsubscribe(), it will get one message lost.
I know the propery way is to call unsubscribe(), but the JVM could be killed thus won't have time to do cleanup.Using message pattern 2.3, command pattern 2.3 and common 1.3
Coherence version is 3.4.2.
BTW, if the unit test program you mentioned is the MessageTests.java included in the src zip file, you won't be able to test this issue.
All unit test inside the MessageTests.java are comsuming exactly number of messages been published then do unscribe() call.
In order to reproduce this issue, you'd need to put your consumer JVM in a blocking getMessage() state (i.e. call getMessage() while there is no message in queue)
then kill the JVM. The unit test codes in MessageTests.java never enter blocking wait state when call getMessage().
Example code -
For the one putting message
MessagingSession messagingSession = DefaultMessagingSession.getInstance();
Identifier topicIdentifier = messagingSession.createQueue("test-queue");
messagingSession.publishMessage(topicIdentifier, "Hello WorldY1");
messagingSession.publishMessage(topicIdentifier, "Hello WorldY2");
messagingSession.publishMessage(topicIdentifier, "Hello WorldY3");
messagingSession.publishMessage(topicIdentifier, "Hello WorldY5");
messagingSession.publishMessage(topicIdentifier, "Hello WorldY5");
messagingSession.publishMessage(topicIdentifier, "Hello WorldY5");
messagingSession.publishMessage(topicIdentifier, "Hello WorldY5");
messagingSession.publishMessage(topicIdentifier, "Hello WorldY5");
messagingSession.publishMessage(topicIdentifier, "Hello WorldY5");
messagingSession.publishMessage(topicIdentifier, "Hello WorldY1");
messagingSession.publishMessage(topicIdentifier, "Hello WorldY2");
messagingSession.publishMessage(topicIdentifier, "Hello WorldY3");
For the one getting message
MessagingSession messagingSession = DefaultMessagingSession.getInstance();
Identifier topicIdentifier = messagingSession.createQueue("test-queue");
Subscriber subscriber = messagingSession.subscribe("test-queue");
while (true) {
String message = (String)subscriber.getMessage();
System.out.println(message);
} -
Anyone noticed the massive bug in messages since iOS6? If you select any of your previous message threads that were there pre-update that show as coming from a name rather than a number, eg banking, companies, etc - the preview is there but then when you touch it to drill down it shows blank, go back and hey presto the entry has completely disappeared. Force close messages and it comes back - but only to do the same thing.
I don't think the messages are being cleared as they come back when you quit i think it is just a bug in showing the messages - but this really needs fixing quick!!!!
Pretty poor bug to introduce this really.
Edit: Actually already posted/spotted by other people https://discussions.apple.com/message/19635920#19635920
This needs fixing pronto!!!!!!!Perhaps this is a stupid question, but I don't see anywhere that you said you saved the file anywhere. You just said you opened Pages, worked on a document for a while, then closed Pages. Did you ever, at any point, save the document you were working on to the desired folder on the external drive, or were you just expecting Pages to do that for you? If the latter, note that Pages cannot know where you want to save a file, and though it will do its best not to lose your changes to a document that has not yet been saved to a specific location, that document can only be saved temporarily to the system drive.
If you did save it to the external drive, but you either didn't see the document in that location at all when you got home or you saw it but it did not contain your changes, the only possibilities I see are user error or a serious problem with your system.
Also, note that you're getting some bad information here. The .DocumentRevisions-V100 is not stored on the "root drive" (whatever that is supposed to mean). It is stored at the root level of whatever drive the document in question is stored on, assuming that volume is formatted as HFS+. (If it isn't, there's a problem that applies to Versions, but not to the specific problem you have described. See Beware Lion’s Versions Bug on Network and Non-HFS+ Volumes.)
So, if the document has, in fact, been saved to the external drive, and that drive is not formatted as HFS+, then you will be unable to use Versions with that document, but autosave will still work just fine, and you should see your latest changes in the document regardless of where you are. -
Subscription lost exception for message pattern
We are using message pattern 2.4 and Coherence 3.5.3 patch 1.
Seeing many subscription lost exception messages.
I don't see any straight forward way to set the subscription expiration. We'd like to make it infinite (i.e. the getMessage() will block forever until
a message has been put into the queue). Any suggest to get rid of this exception?
Regards,
Chen
com.oracle.coherence.patterns.messaging.exceptions.SubscriptionLostException: Subscriber subscription was lost (with expired or the underlying destination has been removed)
at com.oracle.coherence.patterns.messaging.AbstractSubscriber.ensureSubscription(AbstractSubscriber.java:282)
at com.oracle.coherence.patterns.messaging.QueueSubscriber.getMessage(QueueSubscriber.java:81)
com.oracle.coherence.patterns.messaging.exceptions.SubscriptionLostException: Subscriber subscription was lost (with expired or the underlying destination has been removed)
at com.oracle.coherence.patterns.messaging.AbstractSubscriber.ensureSubscription(AbstractSubscriber.java:282)
at com.oracle.coherence.patterns.messaging.QueueSubscriber.getMessage(QueueSubscriber.java:81)
com.oracle.coherence.patterns.messaging.exceptions.SubscriptionLostException: Subscriber subscription was lost (with expired or the underlying destination has been removed)
at com.oracle.coherence.patterns.messaging.AbstractSubscriber.ensureSubscription(AbstractSubscriber.java:282)
at com.oracle.coherence.patterns.messaging.QueueSubscriber.getMessage(QueueSubscriber.java:81)Hi Wenjie,
Try defining the <security-identity> in your ejb-jar.xml as the following:
<security-identity>
<description>SecurityIdentity</description>
<use-caller-identity/>
</security-identity>
BTW, I suggest that you should use NW Developer Studio to edit your descriptors.
Regards,
Mustafa. -
Hi,
Back Ground – We are building claim-processing system. Currently we are using AQ as a load balancer and spring MDP (in concurrent threads) that grabs the messages from the queue and start claim processing. I see in case heavy load the AQ can itself become a bottleneck and hence want to replace the AQ with Coherence and leverage the Messaging Pattern.
MDP – Message Driver Pojos
I have following questions on the Messaging Pattern
1. Can the Coherence’s Messaging Pattern framework replace AQ?
2. If answer to the above question is ‘yes’, how can we make ‘queue’ durable i.e. guarantee that no messages are lost.
3. How many messages can be delivered per second using coherence?
Regards,
Gaurav MalhotraHi All,
I also integrated oracle coherence with spring integration. This enables the developer to work with pojos
Concept
Make a channel backed by oracle coherence as queue.
So I extended the queue channel as follows
>
public class CoherenceAwareQueueChannel extends QueueChannel {
private final static String nameOfQueue = "aq";
private NamedCache queueNamedCache = null;
private NamedCache jmsIdNamedCache = null;
public static final String JMS_ID_CACHE = "jmsMsgId";
public static final String JMS_ID_KEY_GEN = "jmsIdKeyGen";
public CoherenceAwareQueueChannel() {
// do nothing
public CoherenceAwareQueueChannel(int capacity) {
// do nothing
private NamedCache getQueueNamedCache() {
if (queueNamedCache == null) {
queueNamedCache = CacheFactory.getCache(nameOfQueue);
return queueNamedCache;
private long getJmsId() {
long retVal = 0;
getJmsNamedCache();
JmsMsgId jmsMsgId = (JmsMsgId) jmsIdNamedCache.get(JMS_ID_KEY_GEN);
if (jmsMsgId == null) {
jmsMsgId = new JmsMsgId();
retVal = jmsMsgId.getJmsId();
jmsIdNamedCache.put(JMS_ID_KEY_GEN, jmsMsgId);
} else {
retVal = jmsMsgId.getJmsId();
jmsIdNamedCache.put(JMS_ID_KEY_GEN, jmsMsgId);
return retVal;
private void getJmsNamedCache() {
if (jmsIdNamedCache == null) {
jmsIdNamedCache = CacheFactory.getCache(JMS_ID_CACHE);
@Override
public List<Message<?>> clear() {
List<Message<?>> clearedMessages = new ArrayList<Message<?>>();
Set<?> keys = getQueueNamedCache().keySet();
for (Object key : keys) {
clearedMessages.add((Message<?>) getQueueNamedCache().get(key));
getQueueNamedCache().clear();
return clearedMessages;
@Override
protected Message<?> doReceive(long timeout) {
// What is the key? Top element of the key
getJmsNamedCache();
JmsMsgId jmsId = (JmsMsgId) jmsIdNamedCache.get(JMS_ID_KEY_GEN);
Long currJmsId = jmsId.getCurrentJmsId();
Assert.assertNotNull(currJmsId);
Message<?> msg = (Message<?>) getQueueNamedCache().remove(currJmsId);
jmsId.resetBy(1);
jmsIdNamedCache.put(JMS_ID_KEY_GEN, jmsId);
return msg;
@Override
protected boolean doSend(Message<?> message, long timeout) {
Object jmsId = message.getHeaders().get(JmsHeaders.MESSAGE_ID); // take control
Object id = (jmsId == null ? getJmsId() : jmsId);
getQueueNamedCache().put(id, message,timeout);
return true;
@Override
public int getQueueSize() {
return queueNamedCache.size();
@Override
public int getRemainingCapacity() {
return 999999999; // there is not limit
@Override
public List<Message<?>> purge(MessageSelector selector) {
if (selector == null) {
return this.clear();
Set<?> keys = getQueueNamedCache().keySet();
List<Message<?>> purgedMessages = new ArrayList<Message<?>>();
for (Object key : keys) {
Message<?> msg = (Message<?>) getQueueNamedCache().get(key);
if (!selector.accept(msg) && this.getQueueNamedCache().remove(key) != null) {
purgedMessages.add(msg);
return purgedMessages;
public static class JmsMsgId implements ExternalizableLite {
private static final long serialVersionUID = 1L;
private long cnt = 0;
public JmsMsgId() {
public long getJmsId(){
return ++cnt;
public long getCurrentJmsId() {
return cnt;
public void resetBy(long cnt) {
this.cnt = this.cnt - cnt;
@Override
public void readExternal(DataInput in) throws IOException {
cnt = ExternalizableHelper.readLong(in);
@Override
public void writeExternal(DataOutput out) throws IOException {
ExternalizableHelper.writeLong(out, cnt);
}My aq based cache store looks like
public class AqCacheStore extends AbstractCacheStore {
@Autowired
private JmsTemplate jmsTemplate;
// TODO provide pluggable transformation strategy which convert CoherenceMessage to javax.jms.Message
@SuppressWarnings("unchecked")
@Override
public void store(Object msgId, Object jmsMsg) {
Assert.isTrue((jmsMsg instanceof GenericMessage));
// TODO we should restrict the payload ad String
jmsTemplate.send(JmsHelper.createJmsTextMessage(((GenericMessage) jmsMsg).getPayload().toString(),((GenericMessage) >jmsMsg).getHeaders().get(JmsHeaders.TYPE).toString()));
@Override
public Object load(Object msgId) {
throw new IllegalArgumentException("Message should never be loaded..");
@Override
public void erase(Object msgId) {
if (msgId != null) {
jmsTemplate.receiveSelected("JMSMessageID = 'ID:" + msgId + "'");
} else {
jmsTemplate.receive();
@Override
public void eraseAll(Collection msgIds) {
for (Object msgId : msgIds) {
erase(msgId);
@SuppressWarnings("unchecked")
@Override
public void storeAll(Map msgMap) {
for (Iterator<Map.Entry> iter = msgMap.entrySet().iterator(); iter.hasNext();) {
Map.Entry entry = iter.next();
Object jmsMsg = entry.getValue();
jmsTemplate.send(JmsHelper.createJmsMessage(jmsMsg));
}My junit test cases looks like
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:com/oracle/aq/cachestore/junit/AqContext.xml" })
public class AqCacheStoreTest {
@Autowired
private AqCacheStore aqCacheStore;
@Autowired
private JmsTemplate jmsTemplate;
@Autowired
private QueueChannel coherenceQueue;
@Autowired
private PollingConsumer coherenceConsumer;
@Test
public void sendSIMsgToCoherenceQueueChannel() throws InterruptedException,
JMSException {
Assert.assertNotNull(aqCacheStore);
Message<String> message = MessageBuilder.withPayload("gaurav in cache")
.setHeader(JmsHeaders.TYPE, "sometype").build();
coherenceQueue.send(message);
coherenceQueue.send(message);
@Test
public void recieveSIMsgFromCoherenceQueueChannel() {
Assert.assertNotNull(aqCacheStore);
Message<String> msg = (Message<String>) coherenceQueue.receive();
System.err.println("^^^^^^^^^^^^^^^^^^^^^^^"+msg.getPayload());
msg = (Message<String>) coherenceQueue.receive();
System.err.println(">>>>>>>>>>>>>"+msg.getPayload());
public static class ServiceActivator {
public void onMessage(Message<?> msg) {
System.err.println("%%%%" + msg.getPayload());
}Conclusion
Message can be stored in both AQ and coherence and hence can be used for store and forward of messages, which are also persisted. I have used spring integration GenericMessage<T> and provide injectable strategy to convert to JMS message and visa versa Why??? javax.jms.Message is not serializable. By this we can leverage both power of bothcoherence and AQ. Also programming model encourages POJO driver coding and JMS specifications
Looking forward for the valuable feedback from the community. -
Bug in xs:pattern implementation when calling schemaValidate?
Hi all,
I have a schema with a pattern <xs:pattern value="(0?[1-9]|1[0-2])"/> that is supposed to validate the digits 01-09, 1-9, 10, 11, 12. When validating XML against the schema, values such as '12' fail. If the xs:pattern in re-written "(1[0-2]|0?[1-9])", i.e. the parts either side of the | are swapped, the xs:pattern works as expected, i.e. '12' validates as correct. The pattern itself works as expected with validators such as with Eclipse, and the RE seems to work as expected in PL/SQL
Is this a bug with the XML parser used in "Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production", or is there another parser I can configure 10g to use? I have a number of xml schemas and patterns to check, and want to be sure that they work as expected.
thanks
Paul
-- A simple example demonstrating the problem.
declare
vSchemaName varchar(100);
xmldoc XMLType;
vReturn boolean;
vResult int;
begin
vSchemaName := 'test.xsd';
-- Remove the old schema, if it exists.
if (dbms_xdb.existsResource('/' || vSchemaName)) then
dbms_xdb.deleteResource('/' || vSchemaName);
end if;
select count(1)
into vResult
from sys.DBA_XML_SCHEMAS
where SCHEMA_URL = vSchemaName;
if (vResult = 1) then
dbms_XMLSchema.deleteSchema(vSchemaName, DELETE_OPTION => dbms_xmlschema.DELETE_CASCADE_FORCE);
end if;
vReturn := dbms_xdb.createResource(
'/' || vSchemaName
, XMLType('
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="Document_Creation_Date" type="Date_Mandatory"/>
<xs:simpleType name="Date_Mandatory">
<xs:restriction base="xs:string">
<!-- <xs:pattern value="[0-9]?[0-9]/(0?[1-9]|1[0-2])/[0-9]{4}"/> Original Expression -->
<!-- <xs:pattern value="(0?[1-9]|1[0-2])"/> Problem part of expression -->
<xs:pattern value="(0?[1-9]|1[0-2])"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>')
-- Register the schema
dbms_XMLSchema.registerSchema( schemaUrl => vSchemaName, schemaDoc => sys.UriFactory.getUri('/' || vSchemaName), GENTYPES => false, GENTABLES => false);
-- Sample XML to validate
xmldoc := XMLType('<Document_Creation_Date>12</Document_Creation_Date>').createSchemaBasedXML('test.xsd');
xmldoc.schemaValidate();
commit;
end;
/Please patch one fo your machines to 10.2.0.3 and then try and duplicate. You do not have to go through the complete registration of the XSD process thoguh you can check and see if the c based parser will validate on the command line using the
schema executible under your oracle_home bin directory.
schema 1.xml 1.xsd
for example
if it dupes in 10.2.0.3 open a TAR with support so that we may bug it.
regards
Coby -
bug: i have an alert("haha"); displayed from an inpage button with javascript, and while the alert message is still open, if i do a refresh i get this error in the error console:
Timestamp: 2/5/2012 12:27:27 μμ
Error: uncaught exception: [Exception... "prompt aborted by user" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: resource:///components/nsPrompter.js :: openTabPrompt :: line 457" data: no]
it happens on every site that shows an alert dialogue box
online example:
[http://www.w3schools.com/js/tryit.asp?filename=tryjs_alert w3schools example]
press the "show alert box" button and as the alert box is open do a page refresh.I didn't realize you could reload in that situation; I thought alert() was application modal. Hmmm...
In Firefox 13 beta 4 on Windows 7 I still see the error:
Timestamp: 5/22/2012 7:41:13 PM<br>
Error: uncaught exception: [Exception... "prompt aborted by user" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: resource:///components/nsPrompter.js :: openTabPrompt :: line 457" data: no]
I don't think it has any negative consequence. Did you just want to get it on someone's list to look at, or is it a problem for your page/application?
I looked in Bugzilla briefly and these sound related:
[https://bugzilla.mozilla.org/show_bug.cgi?id=655181 Bug 655181 – modal dialog (e.g. via window.alert()) opened with meta refresh tag refresh page in background causes this uncaught exception: "prompt aborted by user" .. resource://gre/components/nsPrompter.js]
[https://bugzilla.mozilla.org/show_bug.cgi?id=717248 Bug 717248 – Pressing backspace on alert() modal closes alert and triggers "back" functionality without firing onkeydown]
Both note the error when navigating the tab in different ways with the alert displayed. But... not much attention to them so far. -
2 AIM Bugs (crlf & message order)
Phone: Curve 8300
OS: 4.5.0.52 (Platform 2.7.0.66)
AIM: 2.1.37
I've noticed 2 bugs in the AIM software.
The client does not support multi-line messages. So single messages like the following...
line 1
line 2
line 3
appear as...
line 1line 2line 3
Also, messages received by the client at the same time often display out of order.
These two bugs have been giving me problems when communicating with AIM bots. I haven't seen these bugs in the other AIM clients for the bb.
For now I have switched to using instango as an alternative, but I would prefer to use the RIM software whenever possible.Hi,
The AIM is in the 2821 router running 12.4 AES T train IOS.
CUE will allow me to installed the zero ivr port package but not the 2 or 4 port.
CUE config :
se-10-2-1-2# show software packages
Installed Packages:
- Installer (Installer application) (7.0.2.0)
- Thirdparty (Service Engine Thirdparty Code) (7.0.2)
- Bootloader (Primary) (Service Engine Bootloader) (2.1.14)
- Infrastructure (Service Engine Infrastructure) (7.0.2)
- Global (Global manifest) (7.0.2)
- Service Engine license (License for the Service Engine) (2.1.2.0)
- Auto Attendant (Service Engine Telephony Infrastructure) (7.0.2)
- Voice Mail (Voicemail application) (7.0.2)
- Bootloader (Secondary) (Service Engine Bootloader) (2.1.14.0)
- Core (Service Engine OS Core) (7.0.2)
- GPL Infrastructure (Service Engine GPL Infrastructure) (7.0.2)
Installed Plug-ins:
- CUE Voicemail Language Support (Languages global pack) (7.0.2)
- CUE Voicemail US English (English language pack) (7.0.2)
se-10-2-1-2# show software licenses
Installed license files:
- voicemail_lic.sig : 25 MAILBOX LICENSE
Core:
- Application mode: CCM
- Total usable system ports: 6
Voicemail/Auto Attendant:
- Max system mailbox capacity time: 840
- Default # of general delivery mailboxes: 10
- Default # of personal mailboxes: 25
- Max # of configurable mailboxes: 35
Interactive Voice Response:
- Max # of IVR sessions: Not Available
Languages:
- Max installed languages: 2
- Max enabled languages: 2 -
Bug with Messages Handoff in Yosemite: Can't turn off
There seems to be a bug with Handoff/Continuity in Yosemite.
We want to use handoff between our iPhone and our MacBook Pro for Safari & Mail, but we DON'T want to use handoff for Messages.
However, there is no way to turn off handoff for Messages on the Mac. Even if we completely disable our iCloud account in OS X Messages, and even if we completely sign out of our iCloud account in OS X Messages, the continuity icon for Messages STILL APPEARS IN OUR DOCK ON OS X whenever we are typing up a Message on our iPhone.
There is no way for us to disable handoff for Messages yet still leave it on for Safari & Mail.for the Points
7:32 pm Friday; April 24, 2015
iMac 2.5Ghz i5 2011 (Mavericks 10.9)
G4/1GhzDual MDD (Leopard 10.5.8)
MacBookPro 2Gb (Snow Leopard 10.6.8)
Mac OS X (10.6.8),
Couple of iPhones and an iPad -
Bug: The message list doesn't refresh SOLVED caused by HWA (hardware assist)
I am using the latest Thunderbird from the beta channel, v38. I was seeing this in the stable release channel as well, so I thought I'd try the beta channel to see if it was fixed there, but it was not.
The issue is that the message list doesn't refresh all the time when switching folders. If I an in my Inbox folder, for example, and then select my Junk folder, the message list will not update/refresh, until I drag my mouse over the message list. Then, it will refresh line-by-line as the mouse enters each line.
I am on Windows 7 64-bit, with an i5 processor and 8 GB RAM. Nothing else on my system is running slow. This will happen when Thunderbird is the only app running. I also have a skin applied to my UI. I've tried a few different skins, and this behavior happens with all of them.
A second issue I noticed this morning was that when I received a new email, the entire app seemed to freeze momentarily while the notification for this new email was spawned. As soon as the notification became visible, the app because responsive again. Perhaps a threading issue here.Hi Matt,
Thanks for the quick reply.
"The last issue is probably your anti virus diving in an scanning the new mail as it is added to a very large mail file. Right click the folder and select properties. What is the size on disk?"
Folder properties on my Inbox folder says:
Number of messages: 1038
Size on disk: 90.9 MB
"With regard to your first problem, I am seeing that on the daily built as well, on an intermitent basis, but not on change of folder, only on dragging the mouse over the existing list."
Yes, it is intermittent for me as well. I just recalled that the last time I saw it was when I changed folders. It may not be limited to that situation.
"What Video card do your have?"
Invidia GeForce GT 740, w/4GB dedicated video memory.
"Please go to the trouble shooting information on the help menu (alt+H) and copy and paste the graphics section to a message here."
Graphics
Adapter Description NVIDIA GeForce GT 740
Vendor ID 0x10de
Device ID 0x0fc8
Adapter RAM 4095
Adapter Drivers nvd3dumx,nvwgf2umx,nvwgf2umx nvd3dum,nvwgf2um,nvwgf2um
Driver Version 9.18.13.4475
Driver Date 11-12-2014
Direct2D Enabled true
DirectWrite Enabled true (6.2.9200.16571)
ClearType Parameters ClearType parameters not found
WebGL Renderer false
GPU Accelerated Windows 1/1 Direct3D 11
AzureCanvasBackend direct2d 1.1
AzureSkiaAccelerated 0
AzureFallbackCanvasBackend cairo
AzureContentBackend direct2d 1.1 -
Is it possible I found a bug in Java Pattern (JDK 1.5)???
It is hard to believe that I should have found an error in the java.util.regex.Pattern class - and I hope you can tell me I'm wrong. Look at this example:
Let's say the pattern is "%\d+". I can then easily match against, let's say "%20". If I however changes the string to "%20 ", then no match, not complete or partial! The oddest thing is that it seems to be connected to the usage of "%". To really nail the point..if you change the string to "%20 %20 ", then you will find two partial matches (which is correct). I have tried to debug the Pattern-class myself - but my debugger wouldn't show me the local variables in the Pattern class, so I gave up. Try to run the program below with JRE 1.5 (update 18) and exchange the "s" var to test it.
public class RegExp {
private static Pattern pattern = Pattern.compile("%\\d+");
public static void main(String[] args) {
String s = "%20";
Matcher m = pattern.matcher(s);
if (m.matches()) {
System.out.println("Complete match:");
for (int i = 0; i <= m.groupCount(); i++) {
System.out.println("Group " + i + " : " + m.group(i));
} else if (m.find()) {
int pos = 0;
while (m.find(pos)) {
System.out.println("Partial match:");
pos = m.end();
for (int i = 0; i <= m.groupCount(); i++) {
System.out.println("Group " + i + " : " + m.group(i));
} else {
System.out.println("NO MATCH");
Edited by: mortensi on Jun 4, 2009 2:25 AMSorry about the code. It truly compiled and worked..but I didn't know about the code-tag thing. Here is an version that should work well...or at least I hope so
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegExp {
private static Pattern pattern = Pattern.compile("%\\d+");
* @param args
public static void main(String[] args) {
String s = "%20";
Matcher m = pattern.matcher(s);
if (m.matches()) {
System.out.println("Complete match:");
for (int i = 0; i <= m.groupCount(); i++) {
System.out.println("Group " + i + " : " + m.group(i));
} else if (m.find()) {
int pos = 0;
while (m.find(pos)) {
System.out.println("Partial match:");
pos = m.end();
for (int i = 0; i <= m.groupCount(); i++) {
System.out.println("Group " + i + " : " + m.group(i));
} else {
System.out.println("NO MATCH");
} -
BUG: Nokia Messaging launches browser when message...
When opening an email containing a link to a web page, the program fires the web browser holding the first link in the message. Possible do dosable this? Every time I open an email I have to wait for the browser to launch and then quit. Very annoying
I have discovered that this beheaviuor occurs when:
- the message has HTML format
- the message contains an IFRAME -
"Organize by Conversation" Bug -- newest message isn't always attop of thread
Has anyone else experienced this? Any workaround? Also, because of this, when I hit reply, it will often pick the wrong message to reply to. Help anyone?
Make sure you've got the option highlighted below selected:
-
Since a recent Skype update (within last couple of weeks, so perhaps since release of 5.6) the messages are randomly not showing up during an active Skype call. This can also change during a call so that first some messages are showing up (the "blue bubble" over the video, and also on the message list), but then then they stop showing up (no "blue bubble", and the message is not visible on the message list). To see a newly arrived message that did not get displayed, I can scroll to the top of the message buffer so that the previous entries get loaded in. Now when I scroll back to the bottom, the latest message can be seen. This is obviously not very convenient, especially that on every message view the list to scroll to the top gets longer and longer as more previous messages get loaded in. The problem appears to be present on Galaxy S5 on the latest Skype as well, so it is likely not a model specific but a platform specific issue. This makes for a terrible user experience; please try to fix this as soon as [humanly] possible. Thank you!
Since a recent Skype update (within last couple of weeks, so perhaps since release of 5.6) the messages are randomly not showing up during an active Skype call. This can also change during a call so that first some messages are showing up (the "blue bubble" over the video, and also on the message list), but then then they stop showing up (no "blue bubble", and the message is not visible on the message list). To see a newly arrived message that did not get displayed, I can scroll to the top of the message buffer so that the previous entries get loaded in. Now when I scroll back to the bottom, the latest message can be seen. This is obviously not very convenient, especially that on every message view the list to scroll to the top gets longer and longer as more previous messages get loaded in. The problem appears to be present on Galaxy S5 on the latest Skype as well, so it is likely not a model specific but a platform specific issue. This makes for a terrible user experience; please try to fix this as soon as [humanly] possible. Thank you!
-
How C++ client uses coherence message message pattern to subscribe/publish
Hi,
I need to know how c++ client can subscribe/publish messages on queue or topic?
I was able to find messaging jar and common jar for java but I was not able to find any sort of c++ implementation.
I think this feature is definitely supported by c++ and .Net. If there's any shared library please let us know or please share the messaging protocol and mechanism which we need to do in order to acheive topic/queue messaging feature.
regards,
SuraHi Mark,
As I know, in invocation service client will be the invoker for relevant query. So during the invocation we can get relevant results. But assume that after invocation there's some pending updates arrived to relevant topic. In that case do we need to pull again. If we need to pulll then we need to write a deamon thread by asking him to pull relevant topic data.
Thanks a lot for the info. Hope you will share some expertise.
regards,
sura
Maybe you are looking for
-
Interactive Report using a View with a Pipelined Function
Hello fellow Apex people, I'm Using Application Express 4.1.0.00.32 I've got an interactive report that references a view (STOCK) and a pipelined function The basic query is listed below. SELECT S.CHANGED_TIME "Changed Time" , S.CHANGED_BY "Changed B
-
Hi there! I'm using FCE2.0 on a G4 dual 1Ghz, a dataVideo DAC-100 converter and a CRT Sony monitor w/ rca ins. I wish to have playback occur on both the canvas and the external monitor, but i find the only way the image will show on the monitor is if
-
Sync contacts - Contacts on Phone - Computer
Everytime I save a persons phone number on the phone it does not merge or add it self to my computer's contacts? I add the persons name, etc it stays on the phone. ios5 iphone 4s
-
PSE 4 for Mac coming March 3!
Hi Everybody, I just got an email from Adobe announcing PSE 4 for Mac. Offering a $20 coupon good till Sept 06. That brings it to $79 But if you order it from Amazon, its $59 with the mail in coupon. I just pre-ordered it. Jane
-
after hibernation, when trying to login to MacBook Air, it does not accept my password. I have to shut off and then get prompted with the following: Mac OS X wants to use the "login" keychain. I put in the password there and it works. any suggestions