Buffer Overflow Exploit from beta java 16 to beta java 20
I have a pretty severe virus complete with a remote server, and when opening up a form in java from java 16 to beta java 20. the java program crashes whenever your entering information into a form. in chrome it says that java has crashed when trying to type into a form(it then doesnt allow the username field to be typed in and then freezes (it wont allow it to focus so you can type in your username or password) for a couple seconds. The same thing happens in internet explorer. I'm running windows 7. Even with my setup, the program definetly still has security holes.
(the site itself is fine,webct, i didn't click onto a phishing site, the website works fine on any other computer, but the exploit has been used on my computer)
Edited by: user12865305 on Mar 27, 2010 6:39 PM
Edited by: user12865305 on Mar 27, 2010 6:40 PM
This is the forum for Berkeley DB, Java Edition. Your question belongs on another forum, though I'm not quite sure what that would be.
Regards,
Linda
Similar Messages
-
We are MSSP and one of our clients is generating lots Buffer Overflow Exploit from source 196.35.77.17.This source is IS SMTP relay server that relays mail to client network.
Now we are picking up this Buffer Overflow Exploit from this source.
Can this mean that this signature is a false positve from misconfigured IS server?
Any sugestion pleaseTo be more specific this is triggered by Sendmail Data Header Overflow (ID 3115) and destination port is tcp 25.
-
If I enable the IPS function in my RVS4000, some images from various popular websites like Flickr and blogspot will not load. They are detected by IPS as "EXPLOIT Microsoft Color Management Module Buffer Overflow"
You can test it yourself with this image hosted at blogspot:
http://4.bp.blogspot.com/_a7jkcMVp5Vg/TF3gjYJrHBI/AAAAAAAAMqM/ScJAA8y9nZk/s400/sorry.jpg
With IPS enabled, that image will not load. With IPS disabled, it will.
I am using firmware 1.3.2.0 and IPS signature version 1.42.
I believe IPS is incorrectly identifying these images as containing the color management buffer overflow exploit.
Any chance this could be corrected in the next IPS signature release?
As an aside, I would prefer to open a case with support about this, but I really can't figure out how to do so. I purchased the RVS4000 when it was still made by linksys. I would assume I should still be able to get support on it now that it's own by Cisco, but trying to open a case on the web for this seems impossible. Am I missing something?i've just removed the proxy in my browser, so that it connects direct.
et voila: EXPLOIT Microsoft Color Management Module Buffer Overflow
but this rises the fear that IPS works just as expected when no (external) proxy is used.
that would be a serious problem, at least because it isn't mentioned in the online help/manual and because i'd leave my real ip at many places, which i wouldn't like.
i'd be happy to read a response from cisco to the Buffer Overflow (is it a false positive) and if IPS should work when a external proxy is used (via unencrypted connections, so the [w]rvs has a chance to read the communication. -
New quicktime buffer overflow exploit
just found this on digg.com
http://projects.info-pull.com/moab/MOAB-01-01-2007.htmlThis article has certainly bought out the MS party faithfull
http://blogs.zdnet.com/Ou/?p=398
However in the absence of any response from Apple, that's to be expected. C'mon Apple, this is not an issue you can ignore!! I tried the link supplied by George Ou in his "article" and the exploit - touted by him as "100% tested" - simply did not work on my Mini Mac.
(All I got was a browser page blank apart from the following text -
<?xml version="1.0"?><?quicktime type="application/x-quicktime-media-link"?><embed autoplay="true" moviename="��������& (lots more of the same)
Is this FUD? Core blimey, Apple, you need to be seen making an appropriate and measured response, not just to this particular attack but to the whole notion of the "Exploit a day" scenario.
<br>
Mac Mini Mac OS X (10.4.7) Dual Core 512mb RAM
Mac Mini Mac OS X (10.4.7) Dual Core 512mb RAM -
Hi
Ive read a lot that java eliminates Buffer overflow problems. Could some one please elaborate how this is done.
Also if i were to limit the send and receive buffer sizes for a given socket by setting them to a small size and then send a String value over the socket with a larger byte size wouldn't that cause a buffer overflow ?
tx in advance.sridanu wrote:
Ive read a lot that java eliminates Buffer overflow problems. Bounded arrays. As such you can't write data outside the array and into potentially executable memory.
Also if i were to limit the send and receive buffer sizes for a given socket by setting them to a small size and then send a String value over the socket with a larger byte size wouldn't that cause a buffer overflow ?That might cause your application to throw an exception, but it would not cause other sections of memory to be over written. -
Dear All,
I got the below in my var/adm/messages:
Dec 4 15:55:12 scotty ns-proxy[2441]: [ID 461630 user.crit] gethostans: possible attempt to exploit buffer overflow while looking up t5.tagstat.com
Dec 4 15:55:12 scotty ns-proxy[3364]: [ID 461630 user.crit] gethostans: possible attempt to exploit buffer overflow while looking up t5.tagstat.com
Dec 4 15:55:12 scotty ns-proxy[2359]: [ID 461630 user.crit] gethostans: possible attempt to exploit buffer overflow while looking up t5.tagstat.com
Dec 4 15:55:13 scotty ns-proxy[2745]: [ID 461630 user.crit] gethostans: possible attempt to exploit buffer overflow while looking up t5.tagstat.com
Dec 5 07:30:53 scotty ns-proxy[11351]: [ID 461630 user.crit] gethostans: possible attempt to exploit buffer overflow while looking up www.muslimguardian.com
Dec 5 10:07:37 scotty ns-proxy[2425]: [ID 461630 user.crit] gethostans: possible attempt to exploit buffer overflow while looking up www.bna.bh
i am using proxy server 3.6 sp8 on solaris 9 box
What does the above message correspond to?
How can i get rid of it?
Thanks,
ScottyTo be more specific this is triggered by Sendmail Data Header Overflow (ID 3115) and destination port is tcp 25.
-
class test
public static void main(String[]args)
System.out.println(1.20+4.90-4.90); System.out.println(1.20+4.90-4.90-1.20);
please run the following program
i have a similar problem with this buffer overflow.
i am doing a cshier program that perform the calculation i wrote in the test program,
note that my values are double.. what can i do to prevet this??E.D.-inc wrote:
class test
public static void main(String[]args)
System.out.println(1.20+4.90-4.90); System.out.println(1.20+4.90-4.90-1.20);
please run the following program
i have a similar problem with this buffer overflow.
i am doing a cshier program that perform the calculation i wrote in the test program,
note that my values are double.. what can i do to prevet this??As jverd mentioned, this isn't a buffer overflow. You need to format your answers.
public class Fubar1
public static void main(String[] args)
double d1 = 1.20 + 4.90 - 4.90;
double d2 = 1.20 + 4.90 - 4.90 - 1.20;
System.out.printf("%3.2f\n", d1);
System.out.printf("%3.2f\n", d2);
} -
XMLTRANSFORM Too large stylesheet - code buffer overflow issue
Hi All,
My question is related to MSWordML generation from PLSQL stored procedure.
1. I have table, containing XSLT stylesheets for different documents
2. PLSQL stored procedure is generating dynamic content depending on some params and at the end I'm using
SELECT XMLTRANSFORM(XMLTYPE.createxml(db_data_clob), XMLTYPE.createxml(x.xslt_clob)).GetClobVal()
INTO res
FROM msword_ml_data x
WHERE x.report_id = rep_id_variable;
where : x.xslt_clob -> column, containing XSLT CLOB
db_data_clob -> dynamic content CLOB
res -> CLOB result
All this was working fine on Oracle11gR1, but I had to reinstall database and I said why not install Oracle11gR2 ...
Guess what. Stored procedure is raising exception when using XMLTRANSFORM :
Exception : : ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00004: internal error "Too large stylesheet - code buffer overflow"
Google says nothing about it. I don't recall setting some special DB property in Oracle11gR1.
Has anyone encountered this ?
I haven't changed procedure nor table.
I'm using exactly the same XSLT's from Java code and they are working just fine, so they are not the reason. My guess is that something in Oracle11gR2 related to XML processing is changed.
If anyone could help, thanks in advanceFor those who are interested.
I have logged a service request and it turned out that this is is a bug in Oracle 11gR2.
"The limitation on the style sheet is not exactly a size limit but a limitation on the number of style sheet instructions and depends on the way the style sheet has been written. This is a C based parser limitation"
Anyway, the workaround is to create Java stored procedure and do transformation from there. -
Hi.
I have a HIL system where I have a Simulink model (dll) running a 1kHz on an RT system with VeriStand. Some outputs from the model is mapped directly to CAN signals. Theese CAN messages are sent periodically typically at 10, 50 and 100Hz.
Looking from the outside, i.e. listening on the CAN interface the messages seems to be sent correctly. However I get a lot of errors shown in the console viewer, see below. The errorcode is -1074388984 which is CAN buffer overflow.
When I disable the the messages which contains parameters mapped from the model the error code reporting stops.
It seems that a CAN message is stored in the transmit buffer after every iteration of the model i.e. every 1ms, then causing buffer overflow.
Is there a setting somewhere to avoid theese error messages or is it a bug? I have no problem with this the I was using the beta.
Regards
RogerHi.
1. Yes, I have used NI Dynamic Test and then later the VeriStand beta. However, my client PC has been reinstalled (Windows XP) meaning that I have a "clean" installation of the released Veristand software. On the RT target I have uninstalled all NI-software and then installed the new softare according to the VeriStand installation instructions.
2. The version of NI-CAN is 2.6.3 (f2)
3. It is NI-CAN 8461 board that are used.
4. My configuration is PXI chassie 1042Q, 8106 controller, FPGA board 7813R ans CAN 8461. I have a custom device configured that uses the FPGA board
5. I have created a blank configuration, added my model and mapped only one signal to the model and this results in the same problem. If I stop the model the error reporting stops. If I remove the mapping the error reporting stops.
/Roger -
[SOLVED] Firefox and OpenJDK give buffer overflow
Hello all,
I hope I am posting this on the right forum. I am having some problems on sites with Java when opening them using Firefox 14.0.1 and the OpenJDK plugin.
Whenever I open a site that has any kind of java (even the simple applet tutorial given on oracle website) I get a buffer overflow error. If I switch to Sun JDK (well Oracle? whatever...) everything works perfectly. Opera with OpenJDK works perfectly as well.
This is what I get:
*** buffer overflow detected ***: firefox terminated
======= Backtrace: =========
/lib/libc.so.6(__fortify_fail+0x37)[0x7fcc895d16c7]
/lib/libc.so.6(+0xf77a0)[0x7fcc895cf7a0]
/usr/lib/jvm/java-7-openjdk/lib/IcedTeaPlugin.so(NP_Initialize+0x198)[0x7fcc5e1deb58]
/usr/lib/firefox/libxul.so(+0x108b89a)[0x7fcc87ec589a]
/usr/lib/firefox/libxul.so(+0x10778f2)[0x7fcc87eb18f2]
/usr/lib/firefox/libxul.so(+0x108327f)[0x7fcc87ebd27f]
/usr/lib/firefox/libxul.so(+0x1085639)[0x7fcc87ebf639]
/usr/lib/firefox/libxul.so(+0x1085ac5)[0x7fcc87ebfac5]
/usr/lib/firefox/libxul.so(+0x1085cf2)[0x7fcc87ebfcf2]
/usr/lib/firefox/libxul.so(+0x10864a1)[0x7fcc87ec04a1]
/usr/lib/firefox/libxul.so(+0xb08ee6)[0x7fcc87942ee6]
/usr/lib/firefox/libxul.so(+0xb09165)[0x7fcc87943165]
/usr/lib/firefox/libxul.so(+0x72cdf8)[0x7fcc87566df8]
/usr/lib/firefox/libxul.so(+0x7226b9)[0x7fcc8755c6b9]
/usr/lib/firefox/libxul.so(+0x71fceb)[0x7fcc87559ceb]
/usr/lib/firefox/libxul.so(+0x1258ae3)[0x7fcc88092ae3]
/usr/lib/firefox/libxul.so(+0x111a955)[0x7fcc87f54955]
/usr/lib/firefox/libxul.so(+0xfe42ed)[0x7fcc87e1e2ed]
/usr/lib/firefox/libxul.so(+0x84d64a)[0x7fcc8768764a]
/usr/lib/firefox/libxul.so(+0x850e8d)[0x7fcc8768ae8d]
/usr/lib/firefox/libxul.so(XRE_main+0x12d)[0x7fcc8768b120]
firefox[0x40250b]
/lib/libc.so.6(__libc_start_main+0xf5)[0x7fcc894f9725]
firefox[0x406041]
======= Memory map: ========
00400000-00417000 r-xp 00000000 08:05 1591079 /usr/lib/firefox/firefox
00617000-00618000 r--p 00017000 08:05 1591079 /usr/lib/firefox/firefox
00618000-00619000 rw-p 00018000 08:05 1591079 /usr/lib/firefox/firefox
7fcc4e500000-7fcc4f200000 rw-p 00000000 00:00 0
7fcc4f300000-7fcc4f600000 rw-p 00000000 00:00 0
7fcc4f700000-7fcc4f900000 rw-p 00000000 00:00 0
7fcc4fa00000-7fcc4fc00000 rw-p 00000000 00:00 0
7fcc4fd00000-7fcc4fe00000 rw-p 00000000 00:00 0
7fcc4ff00000-7fcc50000000 rw-p 00000000 00:00 0
7fcc50100000-7fcc50200000 rw-p 00000000 00:00 0
7fcc50300000-7fcc50600000 rw-p 00000000 00:00 0
7fcc50700000-7fcc50c00000 rw-p 00000000 00:00 0
7fcc50d00000-7fcc51100000 rw-p 00000000 00:00 0
7fcc51200000-7fcc51500000 rw-p 00000000 00:00 0
7fcc51600000-7fcc51700000 rw-p 00000000 00:00 0
7fcc51800000-7fcc51900000 rw-p 00000000 00:00 0
7fcc51a00000-7fcc51b00000 rw-p 00000000 00:00 0
7fcc51bdf000-7fcc51be0000 ---p 00000000 00:00 0
7fcc51be0000-7fcc523e0000 rw-p 00000000 00:00 0 [stack:13747]
7fcc52500000-7fcc52600000 rw-p 00000000 00:00 0
7fcc52700000-7fcc52800000 rw-p 00000000 00:00 0
7fcc52900000-7fcc52a00000 rw-p 00000000 00:00 0
7fcc52b00000-7fcc52c00000 rw-p 00000000 00:00 0
7fcc52cfe000-7fcc52cff000 ---p 00000000 00:00 0
7fcc52cff000-7fcc534ff000 rw-p 00000000 00:00 0 [stack:13733]
7fcc534ff000-7fcc53500000 ---p 00000000 00:00 0
7fcc53500000-7fcc54600000 rw-p 00000000 00:00 0 [stack:13732]
7fcc546ac000-7fcc546ad000 ---p 00000000 00:00 0
7fcc546ad000-7fcc54ead000 rw-p 00000000 00:00 0 [stack:13731]
7fcc54ead000-7fcc58eae000 rw-s 00000000 00:0f 1035228 /dev/shm/pulse-shm-1172457461
7fcc58eae000-7fcc58ec3000 r-xp 00000000 08:05 1310772 /usr/lib/libnsl-2.16.so
7fcc58ec3000-7fcc590c2000 ---p 00015000 08:05 1310772 /usr/lib/libnsl-2.16.so
7fcc590c2000-7fcc590c3000 r--p 00014000 08:05 1310772 /usr/lib/libnsl-2.16.so
7fcc590c3000-7fcc590c4000 rw-p 00015000 08:05 1310772 /usr/lib/libnsl-2.16.so
7fcc590c4000-7fcc590c6000 rw-p 00000000 00:00 0
7fcc590c6000-7fcc59379000 r-xp 00000000 08:05 1335703 /usr/lib/libvorbisenc.so.2.0.9
7fcc59379000-7fcc59578000 ---p 002b3000 08:05 1335703 /usr/lib/libvorbisenc.so.2.0.9
7fcc59578000-7fcc59594000 r--p 002b2000 08:05 1335703 /usr/lib/libvorbisenc.so.2.0.9
7fcc59594000-7fcc59595000 rw-p 002ce000 08:05 1335703 /usr/lib/libvorbisenc.so.2.0.9
7fcc59595000-7fcc595df000 r-xp 00000000 08:05 1335711 /usr/lib/libFLAC.so.8.2.0
7fcc595df000-7fcc597de000 ---p 0004a000 08:05 1335711 /usr/lib/libFLAC.so.8.2.0
7fcc597de000-7fcc597e0000 rw-p 00049000 08:05 1335711 /usr/lib/libFLAC.so.8.2.0
7fcc597e0000-7fcc597e5000 r-xp 00000000 08:05 1335668 /usr/lib/libasyncns.so.0.3.1
7fcc597e5000-7fcc599e4000 ---p 00005000 08:05 1335668 /usr/lib/libasyncns.so.0.3.1
7fcc599e4000-7fcc599e5000 r--p 00004000 08:05 1335668 /usr/lib/libasyncns.so.0.3.1
7fcc599e5000-7fcc599e6000 rw-p 00005000 08:05 1335668 /usr/lib/libasyncns.so.0.3.1
7fcc599e6000-7fcc59a45000 r-xp 00000000 08:05 1335721 /usr/lib/libsndfile.so.1.0.25
7fcc59a45000-7fcc59c45000 ---p 0005f000 08:05 1335721 /usr/lib/libsndfile.so.1.0.25
7fcc59c45000-7fcc59c47000 r--p 0005f000 08:05 1335721 /usr/lib/libsndfile.so.1.0.25
7fcc59c47000-7fcc59c48000 rw-p 00061000 08:05 1335721 /usr/lib/libsndfile.so.1.0.25
7fcc59c48000-7fcc59c4c000 rw-p 00000000 00:00 0
7fcc59c4c000-7fcc59cab000 r-xp 00000000 08:05 1456447 /usr/lib/pulseaudio/libpulsecommon-2.1.so
7fcc59cab000-7fcc59eab000 ---p 0005f000 08:05 1456447 /usr/lib/pulseaudio/libpulsecommon-2.1.so
7fcc59eab000-7fcc59eac000 r--p 0005f000 08:05 1456447 /usr/lib/pulseaudio/libpulsecommon-2.1.so
7fcc59eac000-7fcc59eae000 rw-p 00060000 08:05 1456447 /usr/lib/pulseaudio/libpulsecommon-2.1.so
7fcc59eae000-7fcc59eb5000 r-xp 00000000 08:05 1350728 /usr/lib/libjson.so.0.0.1
7fcc59eb5000-7fcc5a0b4000 ---p 00007000 08:05 1350728 /usr/lib/libjson.so.0.0.1
7fcc5a0b4000-7fcc5a0b5000 r--p 00006000 08:05 1350728 /usr/lib/libjson.so.0.0.1
7fcc5a0b5000-7fcc5a0b6000 rw-p 00007000 08:05 1350728 /usr/lib/libjson.so.0.0.1
7fcc5a0b6000-7fcc5a0fe000 r-xp 00000000 08:05 1350892 /usr/lib/libpulse.so.0.14.3
7fcc5a0fe000-7fcc5a2fe000 ---p 00048000 08:05 1350892 /usr/lib/libpulse.so.0.14.3
7fcc5a2fe000-7fcc5a2ff000 r--p 00048000 08:05 1350892 /usr/lib/libpulse.so.0.14.3
7fcc5a2ff000-7fcc5a300000 rw-p 00049000 08:05 1350892 /usr/lib/libpulse.so.0.14.3
7fcc5a300000-7fcc5a800000 rw-p 00000000 00:00 0
7fcc5a8ff000-7fcc5a900000 ---p 00000000 00:00 0
7fcc5a900000-7fcc5b400000 rw-p 00000000 00:00 0 [stack:13729]
7fcc5b44b000-7fcc5c5c4000 r-xp 00000000 08:05 1469133 /usr/lib/mozilla/plugins/libflashplayer.so
7fcc5c5c4000-7fcc5c7c4000 ---p 01179000 08:05 1469133 /usr/lib/mozilla/plugins/libflashplayer.so
7fcc5c7c4000-7fcc5c899000 rw-p 01179000 08:05 1469133 /usr/lib/mozilla/plugins/libflashplayer.so
7fcc5c899000-7fcc5c9a8000 rw-p 00000000 00:00 0
7fcc5c9a8000-7fcc5c9cd000 r-xp 00000000 08:05 1326525 /usr/lib/libjson-glib-1.0.so.0.1400.2
7fcc5c9cd000-7fcc5cbcc000 ---p 00025000 08:05 1326525 /usr/lib/libjson-glib-1.0.so.0.1400.2
7fcc5cbcc000-7fcc5cbcd000 r--p 00024000 08:05 1326525 /usr/lib/libjson-glib-1.0.so.0.1400.2
7fcc5cbcd000-7fcc5cbce000 rw-p 00025000 08:05 1326525 /usr/lib/libjson-glib-1.0.so.0.1400.2
7fcc5cc0b000-7fcc5cc0e000 r-xp 00000000 08:05 1456503 /usr/lib/mozilla/plugins/libgnome-shell-browser-plugin.so
7fcc5cc0e000-7fcc5ce0e000 ---p 00003000 08:05 1456503 /usr/lib/mozilla/plugins/libgnome-shell-browser-plugin.so
7fcc5ce0e000-7fcc5ce0f000 r--p 00003000 08:05 1456503 /usr/lib/mozilla/plugins/libgnome-shell-browser-plugin.so
7fcc5ce0f000-7fcc5ce10000 rw-p 00004000 08:05 1456503 /usr/lib/mozilla/plugins/libgnome-shell-browser-plugin.so
7fcc5ce10000-7fcc5d866000 r-xp 00000000 08:05 1334749 /usr/lib/libQtGui.so.4.8.2
7fcc5d866000-7fcc5da65000 ---p 00a56000 08:05 1334749 /usr/lib/libQtGui.so.4.8.2
7fcc5da65000-7fcc5daa7000 r--p 00a55000 08:05 1334749 /usr/lib/libQtGui.so.4.8.2
7fcc5daa7000-7fcc5daae000 rw-p 00a97000 08:05 1334749 /usr/lib/libQtGui.so.4.8.2
7fcc5daae000-7fcc5dab2000 rw-p 00000000 00:00 0
7fcc5dab2000-7fcc5dd73000 r-xp 00000000 08:05 1334737 /usr/lib/libQtCore.so.4.8.2
7fcc5dd73000-7fcc5df73000 ---p 002c1000 08:05 1334737 /usr/lib/libQtCore.so.4.8.2
7fcc5df73000-7fcc5df7e000 r--p 002c1000 08:05 1334737 /usr/lib/libQtCore.so.4.8.2
7fcc5df7e000-7fcc5df7f000 rw-p 002cc000 08:05 1334737 /usr/lib/libQtCore.so.4.8.2
7fcc5df7f000-7fcc5df80000 rw-p 00000000 00:00 0
7fcc5dfbd000-7fcc5dfce000 r-xp 00000000 08:05 1459536 /usr/lib/mozilla/plugins/skypebuttons.so
7fcc5dfce000-7fcc5e1ce000 ---p 00011000 08:05 1459536 /usr/lib/mozilla/plugins/skypebuttons.so
7fcc5e1ce000-7fcc5e1cf000 r--p 00011000 08:05 1459536 /usr/lib/mozilla/plugins/skypebuttons.so
7fcc5e1cf000-7fcc5e1d0000 rw-p 00012000 08:05 1459536 /usr/lib/mozilla/plugins/skypebuttons.so
7fcc5e1d0000-7fcc5e1ff000 r-xp 00000000 08:05 1585363 /usr/lib/jvm/java-7-openjdk/lib/IcedTeaPlugin.so
7fcc5e1ff000-7fcc5e3fe000 ---p 0002f000 08:05 1585363 /usr/lib/jvm/java-7-openjdk/lib/IcedTeaPlugin.so
7fcc5e3fe000-7fcc5e400000 rw-p 0002e000 08:05 1585363 /usr/lib/jvm/java-7-openjdk/lib/IcedTeaPlugin.so
7fcc5e5f9000-7fcc5e5ff000 r-xp 00000000 08:05 1719200 /usr/lib/libcanberra-0.28/libcanberra-pulse.so
7fcc5e5ff000-7fcc5e7fe000 ---p 00006000 08:05 1719200 /usr/lib/libcanberra-0.28/libcanberra-pulse.so
7fcc5e7fe000-7fcc5e7ff000 r--p 00005000 08:05 1719200 /usr/lib/libcanberra-0.28/libcanberra-pulse.so
7fcc5e7ff000-7fcc5e800000 rw-p 00006000 08:05 1719200 /usr/lib/libcanberra-0.28/libcanberra-pulse.so
7fcc5e800000-7fcc5e900000 rw-p 00000000 00:00 0
7fcc5e9ff000-7fcc5ea00000 ---p 00000000 00:00 0
7fcc5ea00000-7fcc5f600000 rw-p 00000000 00:00 0 [stack:13726]
7fcc5f6ff000-7fcc5f700000 ---p 00000000 00:00 0
7fcc5f700000-7fcc60200000 rw-p 00000000 00:00 0 [stack:13725]
7fcc602ff000-7fcc60300000 ---p 00000000 00:00 0
7fcc60300000-7fcc60d00000 rw-p 00000000 00:00 0 [stack:13724]
7fcc60dff000-7fcc60e00000 ---p 00000000 00:00 0
7fcc60e00000-7fcc61700000 rw-p 00000000 00:00 0 [stack:13723]
7fcc617ff000-7fcc61800000 ---p 00000000 00:00 0
7fcc61800000-7fcc62100000 rw-p 00000000 00:00 0 [stack:13722]
7fcc621ff000-7fcc62200000 ---p 00000000 00:00 0
7fcc62200000-7fcc62f00000 rw-p 00000000 00:00 0 [stack:13721]
7fcc62fab000-7fcc62fac000 ---p 00000000 00:00 0
7fcc62fac000-7fcc637ac000 rw-p 00000000 00:00 0 [stack:13720]
7fcc637ac000-7fcc637b1000 r-xp 00000000 08:05 1310783 /usr/lib/libnss_dns-2.16.so
7fcc637b1000-7fcc639b0000 ---p 00005000 08:05 1310783 /usr/lib/libnss_dns-2.16.so
7fcc639b0000-7fcc639b1000 r--p 00004000 08:05 1310783 /usr/lib/libnss_dns-2.16.so
7fcc639b1000-7fcc639b2000 rw-p 00005000 08:05 1310783 /usr/lib/libnss_dns-2.16.so
7fcc639ef000-7fcc639f7000 r--p 00000000 08:06 260678 /home/stefano/.config/dconf/user
7fcc639f7000-7fcc639f8000 r--s 00000000 08:06 684980 /home/stefano/.cache/dconf/user
7fcc639f8000-7fcc639ff000 r-xp 00000000 08:05 1354677 /usr/lib/gio/modules/libdconfsettings.so
7fcc639ff000-7fcc63bfe000 ---p 00007000 08:05 1354677 /usr/lib/gio/modules/libdconfsettings.so
7fcc63bfe000-7fcc63bff000 r--p 00006000 08:05 1354677 /usr/lib/gio/modules/libdconfsettings.so
7fcc63bff000-7fcc63c00000 rw-p 00007000 08:05 1354677 /usr/lib/gio/modules/libdconfsettings.so
7fcc63c00000-7fcc64d00000 rw-p 00000000 00:00 0
7fcc64dff000-7fcc64e00000 ---p 00000000 00:00 0
7fcc64e00000-7fcc65700000 rw-p 00000000 00:00 0 [stack:13727]
7fcc657f9000-7fcc657fa000 ---p 00000000 00:00 0
7fcc657fa000-7fcc65ffa000 rw-p 00000000 00:00 0 [stack:13716]
7fcc65ffa000-7fcc65ffb000 ---p 00000000 00:00 0
7fcc65ffb000-7fcc667fb000 rw-p 00000000 00:00 0 [stack:13719]
7fcc667fb000-7fcc667fc000 ---p 00000000 00:00 0
7fcc667fc000-7fcc66ffc000 rw-p 00000000 00:00 0 [stack:13718]
7fcc66ffc000-7fcc66ffe000 r-xp 00000000 08:05 1334848 /usr/lib/libXss.so.1.0.0
7fcc66ffe000-7fcc671fe000 ---p 00002000 08:05 1334848 /usr/lib/libXss.so.1.0.0
7fcc671fe000-7fcc671ff000 r--p 00002000 08:05 1334848 /usr/lib/libXss.so.1.0.0
7fcc671ff000-7fcc67200000 rw-p 00003000 08:05 1334848 /usr/lib/libXss.so.1.0.0
7fcc67200000-7fcc67300000 rw-p 00000000 00:00 0
7fcc6730d000-7fcc6735f000 r--p 00000000 08:05 2228918 /usr/share/fonts/TTF/DejaVuSansMono.ttf
7fcc6735f000-7fcc6739f000 rwxp 00000000 00:00 0
7fcc673af000-7fcc673ef000 rwxp 00000000 00:00 0
7fcc673ff000-7fcc67400000 ---p 00000000 00:00 0
7fcc67400000-7fcc68000000 rw-p 00000000 00:00 0 [stack:13711]
7fcc68056000-7fcc68057000 rw-p 00000000 00:00 0
7fcc68057000-7fcc680aa000 r--p 00000000 08:05 2230287 /usr/share/fonts/TTF/DejaVuSerif-Italic.ttf
7fcc680aa000-7fcc680fe000 r--p 00000000 08:05 2230348 /usr/share/fonts/TTF/DejaVuSerif-Bold.ttf
7fcc680fe000-7fcc680ff000 ---p 00000000 00:00 0
7fcc680ff000-7fcc688ff000 rw-p 00000000 00:00 0 [stack:13710]
7fcc688ff000-7fcc68900000 ---p 00000000 00:00 0
7fcc68900000-7fcc69400000 rw-p 00000000 00:00 0 [stack:13717]
7fcc69404000-7fcc694c2000 r--p 00000000 08:05 2231638 /usr/share/fonts/TTF/arial.ttf
7fcc694c2000-7fcc694e0000 r--p 00000000 08:05 2231639 /usr/share/fonts/TTF/ariblk.ttfAborted
It's not a very big issue for me, it takes a split second to switch between OpenJDK and Sun but if I happen to forget, things go pear shaped. Anyone else having this issue? I remember something like that, if I am not mistaken, happening with Firefox 3.5 but that has been fixed long ago.
Last edited by StefaX (2012-08-05 07:32:19)Bett help fixing the bug: http://mail.openjdk.java.net/pipermail/ … 19629.html
https://bugs.archlinux.org/task/30969
http://icedtea.classpath.org/bugzilla/s … gi?id=1106
Last edited by AndyRTR (2012-08-03 13:02:52) -
Iam doing Data acquisition using NI-PXI 4472 and buffered period Measurement using NI-PXI 6602 simultaneously,my program gives an buffer overflow error
murali_vml,
There are two common buffer overflow and overwrite errors.
Overflow error -10845 occurs when the NI-DAQ driver cannot read data from the DAQ device's FIFO buffer fast enough to keep up with the acquired data as it flows to the buffer (i.e., the FIFO buffer overflows before all the original data can be read from it). This is usually due to limitations of your computer system, most commonly the result of slow processor speeds (< 200 MHz) in conjunction with PCMCIA DAQ boards, which have small FIFO buffers (e.g., the DAQCard-500). Sometimes using a DAQCard with a larger FIFO can solve the problem, but a better solution is to lower the acquisition rate or move to a faster system. Another cause of the -10845 error could be due to an interrupt-driven
acquisition. For example, PCMCIA bus does not support Direct Memory Access (DMA). If the system is tied up processing another interrupt (like performing a screen refresh or responding to a mouse movement) when it is time to move data from the board, then that data may get overwritten.
Overwrite error -10846 occurs when the data in the software buffer that you created for an analog input operation gets overwritten by new data before you can retrieve the existing data from the buffer. This problem can be solved by adjusting the parameters of your data acquisition, such as the lowering the scan rate, increasing the buffer size, and/or increasing the number of scans to read from the buffer on each buffer read. Additionally, performing less processing in the loop can help avoid the -10846 error.
See the NI-DAQ Function Reference Manual for a listing of all NI-DAQ error codes.
Have a great day. -
How to check udp buffer overflow in solaris10
Hello All,
We have developped a C++ application which uses connection based udp socket for transfering the data between two solaris10 machines. The data transfer takesplace for every 20 min and continues for about 1 min. The total no of udp sockets i am using is more than 1200. During the time of socket creation i don't set the send and receive buffer size, so the default parameter configured in the system will be considered.
In certain cases the receiving end application does not receive any data, but the sender continues sending the data, this i could see from the snoop. Also the write operation doesn't fail in the sender side.
From the snoop command i could see the time interval between the packets sent is 30microseconds. So there could be possibility that udp buffer may overflow.
Does anybody know the solaris system command to find the udp buffer overflow?.You are more likely to get helpful answers about Solaris questions in a Solaris forum. Try these:
http://forum.java.sun.com/index.jspa?tab=solaris
http://www.opensolaris.org/os/discussions/
http://www.opensolaris.org/os/communities/#portal -
Spool file error - Buffer Overflow
I've a sql script that is running from a.sql file. The script fetches almost 9 million data as a result of the query. Main problem is related to spool file generation. It is saying buffer overflow. But, when i write that query from sql prompts it is running within 2 mins and completes the task within 15 mins.
I've written -
set serveroutput on size ######
But, still it is not working. Total application is freeze whenever i want to run it. Tell me any suggestion if u have.
Satyaki.i guess what you are more concerned with is the output produced by your query (the spool file).
you need not to see what is displayed on the screen all you need is open up the spool file to
check for those data in there.
to suppress the output from the screen and still generates spool file. use the SET TERMOUT option.
e.g.
-- code for a producing a sample spool file
spool r:\sample_spool.txt;
select * from emp;
spool off;
at the SQL*Plus command line:
SQL> @r:\sample_spool.sql;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
7566 JONES MANAGER 7839 02-APR-81 2975 1000 20
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7369 SMITH CLERK 7902 17-DEC-80 800 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7900 JAMES CLERK 7698 03-DEC-81 950 30
7934 MILLER CLERK 7782 23-JAN-82 1300 10
14 rows selected.
SQL> -- the above example displays the output on the screen
SQL> -- now we want to turn it off by using the SET TERMOUT option
SQL> SQL> set termout off;
SQL> @r:\sample_spool.sql;
SQL>
after executing the script sample_spool.sql it does not display output from the screen which
we want to avoid the buffer overflow error. and still produce the spool file:
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
7566 JONES MANAGER 7839 02-APR-81 2975 1000 20
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7369 SMITH CLERK 7902 17-DEC-80 800 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7900 JAMES CLERK 7698 03-DEC-81 950 30
7934 MILLER CLERK 7782 23-JAN-82 1300 10
14 rows selected. -
How to call a shell script from a java code
Hello can any one suggest me how to call a shell script from a java program that takes three parameters.
i have a shell script (msp_restore_gui) when i run this script in the command line in a RHEL5 ,SUSE10 and Debian machine it works fine .I even tested to call it from a java program and it also worked fine but when i used the same in a J2ee application where the user when clicks the restore button in a webserver this inturn sends the request to a java file named BackupManager.java where i call the shell script.But here it fails.Waiting for your suggestions.If you want i can put the code also hereyes the script is in /usr/local/mss/tools/backup and the script (msp_restore_gui) is as follows
#!/bin/sh
TIMESTAMP=`date +%d_%b_%y-%H-%M`
touch /var/backups/mss/mss_restore_"$TIMESTAMP".log
LOGFILE="/var/backups/mss/mss_restore_"$TIMESTAMP".log"
### Explode tgz file
cd /
# Checks to be done:
# root login
# assume he passes the parameter as msp_backup_<timestamp>
# check for the existence of the .tz and fileList.txt
# Checking for the root login and if not logged on as root
# permission will be denied to execute this script
logmsg(){
echo "`date`: $*" >> $LOGFILE 2>&1
echo "$*"
#usage of this script
while [ $# -ne 0 ]
do
case $1 in
-n)
shift
ARCHIVE_NAME=`find / \( -name "$1.tz" -o -name "$1.tgz" \) 2>/dev/null`
FILE_NAME=`find / -name $1_filesList.txt 2>/dev/null`
if [ x$ARCHIVE_NAME = x -a y$FILE_NAME = y ]
then
logmsg "ERROR: Files not found, Restore cannot proceed"
usage
else
tar tvzf $ARCHIVE_NAME > /dev/null 2>&1
if [ $? -ne 0 ]
then
echo "ERROR: The tar file $ARCHIVE_NAME is not proper. Restore cannot proceed"
exit 1
else
echo "Backedup files are present, proceeding with restore......" >> $LOGFILE 2>&1
fi
fi
usage
SKIP_CLEANUP=1
STATUS=1
exit
esac
shift
done
rm -rf ./newfile
curr_ver_file="/usr/local/mss/etc/version"
/usr/local/mss/tools/backup/check_version $curr_ver_file $FILE_NAME
ret_code=$?
echo "Exit value of check_version is $ret_code"
if [ "$ret_code" != 0 ]
then
logmsg "MSP Version not matching. Exiting from restore now...."
errormsg=`cat /usr/local/mss/temp/ver_err_mesg`
logmsg $errormsg
rm -f /usr/local/mss/temp/ver_err_mesg
exit 1
else
echo "Version check is successful"
fi
#### ShutDown MSS########
/etc/init.d/mss stop
sleep 2
### Shutdown semm
/etc/init.d/semm stop
sleep 2
rm -rf `grep -v "MSP Version:" $FILE_NAME`
logmsg "MSP restore in progress......"
tar mxvfz $ARCHIVE_NAME >> $LOGFILE
sleep 5
### Call mysql restore script
/usr/local/mss/bin/mysql_alldb_restore.sh >> $LOGFILE 2>&1
if [ $? -ne 0 ]; then
logmsg "Database restore Failed. Cannot proceed further"
exit 1 ;
else
logmsg "Database restore Succeeded."
fi
### Remove DB Dump Files
rm -f /var/lib/mysql-dumps/*
### Trigger cleanup of airprism database tables
#touch /usr/local/mss/airprism/server/config/reinitdb
### Trigger re-import of software packages
touch /usr/local/mss/swdepot/reimport
### Remove log files under the "apps" directory
find /usr/local/mss/apps -name '*.log*' | xargs rm -f
find /usr/local/mss/logs -follow -name '*[._]log*' | xargs rm -f
if [ $? -ne 0 ]; then
logmsg "MSP restore Failed. Cannot proceed further"
exit 1 ;
else
logmsg "MSP restore Succeeded."
fi
# reinstall_patch is touched so that patches are re-installed after restoring of MSP.
touch /usr/local/mss/patch/bin/reinstall_patch
##### Start MSS
logmsg "restarting MSP server "
/etc/init.d/mss start
sleep 5
### Start semm
/etc/init.d/semm start
sleep 5
logmsg "MSP server is now restarted"
my jsp page backup.jsp is as follows
<%@taglib uri="portlet.tld" prefix="uif" %>
<%@taglib uri="msp-console.tld" prefix="msp" %>
<uif:defineObjects/>
<%@page import="javax.portlet.*" %>
<%@ page import="java.util.Date" %>
<%@ page import="java.util.Vector" %>
<%@ page import="java.text.DateFormat" %>
<%@ page import="com.symbol.mss.console.admin.backup.BackupManager" %>
<%@ page import="com.symbol.mss.console.admin.system.SystemInfoPortlet" %>
<%
String STYLE_NAME = request.getParameter("style");
if (STYLE_NAME == null) STYLE_NAME = STYLE_DEFAULT;
final String ua = request.getHeader("User-Agent");
BackupManager helper = null;
PortletSession portletSession = renderRequest.getPortletSession();
helper = (BackupManager)portletSession.getAttribute("helper");
if (helper == null) {
//System.err.println("Created new BackupManager");
helper = new BackupManager();
portletSession.setAttribute("helper", helper);
final BackupManager backupManager = helper;
String action = "";
final String backupName = renderRequest.getParameter("backupName");
String completePath = backupManager.getBackupDir() + backupName + backupManager.getBackupFileExt();
if (backupName != null) {
action = "backup";
if(backupManager.backup(backupName)) {
SystemInfoPortlet.beginRestartMSP();
} else {
action = "backuperror";
final String cmd = renderRequest.getParameter("submitButton");
final String selectedBackup = renderRequest.getParameter("selectedBackup");
int tarFileStatus =0;
String backupTarFile ="";
String backupFileList ="";
if ("Restore".equals(cmd)) {
if (selectedBackup != null) {
tarFileStatus = backupManager.verifyTarFile(selectedBackup);
//backupTarFile = backupManager.getRestoreFile(Integer.parseInt(selectedBackup));
//backupFileList = backupTarFile.substring(0, backupTarFile.lastIndexOf(backupManager.getBackupFileExt()))+"_filesList.txt";
if (tarFileStatus == 0){
action = "restore";
backupManager.restore(selectedBackup);
SystemInfoPortlet.beginRestartMSP();
} else {
action = "error";
} else if ("Remove".equals(cmd)) {
backupManager.remove(Integer.parseInt(selectedBackup));
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT);
PortletURL restoreURL = renderResponse.createActionURL();
%>
<%@ include file="/jsp/core/constants.jspf" %>
<% if (action.length() > 0) {
if ("backup".equals(action))
%>
<p>The MSP Appliance has been shut down in order to create the <%=backupName %> backup file,
and will automatically restart as soon as the file has been created.
To continue your work, please log out of the MSP Console, wait for the appliance
to restart, and then log back in. The amount of time you'll have to wait for the
MSP Appliance to come back online depends on the amount of information you have
stored in the MSP Database.</p>
<p>The full pathname for the backup file is: <%=completePath %></p>
<% }
else if ("restore".equals(action))
%>
<p>The MSP Appliance has been shut down in order to restore from the <%=backupTarFile%> backup file,
and will automatically restart as soon as the restore is complete.
To continue your work, please log out of the MSP Console, wait for the appliance
to restart, and then log back in. The amount of time you'll have to wait for the
MSP Appliance to come back online depends on the amount of information you have
stored in the MSP Database.</p>
<% } else if ("backuperror".equals(action)) { %>
<p><img src="images/dialogue/error_16.gif" class="icon" alt="Notify" /> Errors occurred while taking back up of MSP. Please see the backup service log file for more details.
</P>
<% } else if ("error".equals(action)) {
if (tarFileStatus == 4) { %>
<p><img src="images/dialogue/error_16.gif" class="icon" alt="Notify" /> The backup file <%=backupTarFile%> contains errors. This backup can't be restored. Please restore a valid back up.
</P>
<%} else if (tarFileStatus == 3) { %>
<p><img src="images/dialogue/error_16.gif" class="icon" alt="Notify" /> The backup file list <%=backupFileList %> is missing. This file is required to restoring backup. Please get the backup file list and proceed with restoring backup.</p>
<%} else if (tarFileStatus == 2) { %>
<p> <img src="images/dialogue/error_16.gif" class="icon" alt="Notify" /> The backup file <%=backupTarFile%> contains errors and the backup file list <%=backupFileList%> is missing. This backup can't be restored. </p>
<%} %>
<% }
} else { %>
<p><strong>Note</strong>: Both backup and restore will shut down MSP temporarily. MSP will be unable to collect data from devices, send notifications, or provide MSP Console access during this time. When the backup or restore operation is complete, MSP will come back online automatically.</p>
<h3>Backup</h3>
<form action="<%= restoreURL.toString() %>" method="post">
<p>Please provide a name for your backup. MSP will provide the date automatically in the list of backups.</p>
<p><label for="<uif:namespace />backupName">Name</label> <input type="text" name="<uif:namespace />backupName" id="<uif:namespace />backupName" size="20" maxlength="256" /> <input type="submit" name="<uif:namespace />submitButton" value="Back up now" onclick="return <uif:namespace/>validateName()"/></p>
</form>
<h3>Restore</h3>
<p>This will restore all databases (device assets, collected device data, software packages, policies, etc.) to their state as of the time the backup was made. Changes since then <em>except for backups</em> will be destroyed.</p>
<%
Vector restoreList = helper.getRestoreEntries();
Vector restoreDates = helper.getRestoreDates();
Vector restoreVersions = helper.getRestoreVersions();
Vector filesStatus = helper.getBackupFilesStatus();
%>
<% if (restoreList.size() == 0) { %>
<p>There are no backups currently available.</p>
<% } else { %>
<form action="<%= restoreURL.toString() %>" method="post">
<table class="input-radios" id="<uif:namespace />existingBackups">
<thead>
<tr>
<th></th>
<th>Name</th>
<th>Date</th>
<th>MSP Version</th>
<th>Remarks </th>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="4" class="actionsOnSelected">
<input type="submit" name="<uif:namespace />submitButton" value="Restore" onclick="return confirm('This action requires MSP and all related services to be shut down. Console will be unavailable if the request is submitted. The server will restart automatically once restore has been completed.');" />
<input type="submit" name="<uif:namespace />submitButton" value="Remove" onclick="return confirm('This action will remove the backup archive. You will no longer be able to restore this backup. Continue?');" />
</td>
</tr>
</tfoot>
<tbody><%-- First one (most recent) is checked by default. Every other row has class="portlet-section-alternate". Note that each ID must be unique and must match the value of the "for" attribute on the corresponding "label" element. --%>
<%
for (int i = 0; i < restoreList.size(); i++) {
%>
<tr <%= (i % 2 == 1) ? " class=\"portlet-section-alternate\"" : "" %>>
<td><input type="radio" name="<uif:namespace />selectedBackup" value="<%= i %>" id="<uif:namespace />selectedBackup-<%= i %>" <%= (i == 0) ? "checked=\"checked\"" : "" %> /></td>
<td><label for="<uif:namespace />selectedBackup-<%= i %>"><%= restoreList.elementAt(i) %></label></td>
<td><%= dateFormat.format((Date)restoreDates.elementAt(i)) %></td>
<td><%= restoreVersions.elementAt(i) %></td>
<td><%= filesStatus.elementAt(i) %></td>
</tr>
<%
%>
</tbody>
</table>
</form>
<% } %>
<% } %>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
function <uif:namespace/>validateName() {
var name =document.getElementById("<uif:namespace />backupName");
var msg= "<msp:i18n key="BackupMsg"/>";
var str=name.value;
var re = /^[A-Za-z0-9_]+$/;
if (!str.match(re)) {
alert(msg);
name.focus();
return false;
} else {
return confirm('This action requires MSP and all related services to be shutdown. Console will be unavailable if the request is submitted. The server will restart automatically once backup has been completed.');
//--><!]]>
</script>
and my BackupManager.java is as follows where the code in bold and italic is called the restore()
//============================================================================
// Symbol Technologies P R O P R I E T A R Y S O U R C E C O D E
// C O N F I D E N T I A L
// Copyright (c) 2003 Symbol Technologies. All Rights Reserved.
// All information contained herein is the property of Symbol Technologies,
// or its Licensors, and are protected copyrights and trade secrets, and may
// be covered by U.S. patents. Any reproduction or dissemination of any
// portion of this document, of the software, or other works derived from it
// is strictly forbidden unless prior written permission is obtained from
// Symbol Technologies.
//============================================================================
package com.symbol.mss.sdf.services.backup;
import java.io.*;
import java.sql.Time;
import java.text.DateFormat;
import java.util.logging.FileHandler;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;
import java.lang.Process;
import java.util.*;
import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.logger.LogEnabled;
import org.apache.avalon.framework.logger.Logger;
import com.symbol.mss.sdf.admin.AdministratorService;
import com.symbol.mss.sdf.backup.*;
import com.symbol.mss.sdf.data.*;
* @author nramaiah
* Service to perform scheduled backups of the system state.
public class BackupManager implements BackupService, DataHandler,
LogEnabled, Configurable {
// MSS Home Path
private static String mssHome = System.getProperty("phoenix.home", File.separator + "usr" +
File.separator + "local" +
File.separator + "mss" +
File.separator);
// Backup related definitions
private static final String BACKUP_LIST_FILE_NAME = "conf" + File.separator + "files_to_backup.txt";
private static final String BACKED_UP_LIST_FILE_NAME_SUFFIX = "_filesList.txt";
private static final String BACKUP_LOCATION = File.separator + "var" + File.separator + "lib" +
File.separator + "mss-backups" + File.separator;
private static final String BACKUP_PARTITION = File.separator + "var" + File.separator + "lib";
private static final String VERIFY_BACKUP = File.separator + "usr" + File.separator + "local" +
File.separator + "mss" + File.separator+"tools"+
File.separator+"backup"+File.separator+"verifyBackup.sh";
// DB backup/restore related definitions
private static final String DB_DUMP_LOCATION = File.separator + "var" + File.separator +
"lib" + File.separator +
"mysql-dumps" + File.separator;
private static final String DB_BACKUP_SCRIPT = "bin" + File.separator + "mysql_alldb_backup.sh";
private static final String DB_RESTORE_SCRIPT = "bin" + File.separator + "mysql_alldb_restore.sh";
// Private variables
private AdministratorService m_admin = null;
private Logger m_logger = null;
private String backupLocation = null;
private String backupListFileName = null;
private String backupPartition = null;
private int backupPartitionLimit = 90;
private String dbDumpLocation = null;
private String dbBackupScript = null;
private String dbRestoreScript = null;
private List servicesBackupList = null;
private String tarFileExtension =".tgz";
private String errFileExtension =".err";
private int exitValue=0;
* Default Constructor
public BackupManager() {
servicesBackupList = new ArrayList();
* Set the administrator service implementation. Link established by Broker service.
* @param admin reference to an implementation of AdministratorService
public void setAdministrator(AdministratorService admin) {
m_admin = admin;
* Set the job publisher service implementation. Link established by Broker service.
* @param jobPublisher reference to an implementation of JobPublisherService
public void setJobPublisher(DataChannel jobPublisher) {
jobPublisher.subscribe(this);
* Gets the backup manager object.
* @return backup manager object
public BackupService getBackupService() {
return this;
* Service lifecycle method.
* @param logger logger object to be used by the service
public void enableLogging(Logger logger) {
m_logger = logger;
* Service lifecycle method.
* @param configuration service configuration object
public void configure(Configuration configuration) throws ConfigurationException {
// Verify MSS Home path
if (!mssHome.endsWith(File.separator))
mssHome += File.separator;
// Get the location where the backup file needs to be placed
backupLocation = configuration.getChild("BackupLocation").getValue(BACKUP_LOCATION);
// Verify backup directory path
if (!backupLocation.startsWith(File.separator))
backupLocation = mssHome + backupLocation;
if (!backupLocation.endsWith(File.separator))
backupLocation += File.separator;
// Get the file listing the files/directories to be backed up
backupListFileName = configuration.getChild("FilesList").getValue(BACKUP_LIST_FILE_NAME);
// Verify backup list file name path
if (!backupListFileName.startsWith(File.separator))
backupListFileName = mssHome + backupListFileName;
// Get the partition where the backups are kept
backupPartition = configuration.getChild("BackupPartition").getValue(BACKUP_PARTITION);
// Verify backup partition path
if (!backupPartition.startsWith(File.separator))
backupPartition = File.separator + backupPartition;
if (backupPartition.endsWith(File.separator))
backupPartition = backupPartition.substring(0, (backupPartition.length()-1));
// Get the limit on the amount of free space on the backup partition
backupPartitionLimit = configuration.getChild("BackupPartitionLimit").getValueAsInteger(backupPartitionLimit);
// Get the location where the DB dump files will be placed
dbDumpLocation = configuration.getChild("DBDumpLocation").getValue(DB_DUMP_LOCATION);
// Verify DB dump directory path
if (!dbDumpLocation.startsWith(File.separator))
dbDumpLocation = mssHome + dbDumpLocation;
if (!dbDumpLocation.endsWith(File.separator))
dbDumpLocation += File.separator;
// Get the name of DB dump backup script
dbBackupScript = configuration.getChild("DBBackupScript").getValue(DB_BACKUP_SCRIPT);
// Verify backup script path
if (!dbBackupScript.startsWith(File.separator))
dbBackupScript = mssHome + dbBackupScript;
// Get the name of DB dump restore script
dbRestoreScript = configuration.getChild("DBRestoreScript").getValue(DB_RESTORE_SCRIPT);
// Verify restore script path
if (!dbRestoreScript.startsWith(File.separator))
dbRestoreScript = mssHome + dbRestoreScript;
* Individual services can supply a list of files/directories to be backed up.
* These are files apart from the files specified in conf/files_to_backup.txt and
* will be backed up as well.
* @param files list of files/directories
public void filesToBackup(List files) {
synchronized(this) {
if (files != null) {
if (files.size() > 0) {
// Add the list contents to the current backup list
for (int i=0; i<files.size(); i++) {
String tStr = (String)files.get(i);
// Check for absolute or relative path
if (tStr.startsWith(File.separator))
servicesBackupList.add(tStr);
else
servicesBackupList.add(mssHome + tStr);
else
m_logger.info("Empty list of filenames. Nothing added.");
else
m_logger.info("Null list of filenames. Nothing added.");
* Individual services can supply a list of files/directories to be backed up.
* Specified files will be added to the file defining the list of files to be backed up.
* @param files list of files/directories
private void persistFilesToBackup(List files) {
synchronized(this) {
if (files != null) {
if (files.size() > 0) {
// Add the list of files provided to the end of file
try {
File file = new File(backupListFileName);
if ((file == null) || (!file.exists()))
file.createNewFile();
// Seek to the end of the file
RandomAccessFile rFile = new RandomAccessFile(file, "rw");
if (rFile != null) {
rFile.seek(rFile.length());
// Write the list contents to the file
for (int i=0; i<files.size(); i++) {
String tStr = (String)files.get(i);
// Check for absolute or relative path
if (tStr.startsWith(File.separator))
rFile.writeBytes(tStr + "\n");
else
rFile.writeBytes(mssHome + tStr + "\n");
else
m_logger.error("Error opening file " + backupListFileName);
rFile.close();
catch (Exception ex) {
ex.printStackTrace();
m_logger.error("Error adding entries to file " + backupListFileName, ex);
else
m_logger.info("Empty list of filenames. Nothing added.");
else
m_logger.info("Null list of filenames. Nothing added.");
* Command to be run during the backup process. Individual services can
* provide shell commands that will be executed before backing up the files.
* @param command shell command to be executed
private void runCommand(String command) {
* Creates a shell script at the specified location that will backup the
* files listed in the List passed in.
* @param scriptFileName location where the script needs to be created
* @param backupFileName name for the tar file being created
* @param backupList list of files to be backed up
private void createBackupScript(String scriptFileName, String backupFileName, ArrayList backupList) throws Exception {
// Create a new StringBuffer to build the contents to be written to the script file
StringBuffer buffer = new StringBuffer();
// Add the initial comment in the start script
buffer.append("#!/bin/sh\n" + "set -x\n\n");
// Check if the partition has enough space
buffer.append("### Check if the partition has enough space\n" +
// "diskUsed=`df -k | grep \"" + backupPartition + "\" | awk '{print $5}' | cut -d\"%\" -f1`\n" +
" diskUsed=`df -k \"" + backupPartition + "\" | awk '{print $5}' | cut -d\"%\" -f1 | grep -v Use`\n" +
"echo \"Partition " + backupPartition + " is $diskUsed% used.\"\n" +
"if [ \"$diskUsed\" -lt \"" + backupPartitionLimit + "\" ]\nthen\n" +
" echo \"Starting backup...\"\n\n");
// Shutdown semmd
buffer.append(" ### Shutdown semm\n" + " /etc/init.d/semm stop\n" +
" sleep 2\n\n");
// MSP Limited release and earlier builds stop mysql DB and backup the
// /var/lib/mysql directory as it is. Starting MSP 1.0 GA release, mysql
// dump script will be integrated which will create sql scripts to
// restore the database.
// Check if mysql dump creation script exists
File mysqlDumpScript = new File(dbBackupScript);
if (mysqlDumpScript.exists()) {
// MSP 1.0 GA and later releases
// Run the script that will generate sql scripts that would re-create the DB as it is
buffer.append(" ### Call mysql dump script\n" +
" " + dbBackupScript + "\n\n");
else {
// MSP Limited release
// Add command to shutdown mysql
buffer.append(" ### Shutdown mysql\n" + " /etc/init.d/mysql stop\n\n");
// Change to root directory and create the tgz file
buffer.append(" ### Create tgz file\n" + " cd /\n");
// Build up the tar file name from the current date and time
String fileName = null;
if ((backupFileName != null) && (backupFileName.length() > 0))
fileName = backupFileName;
else {
// File name not provided by user, build one using the timestamp
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();
fileName = "MSS-"
+ DateFormat.getDateInstance().format(date).replaceAll(" ", "").replaceAll(",", "")+ "-"
+ (new Time(cal.getTimeInMillis())).toString().replaceAll(":", "").substring(0,4);
String tarFileName = fileName + ".tgz";
// Get the current MSP Version
String mspVersion = getMSPVersion();
// Gather all the files to be backed up. Add them to the tar command and
// also dump them into the file maintaining the list of files being backed up
String listStr = "";
for (int i=0; i<backupList.size(); i++)
listStr += (String)backupList.get(i) + "\n";
// Dump the current MSP version and the list of files being backed up into a manifest file
String listFileName = fileName + BACKED_UP_LIST_FILE_NAME_SUFFIX;
RandomAccessFile file = new RandomAccessFile(backupLocation + listFileName, "rw");
m_logger.info("List of files/directories being backed up:\n" + listStr);
file.writeBytes("### MSP Version: " + mspVersion + " ###\n");
file.writeBytes(listStr);
file.close();
// Add the tar command to the script
buffer.append(" echo \"Creating " + backupLocation + tarFileName + "...\"\n" +
" tar cvhfz " + backupLocation + tarFileName + " `grep -v \"MSP Version:\" " +
backupLocation + listFileName + "`\n\n");
// Check if free space on the backup partition has reduced below the limit
// If enough space left, backup is retained, "mss" is made the owner of the files,
// "backup" is made the group the files belong to,
// permissions changed to be "0660" and
// backup action declared a success
// Else, backup files are deleted and declared a failure
buffer.append(" ### Check if the partition has enough space left\n" +
//" diskLeft=`df -k | grep \"" + backupPartition + "\" | awk '{print $5}' | cut -d\"%\" -f1`\n" +
" diskLeft=`df -k \"" + backupPartition + "\" | awk '{print $5}' | cut -d\"%\" -f1 | grep -v Use`\n" +
" echo \"Partition " + backupPartition + " is $diskLeft% used.\"\n" +
" if [ \"$diskLeft\" -gt \"" + backupPartitionLimit + "\" ]\n" +
" then\n" +
" ### Failure\n" +
" echo \"Partition " + backupPartition + " does not have enough space.\"\n" +
" echo \"Backup " + backupLocation + tarFileName + " will be removed.\"\n" +
" rm -f " + backupLocation + fileName + "*\n" +
" echo \"Backup Failed.\"\n" +
" else\n" +
" tar tvzf " + backupLocation + tarFileName + " > /dev/null 2>&1\n" +
" if [ ! -s " + backupLocation + tarFileName + " -o $? -ne 0 ] \n" +
" then\n" +
" echo \"MSP Backup operation is not successful. The tar file " + backupLocation + tarFileName + " contains errors.\"\n" +
" echo \"Please take the backup again\"\n" +
" touch "+backupLocation+fileName+".err\n" +
" else \n" +
" ### Success\n" +
" ### Change the owner, group and permissions for the backup files\n" +
" chown mss " + backupLocation + fileName + "*\n" +
" chgrp backup " + backupLocation + fileName + "*\n" +
" chmod 0660 " + backupLocation + fileName + "*\n" +
" echo \"Backup Completed.\"\n" +
" fi\n" +
" fi\n\n");
// MSP Limited release and earlier builds re-start mysql. Starting
// MSP 1.0 GA release, mysql is not stopped and so re-start is not
// needed. sql scripts created by the dump script get packed into
// the tar file and so are deleted.
// Check if mysql dump creation script exists
if (mysqlDumpScript.exists()) {
// MSP 1.0 GA and later releases
// Remove DB dump files
buffer.append(" ### Remove DB Dump Files\n" + " rm -f " + dbDumpLocation + "*\n\n");
else {
// MSP Limited release
// Start mysql
buffer.append(" ### Start mysql\n" + " /etc/init -
Issues in invoking a web service from a JAVA/BPEL client...
We are trying to invoke a web service from a JAVA/BPEL client using org.apache.soap classes. But everytime we are running into issues of IllegalAccessError or InvalidClassError or IncompatibleClassError based on different jars we are trying to include in our project. Attached is a simple BPEL project which tries to invoke a web service through JAVA embedding (no supporting jars need to be included explicitly). It erros with following trace:
Class org/apache/soap/Envelope violates loader constraints
Invalid class: org.apache.soap.Envelope
Loader: soap:10.1.3
Code-Source: /slot/ems1508/oracle/product/10.1.3.1/OracleAS_1/webservices/lib/soap.jar
Configuration: <code-source> (ignore manifest Class-Path) in META-INF/boot.xml in /slot/ems1508/oracle/product/10.1.3.1/OracleAS_1/j2ee/home/oc4j.jar
Dependent class: org.apache.soap.rpc.RPCMessage
Loader: soap:10.1.3
Code-Source: /slot/ems1508/oracle/product/10.1.3.1/OracleAS_1/webservices/lib/soap.jar
Configuration: <code-source> (ignore manifest Class-Path) in META-INF/boot.xml in /slot/ems1508/oracle/product/10.1.3.1/OracleAS_1/j2ee/home/oc4j.jar
Could you please help us out or provide any pointers. Any help would be highly appreciatedBecause you weren't told what to get, perhaps you already have it eh?
What you want to read up about is JAX-WS, which is the webservice API bundled by default with your JDK (Java 6 and up). You'll find the wsimport tool in the bin directory of your JDK. I recommend you explore that directory and read up about all the executables you can find there, to be more prepared in the future. Know the tools you work with and all that. Most tools have a manual on this website:
http://www.oracle.com/technetwork/java/javase/tech/index.html
(under tools and utilities). Not wsimport, that is part of the jax-ws documentation. Better you look for jax-ws tutorials using Google, it will be quicker.
Maybe you are looking for
-
Status at the time of creating the portfolio assets and Inactvo
Hi need you please inform me the functionality that is active or inactive status by creating a portfolio because the portfolio to create inactive allows modifications. You must perform some coniguracòn to allow the portfolio to create inactive status
-
Safari is shutting down constantly.
Hey Everyone, Thanks for your help. Every time I open Safari it shuts itself off. It started doing it after I updated iTunes and Quicktime. This is the report.. Date/Time: 2006-09-24 04:59:26.580 -0500 OS Version: 10.4.7 (Build 8J135) Report Version:
-
Updating itunes without internet
Mini ipod has been sent back twice, both letters I've written have been ignored. Been given another ipod, know I've gotta update itunes, done it before at work and didn't lose any songs, but the one I have at home hasn't got internet, does anyone kno
-
ASR 1002x - Using as CE (Adv Multiple BGP AS)
Existing: 4 ISRs, CEs, different BGP AS, all connecting to same ISP on different links. (Business has such requirement). Problem Statement: Terminate all 4 links to a single (pair of) router, ASR1002x, Get rid of ISRs. Expected solution: Option-1
-
STO order: GR posted for PO instead of delivery
Hello, We use stock transport orders for intercompany purchasing. Unfortunately, message M7 352 was not originally set to error. This allowed users to create an STO and when the goods arrived, post the goods receipt against the PO instead of the ou