Generating signal with several frequencies - Timing issues

Hi
I use Labview 7.1.
I am trying to generate a signal composed of 1000 different frequencies.
For this purpose I am using the Multitone Generator VI .
My problem is that the generating process is too long for my real-time
application.
Is there any way to accelerate (optimize) this process?
I think about several options, such as:
Using more powerful computer (multicore)
Making the process parallel (is it relevant
for Labview7.1?)
Changing VI's properties (priority etc..)
Please advice
Amir

Hi,
Attached my problem.
I am trying to generate signal with 100 frequency component (100 different sine waves).
According to the timers it is taking 87mSec to produce the signal which length is 1 second.
In my project, I need to generate 1000 frequency components. And also 20 channel of this kind.
So it is clear that i will not be able to achieve the timing requirements
(It will take more than 1 second to generate a signal of 1 second)
What can you advise me ?
Thanks
Amir
Attachments:
Generate_100_freq_signal.jpg ‏156 KB

Similar Messages

  • How to convert a baseband signal with bandwidth 20MHz to an RF signal with center frequency 2.4GHz and the same bandwidth 20MHz

    Hi,
            I was wondering how to convert a complex baseband signal with bandwidth 20MHz to an RF signal with center frequency 2.4GHz and the same bandwidth 20MHz in simulation. I tried 
        1. Multiplying the complex double type baseband signal (1-D array) by exp( j * 2 * pi * 2.4E+9 * T ) where T is the symbol period of baseband signal.
        2. Usage of MT upconvert baseband but doesnt keep the BW constant
    Looking forward to your help. 

    I should add that you can multiply your baseband signal with two carrier signals that are shifted by 90° and then add or subtract the result to obtain upper or lower sideband only. You can try to search about IQ moduilators/demodulators to learn more.
    Cheers
    Edgar

  • Acquire generated signal with this hardware ?

    Hello everyone,
    I didn't really know where to post this, I apologize if it's the wrong place.
    I'm very new to the LabView thing, and I have for project to trigger an injector and so to create a digital signal like this:
    Due to the characteristics of the signal (110V, 10-20A, injection duration: ~20ms), someone recommended me this hardware (sorry if I'm not allowed to post these links):
    - programmable power supply: http://fr.farnell.com/ea-elektro-automatik/ea-ps-9200-25-2u/alimentation-1-voie-200v-25a-prog/dp/2422474
    - USB interface: http://fr.farnell.com/ea-elektro-automatik/usb-interface-ea-if-u1/interface-for-psi-el-usb/dp/1268147?ost=EA-IF-U1
    I'll try to figure out on how I create (on my own for now) the signal with LabView.
    My question is, will I be able to acquire the generated signal with this hardware in LabView, do I need something else ?
    Thanks.
     

    I have designed and built injector drivers. To get a waveform somewhat like the one you showed requires a sophisticated and fast control circuit. I would not call that a digital signal.  It may be controlled by some kind of logic signals, but that is an analog signal.  No programmable power supply I have seen is fast enough to come close.
    The pull-in current does not typically go into a ring/overshoot flat-topped waveform as you have shown. It follows an exponential curve defined by the L/R rise time and the current limit set by the supply voltage and the injector coil resistance. For the injectors I have seen that current limit is much higher than the current required to generate the magnetic field required to open the valve.  That oscillatory response could be the result of a switch-mode current regulator.
    Similarly, the hold-in current does not occur by magic. Either the supply voltage needs to be changed (open loop system) or the current sensed and regulated (closed loop system).  The kind of ringing you show can occur in a switch-mode current regulator.
    Lynn

  • Better estimation of phase difference between two signals with variable frequency!

    Hello LabView Gurus, 
    Being a power engineer and having just a little knowledge of signal processing and labview, I have been pulling my hair out for the last couple of days to get a better estimation of phase difference between two signals.
    We have two analog voltage signals; 1. sine wave (50Hz ± 1Hz) and 2. a square wave with exactly half of sine wave frequency at any time.
    At the starting point of operation (and simulation/acquisition) both signals will have no phase difference. However, the square wave's frequency changes unpredictably for a just a few millisecond but then it gets synchronized with sine wave's frequency again. This means that the square wave will be phased out from its original position. The task of the labview is to find the phase difference between the two signals continuously.
    My approach to determine the phase difference is to measure the time when sine wave crosses zero amplitude and the time when the very next square wave changes amplitude from zero volts to +ve voltage (I have a 0.5volts threshold just to avoid any dramas from small line noise). The difference between these times is then divided by the time period and multiplied by 360 to get this phase difference in angles. 
    As this part is just a small block of a big project, I can only allow 5000Hz sampling rate each for both signals. I read 500 samples (which means I read data from 5 cycles of sine wave and 2.5 cycles of square wave).
    Now the problem is, as long as the frequency of sine wave stays constant at exactly 50Hz, I get a good estimation of the phase difference but when the frequency changes even a little (and it will happen in the real scenario i.e 50Hz ± 1Hz  and the square wave's frequency is dependent of sine wave's frequency), the estimation error increases.
    I have attached my labview program. From front panel, you can set the phase of square wave (between -180 and 0) and you should see the labview's calculated phase in the indicator box named 'Phase'. Then you can press 'Real Frequency' switch that would cause the frequency to change like it would in real operation.
    You can observe that the estimation error increases after you push the button. 
    All I need to do is to reduce this estimation error and make it as close to the actual phase difference as possible. Any help would be greatly appreciated.
    I am using LabView 2009 for this task.
    The application is for electric machines and the stability/performance of machines under different faults.
    Thank you for reading this far!
    Regards,
    Awais
    Attachments:
    v603.png ‏320 KB
    v603.vi ‏186 KB

    Jeff Bohrer wrote:
    Basic math gives me a bit of pause on this approach.  You are sampling at 50 times the frequency of interest so you get 50 samples per cycle.  your phase resolution is 1/50th cycle or 7.2 degrees +/- noise.  You will need to samlpe faster to reduce phase resolution or average multiple readings (at a time cost that is signifigant)
    Jeff- (Hardly Working)
    I am sampling at 100 times the sine wave's frequency and 200 times the square wave's frequency.  Increasing the sampling rate completely solves my problem. But since I am acquiring several other inputs, I cannot afford a sampling rate higher than 5kHz.
    F. Schubert wrote:
    I'm not a signal processing expert, but here my basic understanding.
    If you simulate sampling with 5kHz and a frequency of 50 Hz (and both are 'sync' by design), you always get an exact 5 periods. Any variation of your signals frequency gives you a propability to get 4 or 6 'trigger' events. That's an up or down of 20%!
    The one measure to reduce such problems is using 'window functions'. They don't fit your current approach (counting instead of a DSP algorithm), so this needs to be reworked as well.
    My approach would be to use the concept of a Locki-In amplifier. You need to phaseshift your ref-signal by 90°. Then multiply your measurement signal with the ref signal and the phase shifted ref signal. The obtained values for x/y coordinates of a complex number. Calculate the theta of the complex number (with the LV prim). Feed this in a low pass filter.
    The trick on this is, that the square wave has harmonics in it, in this you are interested in the second harmonic which is the sine wave.
    To get rid of the effect that the sync between sampling rate and ref signal frequency gives an error, you then can use the window I mentioned above (place it before the lock-in).
    For a design that really plays well, use a producer-consumer design pattern to get the calculations done in parallel with the DAQ.
    I suggest you to check on wikipedia for some of the keywords I mentioned. Go also for the external links which lead to great tutorials and AppNotes on the signal processing basics.
    Sorry, it's not a simple solution I offer and we will have quite some conversation on this forum if you follow this path. Maybe someone else knows a simpler way.
    Felix
    www.aescusoft.de
    My latest community nugget on producer/consumer design
    My current blog: A journey through uml
    An interesting view. the sine wave can indeed be looked as a second harmonic of the square wave. I will implement your idea and get back to you as soon as I get some results. But since I have very limited knowledge of signal processing, it might take me a while to get my hear around the solution you mentioned.

  • Severe flex timing issues: song with varying tempo

    I've been having a ton of trouble with flexing a drum track on a song with minor tempo changes (The song speeds up at the first chorus, and at the outro, so I programmed those into logic's tempolist so that the metronome would follow). Every time I turn on rhythmic, Logic speeds up the tracks (the wavefiles go green where the tempo change begins, and end much sooner than the files which are not being flexed). The only way I can get them to revert is to turn flex time off. It is driving me crazy as I only need to correct one minor thing, with a deadline approaching.
    Incase it will help more, here is what I have done.
    -Grouped drums together.
    -clicked editing and phase locked audio
    -turned on flex
    -clicked slicing
    -Logic analyzes the files
    -suddenly everything is out of whack.
    Is it something I'm doing wrong, or is it a bug in the system. Is there any way I get get Logic to analyze the files again? Any help is GREATLY appreciated.

    I bounced and replaced all tracks, analyzed them again, and everything is working fine. Has anyone else experienced this bug?

  • Generate signal with variable pulsewidth and period

    Hallo,
    I want to generate a square signal where I can modify the pulswidth, period, amplitude, frequenzy, duty cycle...at the Front Panel.
    I also want to be able to generate just a a single puls/period on the one hand and a puls-train on the other.
    I´am working with a AT-MIO-16E-1(DAQ-Card), a SCB-68 and LabView 7.
    I`d be very grateful, if anyone is able to help me...
    Thanx a lot...
    Greets Daniel

    Daniel,
    It sounds like you are trying to generate digital pulses using your DAQ board.  The counter output is designed to be a digital signal.  That is, the amplitude of the signal is either 0 V or +5V.  Therefore, the amplitude cannot be controlled.
    However, there are some great examples in the LabVIEW Example Finder that will help you implement your two options.
    Access the Example Finder by navigating to Help >> Find Examples...  Then go to Hardware Input and Output >> DAQmx >> Generating Digital Pulses. There are several examples there which you can check out to get you started.  The most interesting to you are likely Gen Dig Pulse Train-Continuous.vi and Gen Dig Pulse.vi.
    I hope this gets you started in the right direction.
    Stephen Meserve
    Applications Engineering
    National Instruments
    Stephen Meserve
    National Instruments

  • How can we generate javadocs with Jdev3

    Hello,
    I'm using JDeveloper3 to create some javabeans. I don't know how I can generate javadocs from JDeveloper3 with JDK1.2.2
    Nicolas

    With this information I don't think, that the 7334 is the right board for your application. The 7334 is a motion control board for stepper motors. As control signals it provides a step signal with variable frequency and a direction signal (high or low for fwd. or rev. direction). The step signal is generated onboard and controls the motor's trajectory (acceleration, velocity, travel distance). The duty cycle of this signal can't be changed by the control program, so this signal can't be used for your application.
    The PWM outputs provided by the 7334 is static. That means, you can set frequency and duty cycle only in software, which is quite slow and introduces significant and non-deterministic jitter (due to the asynchronous communication to the 7334 this is even true if you are using a real-time operating system). These limitations don't seem to meet your requirements.
    I still don't have a good idea about your timing requirements. If your response times requirments are in the upper milisecond regions (10 ms and above), you might be able to use the 7334. If low jitter and fast response times are important to your application, there are several alternative solutions including LabVIEW Real-Time with a multifunction data acquisition board and LabVIEW FPGA with an R-Series board.
    Regards,
    Jochen

  • Sine signal with alternatin​g frequencie​s.

    Hello,
    I am interested in generating a sine signal whose frequency and amplitude change after every cycle. For example: lets assume we have two amplitudes a1, a2 and frequencies f1 and f2.
    I want a sine signal with a1, f1 and a2, f2 alternatingly. One sine pulse a1,f1 and other sine pulse a2,f2 and this pattern repeats.

    Preetham1 wrote:
    Hello srikrishnaNF,
    Thanks for the solution. But the issue is I just want to append one cycle of a1,f1 and one cycle of a2, f2. f1 and f2 could be DBL. Let me know if you have a solution. I shall appreciate it.
    I would make an array for your amplitudes and frequencies.  Use a FOR loop to create the waveforms and concatinate.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines
    Attachments:
    Build Waveforms.png ‏23 KB

  • How to continuously generate a pulse train with variable frequency

    Dear all,
    I am trying to use NI-USB 6259(BNC) to send Pulse signals to conduct position control of a servo motor with labview. The position control of servo motor follows these rules:
    The number of the pulse train determines how many degrees the motor rotate ;( e.g. the angular position of motor)
    The frequency of pulses determines how fast the motor rotate; (e.g. the speed of motor rotating)
    The digital determines the direction of rotation of motor (e.g. clockwise or counterclockwise)
    My question comes when I need to continuously generate a finite plus train signal in a period of time. Below is a sample:
    Time(s)
    Number of pulses
    Direction of rotation
    (1 is clockwise, 0 is counterclockwise)
    Frequency
    0-1
    923
    1
    923hz
    1-2
    3540
    0
    3540hz
    2-3
    1751
    1
    1751hz
    3-4
    2663
    0
    2663hz
    4-5
    353
    0
    353hz
    5-6
    1017
    1
    1017hz
    6-7
    3436
    1
    3436hz
    7-8
    302
    0
    302hz
    8-9
    1513
    1
    1513hz
    9-10
    570
    1
    570hz
    Here is the explanation of this table, the motor keeps rotating in clockwise direction during 0~1s. When the time reaches 1s, the motor just complete the rotation of 923 pulse signals. And then the motor starts to rotate in counterclockwise direction during 1s~2s. When the time reaches 2s, the motor just complete the rotation of 3540 pulse signals. So we can see that the rotating speed of motor in 0~1s is different from the speed in 1s~2s. Namely, the frequency of pulse signal in 0~1s is different from the frequency in 1s~2s.
    I have already use the counter output of DAQmx, it just can generate pulse signal with certain numbers and certain frequency in one time. The attachment is the vi which can generate a finite digital pulse train from a counter output channel and the frequency, duty cycle, Initial delay, and Idle state are all configurable.
    How can I continuously generate  a series of pulse train with varying numbers and frequencies during a certain period of time.
    Thank you very much for your help!
    Solved!
    Go to Solution.
    Attachments:
    Counter - Finite Output.vi ‏57 KB
    Finite output.png ‏13 KB

    Hi aacuna,
    Thank you for your reply!
    I already checked that  article.  The frequency in that Vi can change dynamically, but the method of adjusting the frequency is ‘manual’ .Below is the front panel of that Vi. When the Vi is running we can change the frequency by press the button.   
    Time(s)
    Frequency
    0-1
    923hz
    1-2
    3540hz
    2-3
    1751hz
    3-4
    2663hz
    4-5
    353hz
    5-6
    1017hz
    6-7
    3436hz
    7-8
    302hz
    8-9
    1513hz
    9-10
    570hz
    Thank you!

  • What is the effect of output signal with the same sampling frequency but different number of samples?

    Hi,
    I'm using PXI4461 for audio measurement and there is a question about analog output. I'm using the Basic Multitone vi for generating multitone signal. The sampling rate is 200k and my question is how to determine the number of samples. I used an audio analyzer to measure the distortion of the output signal with 200k and 1k points and there are no different except the update rate. What number of samples is suitable for 200k sampling rate?
    Thanks,
    Bill

    The Sampling Rate determines the maximum frequency that you can see (the rate/2 according to Nyquist).
    The number of samples divided by the rate determines how long you will sample. This sample time can only be determined by you. Do you need .1 seconds worth of data, or 1 second? But note that the MINIMUM frequency that you can detect is 1/(Sample Time) or the Sampling Rate/Number of Samples. So if your system has a minimum and maximum frequency specification use that as your guild.
    [email protected]

  • Is it possible to detect low frequency signals with a high sampling rate?

    Hello everyone,
    I'm having an issue detecting low frequency signals with a high sampling rate.  Shouldn't I be able to detect the frequencies as long as the sampling rate is at least 2 times the highest frequency I will measure?  The frequency range I am measuring is 5-25 Hz, and I use Extract Single Tone.vi to measure the frequency.  The sampling setting I am using is 2 samples at 10 kHz.  Is there a method I can use to make this work?
    Attached is the vi.
    Attachments:
    frequencytest.vi ‏21 KB

    You are sampling at 10Ks/S, but only taking two samples. What do you expect to see? If your signals are binary (On or Off) you would only see either an on or an off, or if the rise/fall time was fast and you were Extremely lucky, one of each. If you want to see a waveform you have to sample for at least the period of a waveform. So you should take samples for at least 0.2 seconds to capture an entire waveform at 5Hz, ideally longer.   Think of looking at a tide change at a dock. If you want to see the entire tide change you will probably have to measure repeatedly over 24 hours, not just run out on the dock, measure the height twice and leave. That wouldn't tell you anything other than at that precise moment the tide height was X, but not that it was at high tide, low tide, in between, etc.
    I type too slowly, I see that a more technical answer has been given, so mine will be the philosophical one!
    Putnam
    Certified LabVIEW Developer
    Senior Test Engineer
    Currently using LV 6.1-LabVIEW 2012, RT8.5
    LabVIEW Champion

  • Generate PWM signal with 6602 utilizing load cell feedback

    Hi Everyone,
    I am new to LabVIEW so I apologize if this question is elementary but I really need some help with the coding. First of all, I need to generate 8 independent PWM signals to control 8 separate linear acuators using the NI 6602 board. I have each actuator wired to their own COUNTER OUT pins and ground on the SCB-68 that is connected to the 6602. The specs for the actuators state that it will take an input of "RC input range of 1.00 to 2.00msec pulse widths @ 55Hz. Bandwidth=.44to160Hz. Period from 6-23  msec". How can I code for these PWM signals given the specs from the manufacturer?
    In the end I need to be able to not only control these actuators based upon duty cycle, but based upon the load each actuator is applying. Each actuator has a load cell in series measuring the tensile force through the load cell (the actuators will be pulling on strings). Each load cell is wired to a NI 9237 in a NI 9074 block that is connected via USB to the same computer. So first comes first, how can I code for the load cell output to be brought into the LabVIEW environment?
    My last question is pulling this all together. How can I code so that I can input a specified load into LabVIEW and then based upon the value the load cell is reading, the duty cycle of the PWM will be adjusted until the the desired load is achieved?
    Thanks in advance for any help! Also, I know that this is quite a complex questions so if you can even point me in the direction of resources that would be helpful, I would greatly appreciate that too!
    Thanks,
    Ryan

    Hello Ryan,
    Here's a tutorial on generating PWM with LabVIEW:
    http://zone.ni.com/devzone/cda/tut/p/id/2991
    How are the load cells outputting the data? Is it an analog signal? If so, you can read that in using an analog input task, and run that in parallel with the PWM task. Then you can modify the frequency and duty cycle inputs that you're giving you the DAQmx write inside the PWM code based on the analog input. By putting the DAQmx read and the DAQmx write in the same for loop, you can read from one and modify the other at the same time.
    Here's a tutorial that shows a lot of useful information for using DAQmx within LabVIEW:
    http://zone.ni.com/devzone/cda/tut/p/id/2835#toc6
    If you're interested in getting better at LabVIEW in general, NI has some learning materials available here:
    http://www.ni.com/academic/students/learnlabview/
    Let me know if you have any further questions once you've gone through those first two tutorial links.
    Colden

  • Some images do not display in browser, iPad Air 2.  When I load a page with several jpgs (one 1920x720, then 8-10 800x800px), only the first few are shown.  Behaviour is similar for Safari and Chrome. Website issue or iPad?

    I have just bought an iPad, partly to check that my websites work OK on mobile devices.   When I load a page with several jpgs (e.g. one 1920x720, then 8-10 800x800px), only the first few are shown.  If I remove the large one, that sometimes fixes the problem. Behaviour is similar for Safari and Chrome. Is this a website issue or iPad?

    Sorry, I didn't make myself clear.  I'm using a new Wordpress theme that is meant to be responsive.  The large image is for a header, than you scroll down to see the rest, one by one.  Some one the pages work OK on my iPad, typically the old ones where the maximum image size was 500 x 500.  It's the new pages and those I've updated that are causing the problem.  On the iPad the large image loads, then a couple of the small ones become visible as I scroll down, but then darkness (rather like my knowledge level).
    Being new to IOS and iPads, I'm trying to work out whether I should be looking here, or amongst the Wordpress stuff for a solution.
    Here's the website with its new theme: http://www.new-zealand-pictures.com/

  • Need assistance with multiple issues with several G5's

    Hello All,
    I need to get some assistance with some issues that I am having with several G5 Dual’s
    I just started a new position and I have 4-G5 Dual’s that are in various states of disrepair. Normally I would call Apple support but they did not purchase the extended AppleCare packages for any of the G5’s theu purchased and they are ALL over a year old now. Any suggestions would be greatly appreciated.
    G5 number 1 - Has its fans running at full output all the time. Could this be a firmware issue?
    G5 number 2 – Had it’s logic board replaced by one of our company computer techs and now at start up gives a long tone then boots to white screen with a command prompt. Requiring me to either type “mac-boot” or “shutdown”. If I continue the boot process the machine just goes to a gray screen and stalls. I researched this yesterday and tried several solutions I found here but to no avail. Seems to me that past of the issue is that it is stuck looking for a firmware upgrade. How do I get past it?
    G5 number 3 – Mac seems to boot correctly but when you click on the Apple icon in the upper left hand corner the Finder blinks out and then comes back. It does this every time we try to go to the Apple menu. We removed the original hard drive and installed in a known good drive, our tech drive with a G5 image, rebooted the mac and the same issue occurs with the Finder.
    G5 number 4 – This unit boots to black screen with a Unix command prompt displaying “root#”. Any thoughts.
    Thanks
    Paul
    G5 Dual   Mac OS X (10.3.9)  
    G5 Dual   Mac OS X (10.3.9)  

    Apparantly someone not certified to repair them messed them up.
    Tell bossman it would be in his best interest for you to take them to a authorized Apple Repair and get it done with.
    Tell him that Mac's rarley screw up hardware wise and there really hasn't been a great demand for skilled repair techs outside of Apple.
    If your worried about your job, tell him you can take care of the software, training, minor hardware and networking end of the matter. Which, luckily for you, are longtern and ongoing needs. You can tell him that.
    There's nothing wrong in admitting you don't know how to do something and keeping your job, than to be unable to fix them and lose your job.

  • Deadlock with thread issues while generating reports with Crystal Report XI

    We are facing deadlock with thread issues while generating report with Crystal Report XI
    Version Number is 11.0 and the database used is Oracle
    In the log file on line number 74350  by 2008/12/16 13:35:54 there is a dead lock with Thread: u20184u2019 is waiting to acquire lock for 'com.crystaldecisions.reports.queryengine.av@15214b9' which is held by the Thread: '0'.
    And  a dead lock with Thread: u20180u2019 is waiting to acquire lock for 'com.crystaldecisions.reports.queryengine.av@15214b9' which is held by the Thread: '4'.
    Exactly after 10 minutes we can see the thread 4 and 0 are declared as STUCK by 2008/12/16  13:45:54 .
    Is this an existing issue with Crystal Report?
    Is there some solution for this problem?
    THE LOG FILE INFORMATION IS GIVEN BELOW
    [deadlocked thread] [ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)':
    Thread '[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'' is waiting to acquire lock 'com.crystaldecisions.reports.queryengine.av@15214b9' that is held by thread '[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)''
    Stack trace:
         com.crystaldecisions.reports.queryengine.av.V(Unknown Source)
         com.crystaldecisions.reports.queryengine.av.do(Unknown Source)
         com.crystaldecisions.reports.queryengine.as.if(Unknown Source)
         com.crystaldecisions.reports.reportdefinition.datainterface.j.c(Unknown Source)
         com.crystaldecisions.reports.reportdefinition.datainterface.j.a(Unknown Source)
         com.crystaldecisions.reports.reportdefinition.datainterface.j.a(Unknown Source)
         com.crystaldecisions.reports.reportdefinition.cy.b(Unknown Source)
         com.crystaldecisions.reports.reportdefinition.cy.long(Unknown Source)
         com.crystaldecisions.reports.reportdefinition.a1.o(Unknown Source)
         com.crystaldecisions.reports.reportdefinition.a1.a(Unknown Source)
         com.crystaldecisions.reports.common.ab.a(Unknown Source)
         com.crystaldecisions.reports.common.ab.if(Unknown Source)
         com.crystaldecisions.reports.reportdefinition.a1.if(Unknown Source)
         com.crystaldecisions.reports.reportdefinition.a1.o(Unknown Source)
         com.crystaldecisions.reports.reportengineinterface.a.a(Unknown Source)
         com.crystaldecisions.reports.reportengineinterface.a.a.b.a(Unknown Source)
         com.crystaldecisions.reports.sdk.ReportClientDocument.open(Unknown Source)
         com.sysarris.aris.crystalreports.RepServlet.generateReport(RepServlet.java:65)
         com.sysarris.aris.crystalreports.RepServlet.doPost(RepServlet.java:40)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
         weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
         weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:272)
         weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:165)
         weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3153)
         weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1973)
         weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1880)
         weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1310)
         weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
         weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
    [deadlocked thread] [ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)':
    Thread '[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'' is waiting to acquire lock 'com.crystaldecisions.reports.queryengine.av@12e0415' that is held by thread '[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)''
    Stack trace:
         com.crystaldecisions.reports.queryengine.av.V(Unknown Source)
         com.crystaldecisions.reports.queryengine.av.do(Unknown Source)
         com.crystaldecisions.reports.queryengine.as.if(Unknown Source)
         com.crystaldecisions.reports.reportdefinition.datainterface.j.c(Unknown Source)
         com.crystaldecisions.reports.reportdefinition.datainterface.j.a(Unknown Source)
         com.crystaldecisions.reports.reportdefinition.datainterface.j.a(Unknown Source)
         com.crystaldecisions.reports.reportdefinition.cy.b(Unknown Source)
         com.crystaldecisions.reports.reportdefinition.cy.long(Unknown Source)
         com.crystaldecisions.reports.reportdefinition.a1.o(Unknown Source)
         com.crystaldecisions.reports.reportdefinition.a1.a(Unknown Source)
         com.crystaldecisions.reports.common.ab.a(Unknown Source)
         com.crystaldecisions.reports.common.ab.if(Unknown Source)
         com.crystaldecisions.reports.reportdefinition.a1.if(Unknown Source)
         com.crystaldecisions.reports.reportdefinition.a1.o(Unknown Source)
         com.crystaldecisions.reports.reportengineinterface.a.a(Unknown Source)
         com.crystaldecisions.reports.reportengineinterface.a.a.b.a(Unknown Source)
         com.crystaldecisions.reports.sdk.ReportClientDocument.open(Unknown Source)
         com.sysarris.aris.crystalreports.RepServlet.generateReport(RepServlet.java:65)
         com.sysarris.aris.crystalreports.RepServlet.doPost(RepServlet.java:40)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
         weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
         weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:272)
         weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:165)
         weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3153)
         weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1973)
         weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1880)
         weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1310)
         weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
         weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
    Can you please suggest any work around for this?

    I'm not referring to Servlet threading issues.
    I'll clarify.
    You have two threads, both entering ReportClientDocument.open(...) method.
    Thread 4 is waiting to acquire 'com.crystaldecisions.reports.queryengine.av@15214b9'
    Thread 0 is waiting to acquire ''com.crystaldecisions.reports.queryengine.av@12e0415'
    So I'm thinking ??? are they the same objects?
    My specific question concerning the ReportClientDocument is that both are calling open - i.e., trying to open a new report.  You wouldn't be trying to open different reports using the same ReportClientDocument - so was wondering if you've cached the RCD and trying to open two different reports at the same time on the same instance via different threads.
    You'd normally tie a ReportClientDocument instance to a HTTP Session, to ensure each user gets their own copy.
    Sincerely,
    Ted Ueda

Maybe you are looking for

  • Video iPod freezes, no longer syncs

    I've had a 5th gen. video iPod since January 2005. Been working perfectly until recently: I was going to skip a song and the screen froze up on me. So I held down the Menu and Center buttons (like I normally do to reset), but this time when the iPod

  • After installing Lion, sharing my USB internet connection no longer works on my iPhone4.

    I have a USB internet device and have been able to share that connection with my iPhone without problem, until installing Lion.  I searched the web, and someone suggested changing my encryption to 128, which I did.  For a few hours that worked, but n

  • How to make Firefox the default browser for Hotmail

    I recently uninstalled Safari because I want to use Firefox as my default browser. Previously when I click the Mail button in Windows Live Messenger, the mac would automatically open my hotmail in Safari. Now that I have uninstalled it, when I click

  • Save button inactive in the Interactiion Centre Winclient

    Dear Experts When I try to make a call in the interaction centre, i am unable to save as the save button will be inactive. Does anybody know why? We do not have a computer telephony interface as yet, and the sales summary document is just blank. coul

  • [SOLVED]Dwm problem after a big update

    I have installed dwm 5.7.2 and i want to add this patch: http://dwm.suckless.org/patches/pertag When i applied the patch i get the following error: alucard@hell ~/.config/dwm/src/dwm-5.7.2 $ patch p1 < /home/alucard/.config/dwm/dwm-5.7.2-pertag.diff