Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Put the developers' group invite ToxId in the README #2455

Closed
emdee-is opened this issue Dec 7, 2023 · 18 comments
Closed

Put the developers' group invite ToxId in the README #2455

emdee-is opened this issue Dec 7, 2023 · 18 comments

Comments

@emdee-is
Copy link

emdee-is commented Dec 7, 2023

You want to encourage using Tox to develop Tox, so put the ToxID of the invite bot to the developers NGC group in the README, if it's alive.

(Is there still an invite bot to the developers NGC group?)

In the IRC the banner says

Development discussion has moved to a public Tox group. Join via the ID:
360497DA684BCE2A500C1AF9B3A5CE949BBB9F6FB1F91589806FB04CA039E313

What kind of ID is this? Old conferences? It's not NGC.

IRC is only public forum for discussion on Tox. I know the IRC channel is dead, but it wasn't, and it was bi-directionally gatewayed into a Tox NGC. Maybe the Tox dev. NGC has died too, but the IRC should be kept alive in case there are users, or potential users. It is expected that an opensource software package has a libera chat to help users, and it was a good place for lurking former/retired/paused developers (@iphydf :-,) to keep an eye on things.

Instead of abandoning the IRC and deleting it from the documentation, I think you should revive the IRC bridge, and respond to users, and maybe even potential users.

@iphydf
Copy link
Member

iphydf commented Dec 7, 2023

Good point. That's the NGC id, so you need a client with NGC to join it.

@JFreegman
Copy link
Member

Responded to this here: #2456 (comment)

@emdee-is
Copy link
Author

emdee-is commented Dec 7, 2023

Good point. That's the NGC id, so you need a client with NGC to join it.

I have a client with NGC - the only one in existence for a desktop that I know of.

It works with NGC because it worked with both of the dev, NGC groups a year or two ago. But to join those you needed an invite from a titbot, and that titbot is not alive to me. You needed a titbot group invite in toxic back then too?

Am I missing something here? Is that NGC alive and in the onion?

@JFreegman
Copy link
Member

Am I missing something here? Is that NGC alive and in the onion?

Yes. The latest toxic release (or master) have supported it for quite some time. You can join the group publicly without a bot invite using the command /join 360497DA684BCE2A500C1AF9B3A5CE949BBB9F6FB1F91589806FB04CA039E313

@emdee-is
Copy link
Author

emdee-is commented Dec 7, 2023

That's great news (I'm a year out of date).

Now for the bad news: the toxygen code base, which is a python wrapping into the code base 2 years ago, does have a "Join NGC" function but I've never used or tested it. (There's an extensive testsuite in the wrapper, but not for NGC.)

I tried joining it with that address, but

app.gs DEBUG _join_gc_via_id 0
app.gs DEBUG _add_new_group_by_number group_number=0
EROR> tox_group_get_chat_id ERROR GROUP_STATE_QUERIES_GROUP_NOT_FOUND group_number=-1
WARN< group_get_number 0 tox_group_get_chat_id 1
app.contacts.contacts_manager WARNING CM.add_group: NULL group from group_number=0
EROR> tox_group_get_chat_id ERROR GROUP_STATE_QUERIES_GROUP_NOT_FOUND group_number=-1
WARN< group_get_number 0 tox_group_get_chat_id 1

Thread 17 "ToxIterateThrea" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffaddfc6c0 (LWP 3977490)]
0x00007fffeead7773 in find_tcp_connection_relay (tcp_c=0x0, relay_pk=0x2a0b2c8 "")
    at /var/local/src/c-toxcore/toxcore/TCP_connection.c:623
