Connecting to Mnesia

Hello,
I am having an issue running tv:start() on a connected ejabberd process. This is what I did:
1. Start ejabberd: This worked fine
2. Start ejabberdctl debug: This worked fine as it connected to by localhost node and start erlang/otp 17
3. From inside the Erlang prompt when I typed: tv:start(). I get this error
** exception error: undefined function tv:start/0

What am I doing wrong?

Regards,
Will

In recent erlang versions, tv

In recent erlang versions, tv feature is included in observer, so try this instead:
observer:start().

Hi badlop, Thanks for

Hi badlop,
Thanks for the response. I tried observer:start() as you suggested without success. I got the same error. Any other idea.

Regards,
Will

Maybe observer isn't included

Maybe observer isn't included in your Erlang deployment. For example, if you install ejabberd from binary installers it doesn't include it. Or maybe you miss some system package... in Debian it is https://packages.debian.org/sid/erlang-observer

Or maybe it isn't found in that ejabberd deployment. See if it works in your local manual erlang node:

$ erl
Erlang/OTP 17 [erts-6.2] [source] [64-bit] [smp:2:2] [async-threads:10] [kernel-poll:false]

Eshell V6.2  (abort with ^G)
1> observer:start().
ok
2> 

(and the Observer window gets opened)

Let me provide some more

Let me provide some more information. I am using ejabberd on window 2008 server 64bit. I am prototyping some development. I did what you said and observer something weird. I have 2 versions of Erlang installed V5.10.1 and V6.0. However when I start ejabberd in debug mode I am seeing V6.4. What could be causing this?

I tried what you suggest and observer the following:
1. observer:start work with 5.10.1 and 6.0
2. tv:start only works with 5.10.1
3. Nothing works with 6.4

Regards,
Will

You may have installed

You may have installed Erlang/OTP yourself, taht you can run manually. But the ejabberd installer includes its own reduced Erlang, which does not include all the OTP libraries.

You can try this dirty idea: uninstall the Erlang/OTP that you don't really need. Install manually the same Erlang/OTP version that the ejabberd installer includes. Then copy observer.beam from your manual Erlang to the ejabberd beam dir.

I will try that and let you

I will try that and let you know

It worked. What I did was

It worked. What I did was install the same version of as ejabberd (6.4). I then copy observer-2.0.4 and wx-1.3.3 to the ejabberd lib folder. Rebooted the computer and tried calling observer:start() again and it worked. Thanks again for the help.

Syndicate content