PackedInteger encoding does not preserve order - but it could
Currently, when viewed under the default unsigned lexical ordering, "packed" integers (and longs) do not sort numerically. This is because for values requiring two or more bytes, the "value" bytes are stored little endian.
For example:
<tt> 65910 -> 7a ff 00 01</tt>
<tt> 65911 -> 7a 00 01 01</tt>
However, it's possible to encode packed integers such that they still sort correctly. You can do this by modifying the existing PackedInteger algorithm as follows:
<li>Invert the high-order bit on the first byte
<li>Reverse the order of the second and subsequent bytes (if any)
<li>If the original number was negative, invert (one's complement) the bits in the second and subsequent bytes (if any)
Here's some examples showing the two encodings:
NUMBER ENCODING NEW ENCODING
-9223372036854775808 8189ffffffffffff7f 018000000000000076
-2147483648 8589ffff7f 0580000076
-65911 86000101 06fefeff
-65910 86ff0001 06feff00
-65655 86000001 06feffff
-65654 87ffff 070000
-65400 8701ff 0700fe
-65399 8700ff 0700ff
-375 870001 07feff
-374 88ff 0800
-120 8801 08fe
-119 89 09
-1 ff 7f
0 00 80
1 01 81
119 77 f7
120 7801 f801
374 78ff f8ff
375 790001 f90100
631 790002 f90200
65399 7900ff f9ff00
65400 7901ff f9ff01
65654 79ffff f9ffff
65655 7a000001 fa010000
65910 7aff0001 fa0100ff
65911 7a000101 fa010100
2147483647 7b88ffff7f fb7fffff88
9223372036854775807 7f88ffffffffffff7f ff7fffffffffffff88So the question is.. any particular reason this wasn't done? Would this alternate encoding be a useful addition? (I'm sure it's not possible to replace the current algorithm at this point).
Thanks.
greybird wrote:
Thanks Archie. I appreciate this and I know you have good intentions. Unfortunately, we won't be able to incorporate any code from your svn repository. We can only incorporate submissions if the source code is posted here in our OTN forum.Not a problem... Here is the new class:
package org.dellroad.sidekar.util;
import com.sleepycat.bind.tuple.TupleInput;
import com.sleepycat.bind.tuple.TupleOutput;
import java.util.Arrays;
* An improved version of Berkeley DB's {@link com.sleepycat.util.PackedInteger} class that packs values in such
* a way that their order is preserved when compared using the default binary unsigned lexical ordering.
* @see <a href="http://forums.oracle.com/forums/thread.jspa?messageID=4126254">Berkeley DB Java Edition forum posting</a>
public final class PackedLong {
* Maximum possible length of an encoded value.
public static final int MAX_ENCODED_LENGTH = 9;
* Minimum value for the first byte of a single byte encoded value. Lower values indicate a multiple byte encoded negative value.
public static final int MIN_SINGLE_BYTE_ENCODED = 0x08; // values 0x00 ... 0x07 prefix negative values
* Maximum value for the first byte of a single byte encoded value. Higher values indicate a multiple byte encoded positive value.
public static final int MAX_SINGLE_BYTE_ENCODED = 0xf7; // values 0xf8 ... 0xff prefix positive values
* Adjustment applied to single byte encoded values before encoding.
public static final int ZERO_ADJUST = 127; // single byte value that represents zero
* Minimum value that can be encoded as a single byte.
public static final int MIN_SINGLE_BYTE_VALUE = MIN_SINGLE_BYTE_ENCODED - ZERO_ADJUST; // -119
* Maximum value that can be encoded as a singel byte.
public static final int MAX_SINGLE_BYTE_VALUE = MAX_SINGLE_BYTE_ENCODED - ZERO_ADJUST; // 120
* Adjustment applied to multiple byte encoded negative values before encoding.
public static final int NEGATIVE_ADJUST = -MIN_SINGLE_BYTE_VALUE; // 119
* Adjustment applied to multiple byte encoded positive values before encoding.
public static final int POSITIVE_ADJUST = -(MAX_SINGLE_BYTE_VALUE + 1); // -121
// Cutoff values at which the encoded length changes (this field is package private for testing purposes)
static final long[] CUTOFF_VALUES = new long[] {
0xff00000000000000L - NEGATIVE_ADJUST, // [ 0] requires 8 bytes
0xffff000000000000L - NEGATIVE_ADJUST, // [ 1] requires 7 bytes
0xffffff0000000000L - NEGATIVE_ADJUST, // [ 2] requires 6 bytes
0xffffffff00000000L - NEGATIVE_ADJUST, // [ 3] requires 5 bytes
0xffffffffff000000L - NEGATIVE_ADJUST, // [ 4] requires 4 bytes
0xffffffffffff0000L - NEGATIVE_ADJUST, // [ 5] requires 3 bytes
0xffffffffffffff00L - NEGATIVE_ADJUST, // [ 6] requires 2 bytes
MIN_SINGLE_BYTE_VALUE, // [ 7] requires 1 byte
MAX_SINGLE_BYTE_VALUE + 1, // [ 8] requires 2 bytes
0x0000000000000100L - POSITIVE_ADJUST, // [ 9] requires 3 bytes
0x0000000000010000L - POSITIVE_ADJUST, // [10] requires 4 bytes
0x0000000001000000L - POSITIVE_ADJUST, // [11] requires 5 bytes
0x0000000100000000L - POSITIVE_ADJUST, // [12] requires 6 bytes
0x0000010000000000L - POSITIVE_ADJUST, // [13] requires 7 bytes
0x0001000000000000L - POSITIVE_ADJUST, // [14] requires 8 bytes
0x0100000000000000L - POSITIVE_ADJUST, // [15] requires 9 bytes
private PackedLong() {
* Write the encoded value to the output.
* @param output destination for the encoded value
* @param value value to encode
public static void write(TupleOutput output, long value) {
output.makeSpace(MAX_ENCODED_LENGTH);
int len = encode(value, output.getBufferBytes(), output.getBufferLength());
output.addSize(len);
* Read and decode a value from the input.
* @param input input holding an encoded value
* @return the decoded value
public static long read(TupleInput input) {
long value = decode(input.getBufferBytes(), input.getBufferOffset());
input.skipFast(getReadLength(input));
return value;
* Determine the length (in bytes) of an encoded value without advancing the input.
* @param input input holding an encoded value
* @return the length of the encoded value
public static int getReadLength(TupleInput input) {
return getReadLength(input.getBufferBytes(), input.getBufferOffset());
* Determine the length (in bytes) of an encoded value.
* @param buf buffer containing encoded value
* @param off starting offset of encoded value
* @return the length of the encoded value
* @throws ArrayIndexOutOfBoundsException if {@code off} is not a valid offset in {@code buf}
public static int getReadLength(byte[] buf, int off) {
int prefix = buf[off] & 0xff;
if (prefix < MIN_SINGLE_BYTE_ENCODED)
return 1 + MIN_SINGLE_BYTE_ENCODED - prefix;
if (prefix > MAX_SINGLE_BYTE_ENCODED)
return 1 + prefix - MAX_SINGLE_BYTE_ENCODED;
return 1;
* Determine the length (in bytes) of the encoded value.
* @return the length of the encoded value, a value between one and {@link #MAX_ENCODED_LENGTH}
public static int getWriteLength(long value) {
int index = Arrays.binarySearch(CUTOFF_VALUES, value);
if (index < 0)
index = ~index - 1;
return index < 8 ? 8 - index : index - 6;
* Encode the given value into a new buffer.
* @param value value to encode
* @return byte array containing the encoded value
public static byte[] encode(long value) {
byte[] buf = new byte[MAX_ENCODED_LENGTH];
int len = encode(value, buf, 0);
if (len != MAX_ENCODED_LENGTH) {
byte[] newbuf = new byte[len];
System.arraycopy(buf, 0, newbuf, 0, len);
buf = newbuf;
return buf;
* Encode the given value and write the encoded bytes into the given buffer.
* @param value value to encode
* @param buf output buffer
* @param off starting offset into output buffer
* @return the number of encoded bytes written
* @throws ArrayIndexOutOfBoundsException if {@code off} is negative or the encoded value exceeds the given buffer
public static int encode(long value, byte[] buf, int off) {
int len = 1;
if (value < MIN_SINGLE_BYTE_VALUE) {
value += NEGATIVE_ADJUST;
long mask = 0x00ffffffffffffffL;
for (int shift = 56; shift != 0; shift -= 8) {
if ((value | mask) != ~0L)
buf[off + len++] = (byte)(value >> shift);
mask >>= 8;
buf[off] = (byte)(MIN_SINGLE_BYTE_ENCODED - len);
} else if (value > MAX_SINGLE_BYTE_VALUE) {
value += POSITIVE_ADJUST;
long mask = 0xff00000000000000L;
for (int shift = 56; shift != 0; shift -= 8) {
if ((value & mask) != 0L)
buf[off + len++] = (byte)(value >> shift);
mask >>= 8;
buf[off] = (byte)(MAX_SINGLE_BYTE_ENCODED + len);
} else {
buf[off] = (byte)(value + ZERO_ADJUST);
return 1;
buf[off + len++] = (byte)value;
return len;
* Decode a value from the given buffer.
* @param buf buffer containing an encoded value
* @param off starting offset of the encoded value in {@code buf}
* @return the decoded value
* @throws ArrayIndexOutOfBoundsException if {@code off} is negative or the encoded value is truncated
* @see #getReadLength
public static long decode(byte[] buf, int off) {
int first = buf[off++] & 0xff;
if (first < MIN_SINGLE_BYTE_ENCODED) {
long value = ~0L;
while (first++ < MIN_SINGLE_BYTE_ENCODED)
value = (value << 8) | (buf[off++] & 0xff);
return value - NEGATIVE_ADJUST;
if (first > MAX_SINGLE_BYTE_ENCODED) {
long value = 0L;
while (first-- > MAX_SINGLE_BYTE_ENCODED)
value = (value << 8) | (buf[off++] & 0xff);
return value - POSITIVE_ADJUST;
return (byte)(first - ZERO_ADJUST);
}and here is the unit test:
package org.dellroad.sidekar.util;
import com.sleepycat.bind.tuple.TupleInput;
import com.sleepycat.bind.tuple.TupleOutput;
import com.sleepycat.je.DatabaseEntry;
import org.dellroad.sidekar.TestSupport;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import static org.testng.Assert.assertEquals;
public class PackedLongTest extends TestSupport {
@Test(dataProvider = "encodings")
public void testEncoding(long value, String string) {
// Test direct encoding
byte[] expected = ByteArrayEncoder.decode(string);
byte[] actual = PackedLong.encode(value);
assertEquals(actual, expected);
// Test write()
TupleOutput out = new TupleOutput();
PackedLong.write(out, value);
assertEquals(out.toByteArray(), expected);
// Test getWriteLength()
assertEquals(actual.length, PackedLong.getWriteLength(value));
// Test decoding
long value2 = PackedLong.decode(actual, 0);
assertEquals(value2, value);
// Test read()
TupleInput input = JEUtil.toTupleInput(new DatabaseEntry(actual));
assertEquals(actual.length, PackedLong.getReadLength(input));
value2 = PackedLong.read(input);
assertEquals(value2, value);
// Test getReadLength()
assertEquals(actual.length, PackedLong.getReadLength(actual, 0));
@Test(dataProvider = "lengths")
public void testEncodedLength(long value, int expected) {
int actual = PackedLong.getWriteLength(value);
assertEquals(actual, expected);
byte[] buf = PackedLong.encode(value);
assertEquals(buf.length, expected);
@DataProvider(name = "encodings")
public Object[][] genEncodings() {
return new Object[][] {
// Corner cases
{ 0x8000000000000000L, "008000000000000077" },
{ 0xfeffffffffffff88L, "00feffffffffffffff" },
{ 0xfeffffffffffff89L, "0100000000000000" },
{ 0xfeffffffffffffffL, "0100000000000076" },
{ 0xfffeffffffffff88L, "01feffffffffffff" },
{ 0xfffeffffffffff89L, "02000000000000" },
{ 0xfffeffffffffffffL, "02000000000076" },
{ 0xfffffeffffffff88L, "02feffffffffff" },
{ 0xfffffeffffffff89L, "030000000000" },
{ 0xfffffeffffffffffL, "030000000076" },
{ 0xfffffffeffffff88L, "03feffffffff" },
{ 0xfffffffeffffff89L, "0400000000" },
{ 0xfffffffeffffffffL, "0400000076" },
{ 0xfffffffffeffff88L, "04feffffff" },
{ 0xfffffffffeffff89L, "05000000" },
{ 0xfffffffffeffffffL, "05000076" },
{ 0xfffffffffffeff88L, "05feffff" },
{ 0xfffffffffffeff89L, "060000" },
{ 0xfffffffffffeffffL, "060076" },
{ 0xfffffffffffffe88L, "06feff" },
{ 0xfffffffffffffe89L, "0700" },
{ 0xfffffffffffffeffL, "0776" },
{ 0xffffffffffffff88L, "07ff" },
{ 0xffffffffffffff89L, "08" },
{ 0xffffffffffffffa9L, "28" },
{ 0xffffffffffffffc9L, "48" },
{ 0xffffffffffffffe9L, "68" },
{ 0xffffffffffffffffL, "7e" },
{ 0x0000000000000000L, "7f" },
{ 0x0000000000000001L, "80" },
{ 0x0000000000000071L, "f0" },
{ 0x0000000000000077L, "f6" },
{ 0x0000000000000078L, "f7" },
{ 0x0000000000000079L, "f800" },
{ 0x0000000000000178L, "f8ff" },
{ 0x0000000000000179L, "f90100" },
{ 0x0000000000010078L, "f9ffff" },
{ 0x0000000000010079L, "fa010000" },
{ 0x0000000001000078L, "faffffff" },
{ 0x0000000001000079L, "fb01000000" },
{ 0x0000000100000078L, "fbffffffff" },
{ 0x0000000100000079L, "fc0100000000" },
{ 0x0000010000000078L, "fcffffffffff" },
{ 0x0000010000000079L, "fd010000000000" },
{ 0x0001000000000078L, "fdffffffffffff" },
{ 0x0001000000000079L, "fe01000000000000" },
{ 0x0100000000000078L, "feffffffffffffff" },
{ 0x0100000000000079L, "ff0100000000000000" },
{ 0x7fffffffffffff79L, "ff7fffffffffffff00" },
{ 0x7fffffffffffffffL, "ff7fffffffffffff86" },
// Other cases
{ 0xffffffff80000000L, "0480000077" },
{ 0xfffffffffffefe89L, "05feff00" },
{ 0xfffffffffffefe8aL, "05feff01" },
{ 0xfffffffffffeff86L, "05fefffd" },
{ 0xfffffffffffeff87L, "05fefffe" },
{ 0xfffffffffffeff88L, "05feffff" },
{ 0xfffffffffffeff89L, "060000" },
{ 0xfffffffffffeff8aL, "060001" },
{ 0xffffffffffff0086L, "0600fd" },
{ 0xffffffffffff0087L, "0600fe" },
{ 0xffffffffffff0088L, "0600ff" },
{ 0xffffffffffff0089L, "060100" },
{ 0xfffffffffffffe86L, "06fefd" },
{ 0xfffffffffffffe87L, "06fefe" },
{ 0xfffffffffffffe89L, "0700" },
{ 0xfffffffffffffe8aL, "0701" },
{ 0xffffffffffffff87L, "07fe" },
{ 0xffffffffffffff88L, "07ff" },
{ 0xffffffffffffff89L, "08" },
{ 0xffffffffffffffffL, "7e" },
{ 0x0000000000000000L, "7f" },
{ 0x0000000000000001L, "80" },
{ 0x0000000000000077L, "f6" },
{ 0x0000000000000078L, "f7" },
{ 0x0000000000000176L, "f8fd" },
{ 0x0000000000000177L, "f8fe" },
{ 0x0000000000000178L, "f8ff" },
{ 0x0000000000000277L, "f901fe" },
{ 0x000000000000ff77L, "f9fefe" },
{ 0x000000000000ff78L, "f9feff" },
{ 0x000000000000ff79L, "f9ff00" },
{ 0x000000000000ff7aL, "f9ff01" },
{ 0x0000000000010076L, "f9fffd" },
{ 0x0000000000010077L, "f9fffe" },
{ 0x0000000000010078L, "f9ffff" },
{ 0x0000000000010079L, "fa010000" },
{ 0x000000000001007aL, "fa010001" },
{ 0x0000000000010176L, "fa0100fd" },
{ 0x0000000000010177L, "fa0100fe" },
{ 0x000000007fffffffL, "fb7fffff86" },
{ 0x7fffffffffffffffL, "ff7fffffffffffff86" },
@DataProvider(name = "lengths")
public Object[][] genLengths() {
return new Object[][] {
// Check cutoff values
{ PackedLong.CUTOFF_VALUES[ 0] - 1, 9 },
{ PackedLong.CUTOFF_VALUES[ 0], 8 },
{ PackedLong.CUTOFF_VALUES[ 1] - 1, 8 },
{ PackedLong.CUTOFF_VALUES[ 1], 7 },
{ PackedLong.CUTOFF_VALUES[ 2] - 1, 7 },
{ PackedLong.CUTOFF_VALUES[ 2], 6 },
{ PackedLong.CUTOFF_VALUES[ 3] - 1, 6 },
{ PackedLong.CUTOFF_VALUES[ 3], 5 },
{ PackedLong.CUTOFF_VALUES[ 4] - 1, 5 },
{ PackedLong.CUTOFF_VALUES[ 4], 4 },
{ PackedLong.CUTOFF_VALUES[ 5] - 1, 4 },
{ PackedLong.CUTOFF_VALUES[ 5], 3 },
{ PackedLong.CUTOFF_VALUES[ 6] - 1, 3 },
{ PackedLong.CUTOFF_VALUES[ 6], 2 },
{ PackedLong.CUTOFF_VALUES[ 7] - 1, 2 },
{ PackedLong.CUTOFF_VALUES[ 7], 1 },
{ PackedLong.CUTOFF_VALUES[ 8] - 1, 1 },
{ PackedLong.CUTOFF_VALUES[ 8], 2 },
{ PackedLong.CUTOFF_VALUES[ 9] - 1, 2 },
{ PackedLong.CUTOFF_VALUES[ 9], 3 },
{ PackedLong.CUTOFF_VALUES[10] - 1, 3 },
{ PackedLong.CUTOFF_VALUES[10], 4 },
{ PackedLong.CUTOFF_VALUES[11] - 1, 4 },
{ PackedLong.CUTOFF_VALUES[11], 5 },
{ PackedLong.CUTOFF_VALUES[12] - 1, 5 },
{ PackedLong.CUTOFF_VALUES[12], 6 },
{ PackedLong.CUTOFF_VALUES[13] - 1, 6 },
{ PackedLong.CUTOFF_VALUES[13], 7 },
{ PackedLong.CUTOFF_VALUES[14] - 1, 7 },
{ PackedLong.CUTOFF_VALUES[14], 8 },
{ PackedLong.CUTOFF_VALUES[15] - 1, 8 },
{ PackedLong.CUTOFF_VALUES[15], 9 },
// Check some other values
{ Long.MIN_VALUE, 9 },
{ Long.MAX_VALUE, 9 },
{ (long)Integer.MIN_VALUE, 5 },
{ (long)Integer.MAX_VALUE, 5 },
{ (long)Short.MIN_VALUE, 3 },
{ (long)Short.MAX_VALUE, 3 },
{ (long)Byte.MIN_VALUE, 2 },
{ (long)Byte.MAX_VALUE, 2 },
{ 0, 1 },
}Edited by: archie172 on Mar 3, 2010 12:40 PM
Removed copyright message.
Similar Messages
-
With using any version of iTunes, whenever I import songs into my library using the "add to library" function, iTunes adds those songs in songs' alphabetical order. This is pretty annoying since it does not preserve the logical track number or even the album sort order (for example when adding 2 albums stored in a unique folder). Anyone has any ideas ? Been stumped for a while....!!!
hi i had the same problem today when i updated my itunes to latest version. however, i have just found my songs in the 'itunes media' folder. this was accessed through 'my music' then keep clicking through until you find itunes media and all my library songs were in there and i then just added these files to my library and all were restored however, i have lost all my playlists but at least my 700 songs are back. very dissapointed with apple that they have let this happen with their latest update, the previous version was miles better than this one . hope you find them. stevo
-
how is my laptop working even though I spilled iced tea on it? The keyboard does not light up but works normally, and everything else seems to be in order! The front of the bottom is hot while the rest if mildly warm. I don't know if its going to have a problem in the future. I wiped off as much as I could with a cloth and left it open and upside down for 10-15 minutes. Any idea if I am in the clear?
Please make a Genius Appointment and take it in for service. Do not wait.
-
CS6: Premiere exports MXF Op1a (mpeg based) but Media Encoder does not.
As a company we use several local machines with a full installation of CS6.
Premiere Pro exports in our broadcast format (MXF Op1a - mpeg based - Long GOP - 50Mb - Top Field First - etc...) still Media Encoder does not.
They we both installed in the same procedure, full installation of CS6. MXF presets are present on both directories (Premiere and Media Encoder).
ME simply doesn't recognize "any know exporters" even if I force a preset, when it comes to MXF.
We have to import every single video into Premiere to export as MXF. It's difficult to create an effective workflow this way.
Any thoughts on why is this happening?
NOTE:
- Updated twice all machines - first to 6.0.3, now to 6.0.5 = no result
- Copied presets from a working trial installation = no result
- Microsoft based OS core i7 with 12Gb RAM, 3Tb HD and Nvidia Quadro 4000
Regards, RicardoMI've read a lot of suggestions towards similar issues. None worked.
- installed codec packs incluiding different mpeg variations = no result
- copied /common preset files from premiere to AME = no result
- copied and replaced the full directory of AME from another working AME (with MXF exporter) = no result
- re-installed CS6 = no result
- updated CS6 twice = no result
- added MXF Preset zip file available in the official Adobe support (although it refers to mac presets) = no matter... no result
I really don't know what else to do.
It's difficult to accept suggestions like "format c and start over" cause of the impact on the production room, so I really need more options other than the extreme ones...
Any ideia Jim Simon?
Thanks in advance!
BTW: Must add that in all processes above, MXF exporting was allways possible in Premiere, just not in AME. -
Importing clips from iMovie HD does not preserve capture date
Hi,
I am importing iMovie HD projects into iMovie 09.
The clips in iMovie HD (originally imported from DV) have the correct capture date/time on them.
However, when I import these clips into iMovie 09, it does not preserve these dates for the events but instead chooses to use the "file create date/time" as the event date time.
Is this info lost forever in iMovie 09 or is there some setting that can use the original clip capture date info as the event date/time?
Thanks.Hi,
I am importing iMovie HD projects into iMovie 09.
The clips in iMovie HD (originally imported from DV) have the correct capture date/time on them.
However, when I import these clips into iMovie 09, it does not preserve these dates for the events but instead chooses to use the "file create date/time" as the event date time.
Is this info lost forever in iMovie 09 or is there some setting that can use the original clip capture date info as the event date/time?
Thanks. -
Brand new computer with Windows 8.1 will not sync to iPod Classic 120G. Windows does not recognize anything but iPod Touch? Is there a simple solution. Diagnostics have run and failed to point to a fix.
Might be worth tearing down the whole iTunes install and starting over...
Go to Control Panel > Add or Remove Programs (Win XP) or Programs and Features (Later)
Remove all of these items in the following order:
iTunes
Apple Software Update
Apple Mobile Device Support
Bonjour
Apple Application Support
Reboot, download iTunes, then reinstall, either using an account with administrative rights, or right-clicking the downloaded installer and selecting Run as Administrator.
See also HT1925: Removing and Reinstalling iTunes for Windows XP or HT1923: Removing and reinstalling iTunes for Windows Vista, Windows 7, or Windows 8
Should you get the error iTunes.exe - Entry Point Not Found after the above reinstall then copy QTMovieWin.dll from:
C:\Program Files (x86)\Common Files\Apple\Apple Application Support
and paste into:
C:\Program Files (x86)\iTunes
The above paths would be for a 64-bit machine. Hopefully the same fix with the " (x86)" omitted would work on 32-bit systems with the same error.
tt2 -
IPhone black screen does not show anything, but I can hear that the device works. I hear the lock open the screen and hear the iPod but the screen remains black!!
It's happened to me before as well. Try holding both lock(top right) and home buttons simultaneously until u see a slight flash of wight then just reboot it normally. If that doesn't work try restoring your device from itunes
-
My keyboard plugs into the back of my display monitor it does not work? but when I plug the keyboard into my MacBook Pro it works fine? is it my display Monitor?
Try:
- Resetting the iPod:
Reset iPod touch: Press and hold the On/Off Sleep/Wake button and the Home
button at the same time for at least ten seconds, until the Apple logo appears.
- Resetting network settings: Setting>General>Reset>Reset Network Settings -
My Firefox version is 13.0.1, I use Windows Seven 64-bit, when I click on Firefox, but the program does not run! But Firefox is seen in the list of Windows processes, while Firefox does not run.
I manually deleted Firefox from the list once I have Windows processing.
And when I clicked on Firefox, Firefox will open quickly and easily.
Firefox process in Windows Processes names list called "firefox.exe * 32" is.
Please try to solve my problem, my problem is how to solve?Hi, are you saying that you start Firefox and it stalls -- you can see it in the Task Manager but it never displays -- but if you kill that process and start Firefox again it starts up properly that second time?
If you look at the statistics available in the Task Manager's processes tab such as bytes read or other bytes, can you see whether Firefox is doing anything at all? ''Note: You might need to add columns if your Processes tab isn't set up to display statistics. You can do that from the View menu.''
You might already have seen these troubleshooting articles. If not, does anything here help:
* [[Firefox won't start - find solutions]]
* [[Firefox hangs or is not responding - How to fix]] -
Weblogic 8.1 SP2 does not support 'Order by' clause in EJB-QL
It seems that Weblogic 8.1 SP2 does not support 'Order by' clause in EJB-QL. EJB 2.1 spec supports 'Order by' clause in EJB-QL. Am I right when I say that it indicates : "Weblogic 8.1 SP2 does not support EJB 2.1" ? In that case, what can be the alternative since I am using Weblogic 8.1 and I require 'Order by' clause in Ejb-QL as well.
In WL 8.1 SP4 I can use the ORDERBY just fine.
Try ORDERBY instead of Order by -
ACL does not correctly order the permissions when they are updated
Outlook Connector sjab32.dll 7.1.228.0 sjms32.dll 7.1.228.0 sjui32.dll 7.1.228.0 sjtp32.dll 7.1.228.0
Problem: We have identifed an issue with editing calendar permissions using the Outlook Connector. Basically the calendar ACEs are evaluated on a first match basic. Outlook Connector does not correctly order the permissions when they are updated. A brief example is below. Editing permissions via UWC works fine and will in fact fix any out of order ACE entries.
Basic calendar permission:
1.aces=@@o^a^rsf^g;@@o^p^rw^g;@@o^c^wdeic^g;@^a^sf^g;@^c^^g;@^p^r^g^
after adding user mab, Ace has now been re-ordered so that the everyone permissions are now before the owner permissions:
2.aces=mab^p^r^g;mab^c^rwd^g;mab^a^rsf^g;@^c^rwd^d;@^c^^g;@^p^r^g;@^a^sf^g;@@o^c^wdeic^g;@@o^p^rw^g;@@o^a^rsf^g
any suggestion as to why this re-ordering is happening when updated through OC and any supporting doucuments for ACLHi,
This issue is most likely related to bug #6471869 (Outlook Connector allows invites to users with restricted permissions). This has been fixed in the latest Outlook Connector 7.1_233 (aka 122018-09). I recommend logging a Sun support case to get a copy of this new release.
Regards,
Shane. -
My Mum( a pensioner) is wanting to purchase both an iPhone and iPad. What is the best way for her to manage her data /calls/txt etc. obviously the cost needs to be as low as possible. Currently does not have WiFi but uses dongle
My Mum( a pensioner) is wanting to purchase both an iPhone and iPad. What is the best way for her to manage her data /calls/txt etc. obviously the cost needs to be as low as possible. Currently does not have WiFi but uses dongle
-
the problem is that I select as a pdf document does not open completely but leaves the mail. Also I can not open more even Ibook other documents already saved
http://www.microsoft.com/mac/support
http://answers.microsoft.com/en-us/mac/forum/macword?auth=1
http://answers.microsoft.com/en-us/mac/forum/macoffice2011-macword/microsoft-wor d-for-mac-2011-will-not-open-error/ecc42616-6f49-40bb-b8f5-e21c711ea359 -
I have used Illustrator CS3 on my two try or three previous computers. Now I try to install Illustrator CS3 on a my new (4 weeks old) computer. Adobe does not allow me, but demands me to proof myself being an owner of Illustrator CS2 or older. I don't manage to speak English on phone, bad hearing, to fast spoken, odd expressions.What can I do? Is there a possibility to write a complain?
You can use online chat to talk with Adobe. For the link below click the Still Need Help? option in the blue area at the bottom and choose the chat option...
Serial number and activation chat support (non-CC)
http://helpx.adobe.com/x-productkb/global/service1.html ( http://adobe.ly/1aYjbSC ) -
my iphone automatically locked and it does not open again,but if u call the sim that was inserted you will hear that it was active,so please help me how to open my iphone 4,no display appeared if you touch the switch button,
Hello arlyn-cavite,
If the screen is not showing anyting when you press any of the buttons you may want to try these steps.
From article iPhone: Hardware troubleshooting http://support.apple.com/kb/ts2802
Will not turn on, will not turn on unless connected to power, or unexpected power off
Verify that the Sleep/Wake button functions. If it does not function, inspect it for signs of damage. If the button is damaged or is not functioning when pressed, seek service.
Check if a Liquid Contact Indicator (LCI) is activated or there are signs of corrosion. Learn about LCIs and corrosion.
Connect the iPhone to the iPhone's USB power adapter and let it charge for at least ten minutes.
After at least 15 minutes, if:
The home screen appears: The iPhone should be working. Update to the latest version of iOS if necessary. Continue charging it until it is completely charged and you see this battery icon in the upper-right corner of the screen . Then unplug the phone from power. If it immediately turns off, seek service.
The low-battery image appears, even after the phone has charged for at least 20 minutes: See "iPhone displays the low-battery image and is unresponsive" symptom in this article.
Something other than the Home screen or Low Battery image appears, continue with this article for further troubleshooting steps.
If the iPhone did not turn on, reset it while connected to the iPhone USB power adapter.
If the display turns on, go to step 4.
If the display remains black, go to next step.
Connect the iPhone to a computer and open iTunes. If iTunes recognizes the iPhone and indicates that it is in recovery mode, attempt to restore the iPhone. If the iPhone doesn't appear in iTunes or if you have difficulties in restoring the iPhone, see this article for further assistance.
If restoring the iPhone resolved the issue, go to step 4. If restoring the iPhone did not solve the issue, seek service.
Take care,
Sterling
Maybe you are looking for
-
How to deploy web app from PC to Linux with Netbeans ?
I am developing a web app in Netbeans 6.0 on my PC, using the Tomcat comes with the IDE, now I need to deploy it to a Linux server running Tomcat, can I do it from inside the IDE ? Can it copy all the servlets and other java classes to the Linux for
-
How to submit a conurrent request with MLS attached from PL/SQL?
Hi Friends, I am trying to submit RAXINV_SEL from backend. This one has MLS attached. If we submit it from request window,it fires 'Multilanguage' program first and then the RAXINV_SEL. How to set this MLS option from backend? I tried submitting the
-
I am declaring data as follows V_ICON LIKE ICON, V_ICONCK LIKE ICON VALUE ICON_CHECKED, V_ICONTR LIKE ICON VALUE ICON_TRANSPORT, V_ICONRED LIKE ICON VALUE ICON_INCOMPLETE, V_ICONGREEN LIKE ICON VALUE ICON_CHECKED, Now
-
How does "SoftReference" and "WeakReference" work?
Hello, everybody! I want to design a cache with "SoftReference" the cache is just like: int length = 1024; Object[] cacheObjects = new Object[length+1]; cacheObjects[value.hashCode() & length] = new SoftReference(value);I hope the "value" and soft re
-
Record audio with labview and audio dataplugin
The thing I would like to do, is write waveforms to WAV/wma/mp3 files. The way to do this, is probably with the help of the audio data plugin. However, it is far from clear how to configure and use this plugin with LabView. There is documentation ava