Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^6: panic: COND_DESTROY(6)

by menth0l (Monk)
on Jan 27, 2012 at 11:53 UTC ( #950341=note: print w/ replies, xml ) Need Help??


in reply to Re^5: panic: COND_DESTROY(6)
in thread panic: COND_DESTROY(6)

Ability, yes. Knowledge to do so... not really. As i said: i'm using ActiveState installation so until now i didn't mess with the perl itself.

But if it's not that hard then maybe i could give it a chance. So, what do i do? :)


Comment on Re^6: panic: COND_DESTROY(6)
Re^7: panic: COND_DESTROY(6)
by BrowserUk (Pope) on Jan 27, 2012 at 12:14 UTC

    Building perl from source is quite easy assuming you have an appropriate compiler.

    For consistency and simplicity, I'd recommend using the MS free edition.

    Once you've installed the compiler, download the active state source code for your version of perl.

    Gunzip the *.source.tar.gz. Edit the win32\Makefile to set the compiler (CC) and install directories and then do nmake Makefile and go to lunch. When you return you should be able to do nmake test, and if your company would object to you taking another lunch you could do some work for an hour. Preferably on another machine :)

    Then nmake install. Then install any non-core dependencies required by your application, and the application itself. At that point you should be able to run the application.

    Once you have it running, you can then tweak the source code where the message is produced, re-build, and then try to recreate the failure with the benefit of whatever extra information you've added.

    I'd suggest adding at least the threadid and caller information. It should also be possible to discover the name of the perl-level cond-var that is giving the problem. That lot should go quite a way to helping you track down the source of the problem.


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

    The start of some sanity?

      Thanks a lot!

      First i try to downgrade threads::shared and if that won't help i try to do it the hard way ;)

      Downgrading threads::shared didn't work.


      So, i started to compile my own perl instance. I assume that all will go ok.
      I'd suggest adding at least the threadid and caller information. It should also be possible to discover the name of the perl-level cond-var that is giving the problem.
      What source files should i modify? And how can i add this type of information to error message? My understanding of C is at most basic level so could you guide me by the hand with this? Most useful information for me would be thread id and module name in which error occured.

      UPDATE:
      One more thing: when i compile new perl is it enough to overwrite perl512.dll file in my current installation to see modified error message or do i have to copy whole installation?

      UPDATE 2:
      After running tests nmake stops at Storable module. I've waited more than half an hour with but no further progress was made. Am i doing something wrong?
      # nmake test (...) dist/Storable/t/code.t ........................ 1/52 # hangs

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://950341]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (7)
As of 2014-10-24 07:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (130 votes), past polls