623         for (uint32_t i = 0; i < tcp_c->tcp_connections_length; ++i) {

I'm running the latest c-toxcore, compiled DEBUG TRACE, and am running toxygen under gdb with its python option.

  1. Can you point me to what in the c-toxcore API might have changed so I know where to look for problems in the cypes wrapper.

  2. If you had a gdb prompt with the segv open in your console, what would you do that would be helpful? (I don't know C or gdb - where is the only command I know). The c-toxcore should have symbols.

FYI: I'm connected through SOCKS.

@emdee-is
Copy link
Author

emdee-is commented Dec 7, 2023

At first glance it doesn't seem to be a wrapper problem as the segv is in iterate:
using my prowess with the where command:


Thread 17 "ToxIterateThrea" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffaddfc6c0 (LWP 3977490)]
0x00007fffeead7773 in find_tcp_connection_relay (tcp_c=0x0, relay_pk=0x2a0b2c8 "")
    at /var/local/src/c-toxcore/toxcore/TCP_connection.c:623
623         for (uint32_t i = 0; i < tcp_c->tcp_connections_length; ++i) {
(gdb) where
#0  0x00007fffeead7773 in find_tcp_connection_relay (tcp_c=0x0, relay_pk=0x2a0b2c8 "")
    at /var/local/src/c-toxcore/toxcore/TCP_connection.c:623
#1  0x00007fffeead77ac in tcp_relay_is_valid (tcp_c=0x0, relay_pk=0x2a0b2c8 "")
    at /var/local/src/c-toxcore/toxcore/TCP_connection.c:644
#2  0x00007fffeeb0d3f3 in do_self_connection (c=0x25655f0, chat=0x2a07300)
    at /var/local/src/c-toxcore/toxcore/group_chats.c:7093
#3  0x00007fffeeb0d6f9 in do_gc (c=0x25655f0, userdata=0x7fffaddfb6c0)
    at /var/local/src/c-toxcore/toxcore/group_chats.c:7170
#4  0x00007fffeeae3101 in do_messenger (m=0x264b010, userdata=0x7fffaddfb6c0)
    at /var/local/src/c-toxcore/toxcore/Messenger.c:2651
#5  0x00007fffeeb3c5fe in tox_iterate (tox=0x2649e80, user_data=0x0)
    at /var/local/src/c-toxcore/toxcore/tox.c:1171
#6  0x00007ffff47edf7a in  () at /usr/lib/x86_64-linux-gnu/libffi.so.8
#7  0x00007ffff47ed40e in  () at /usr/lib/x86_64-linux-gnu/libffi.so.8
#8  0x00007ffff47edb0d in ffi_call () at /usr/lib/x86_64-linux-gnu/libffi.so.8
#9  0x00007ffff37ec42b in  ()
    at /usr/lib/python3.11/lib-dynload/_ctypes.cpython-311-x86_64-linux-gnu.so
#10 0x00007ffff37eb67d in  ()
    at /usr/lib/python3.11/lib-dynload/_ctypes.cpython-311-x86_64-linux-gnu.so
#11 0x0000000000517eb3 in _PyObject_MakeTpCall ()
#12 0x000000000052b940 in _PyEval_EvalFrameDefault ()
#13 0x00000000005855a4 in  ()
#14 0x0000000000585148 in  ()
--Type

I'll followup in another issue if it seems a real problem - is anyone active in that NGC group also routinely joining over SOCKS? Connecting was never a problem - I was joined and active for months.

@JFreegman
Copy link
Member

#1 0x00007fffeead77ac in tcp_relay_is_valid (tcp_c=0x0, relay_pk=0x2a0b2c8 "")

tcp_c being null shouldn't be possible. What commit of toxcore are you compiling with?

is anyone active in that NGC group also routinely joining over SOCKS?

Yes, I imagine a few are.

@emdee-is
Copy link
Author

emdee-is commented Dec 7, 2023

It was pulled a day or two ago, repulled last night but no changes.

I'm at the command prompt now - anything you want to poke at?

To be clear: my question is did they join over SOCKS rather than just connect...

@JFreegman
Copy link
Member

JFreegman commented Dec 7, 2023

It was pulled a day or two ago, repulled last night but no changes.

I'm at the command prompt now - anything you want to poke at?

To be clear: my question is did they join over SOCKS rather than just connect...

Can you tell me the commit number?

The combination of using a very outdated client, and getting a segfault that doesn't occur for anyone who's using an up to date client (nor should it even be possible according to the code), leads me to believe that it's a client issue. I'm not personally familiar with those python bindings.

@emdee-is
Copy link
Author

emdee-is commented Dec 7, 2023

#1 0x00007fffeead77ac in tcp_relay_is_valid (tcp_c=0x0, relay_pk=0x2a0b2c8 "")

tcp_c being null shouldn't be possible. What commit of toxcore are you compiling with?

For whatever reason gdb says it is happening. Can you add in a line in tcp_relay_is_valid to check for 0? Shall I open an issue?

At this point I don't suspect the wrapper, but I'll double check it.

Is joining NGC over SOCKS tested/testable?

@JFreegman
Copy link
Member

JFreegman commented Dec 7, 2023

Can you add in a line in tcp_relay_is_valid to check for 0?

A null check wouldn't tell us anything. We already know it's null at that point, and those functions explicitly assume that it won't be null when they're called. There is a null check when you init a groupchat, which is why I said it shouldn't be possible, unless there's some memory corruption going on. Can you tell me what commit hash you're compiling with?

Is joining NGC over SOCKS tested/testable?

Groupchats works no differently than the rest of toxcore in that respect (they use the same low-level networking functionality). I have connected over SOCKS many times.

@emdee-is
Copy link
Author

emdee-is commented Dec 7, 2023

Sure - what git command tells me that?

@JFreegman
Copy link
Member

Sure - what git command tells me that?

git log

the top one in the latest commit. Also make sure you make install toxcore, not just build it.

@emdee-is
Copy link
Author

emdee-is commented Dec 7, 2023

commit 26d41fc is the first line in git log

Also make sure you make install toxcore, not just build it.

Why exactly? I don't install - I'm running python over c-toxcore, and only link the .so to somewhere python's C-types is told to look for it - unchanged in 2 years.

connected over SOCKS many times...

Me to - but this is the first time I've tried to join over SOCKS, and I assume the current test suite does not test that pathway. Especially on my machine which is linux booted with IPV6 disabled, which means that >80% of ctest of c-toxcore fails as it's done for years: #2335

@emdee-is
Copy link
Author

emdee-is commented Dec 7, 2023

Moved the SEGV to #2457

i have the SEGV open under gdb so I can poke up and down if you tell me what to look for, if that helps.

@JFreegman
Copy link
Member

Why exactly? I don't install - I'm running python over c-toxcore, and only link the .so to somewhere python's C-types is told to look for it - unchanged in 2 years.

You need to install the latest version of toxcore and have your bindings use it. It sounds like you might be using a 2 year old toxcore, which I wouldn't expect to work.

@emdee-is
Copy link
Author

emdee-is commented Dec 7, 2023

OK - I accept the logic of not using libera and suggest putting
that in the documentation for people that expect an IRC help group.

But you can't help users that are just joining with a communications tool
that requires you to be joined. And new users need hand-holding and encouraging to get on - I know because you both did it for me a year or two ago. Plus it shows the world signs of being alive.

So I feel a bi-directional gatewayed IRC is essential from the end users perspective. There are IRC alternatives to libera, and I remember one looked good the last time I looked. And the bridging to NGC I found very useful.

I'm one of those people that expect an IRC help group, and it
helped me a lot when I was getting started.

The alternative is https://www.oftc.net/ I think. Good security and helpful staff.

(Are you stting down? Weechat is an iRC client, that also offers a local server
you can use to connect to the client. I have a weechat window in toxygen
so I can weechat IRC in one window and Tox NGC in another. And with bridging, imagine the possibilities :-,)

PS: there's nothing to install - you don't know python c-types.

@emdee-is
Copy link
Author

Reopened as #2463

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants