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

"show_exclude" page throwing errors in 6.7.67b.3 #1330

Closed
dpc22 opened this issue Jan 19, 2022 · 8 comments · Fixed by #1335
Closed

"show_exclude" page throwing errors in 6.7.67b.3 #1330

dpc22 opened this issue Jan 19, 2022 · 8 comments · Fixed by #1335
Labels
Milestone

Comments

@dpc22
Copy link
Contributor

dpc22 commented Jan 19, 2022

Version

6.2.67b.3

Installation method

My own rpm

Expected behavior

If I delete a subscriber from a list who has been included from a data source they are added to the exclude table.

I should be able to remove entries from this table using the "exclude" tab.

https://lists.cam.ac.uk/sympa/show_exclude/test-dpc22

Actual behavior

While it appears to work, I get an error:

DIED: bug in logic. Ask developer at /usr/share/sympa/lib/Sympa/Database.pm line 439.
 at /usr/share/sympa/lib/Sympa/Database.pm line 439.
	Sympa::Database::_finalize_transaction(Sympa::DatabaseDriver::PostgreSQL <db_host=localhost;db_name=sympa;db_user=sympa>) called at /usr/share/sympa/lib/Sympa/Database.pm line 452
	Sympa::Database::commit(Sympa::DatabaseDriver::PostgreSQL <db_host=localhost;db_name=sympa;db_user=sympa>) called at /usr/share/sympa/lib/Sympa/List.pm line 3293
	Sympa::List::add_list_member(Sympa::List <test-dpc22@lists.cam.ac.uk>, HASH(0x664d490), 'stash', ARRAY(0x5dc5bc0)) called at /usr/share/sympa/lib/Sympa/Request/Handler/add.pm line 96
	Sympa::Request::Handler::add::_twist(Sympa::Spindle::ProcessRequest=HASH(0x6109e08), Sympa::Request <action=add;context=test-dpc22@lists.cam.ac.uk;email=XXX@cam.ac.uk>) called at /usr/share/sympa/lib/Sympa/Spindle.pm line 95
	Sympa::Spindle::spin(Sympa::Spindle::ProcessRequest=HASH(0x6109e08)) called at /usr/libexec/sympa/wwsympa.fcgi line 6966
	main::do_add() called at /usr/libexec/sympa/wwsympa.fcgi line 1564
@dpc22
Copy link
Contributor Author

dpc22 commented Jan 19, 2022

It you try and restore a selection of excluded users only the first one is restored.

@ikedas
Copy link
Member

ikedas commented Jan 20, 2022

@dpc22, we don't have access privileges on your mailing list server. Instead, please show us the steps you have actually taken and we can reproduce the problem on our side.

@ikedas ikedas added the bug label Jan 20, 2022
@dpc22
Copy link
Contributor Author

dpc22 commented Jan 20, 2022

Sorry, "https://lists.cam.ac.uk/sympa/show_exclude/test-dpc22" was just to indicate which page which threw an exception. I wasn't expecting you to access that

Steps:

  1. Define a data source that fetches data from an Active directory LDAP server
  2. Add that to "Subscribers defined in an external data source "
  3. Click "Synchronize members with data sources" (adds 7 subscribers in my case)
  4. Delete selected email addresses: populates the exclude list
  5. Restore selected email addresses using the "show_exclude" page.
  6. Boom

@ikedas
Copy link
Member

ikedas commented Jan 20, 2022

Additionally, please show us these things:

  • The setting (list config and/or files in data_sources directory).
  • The actual steps you can reproduce the problem ("opened 'xxx' page, clicked 'xxx' button, ..." and so on). --- already shown.
  • The log from when you started the operation to when the problem occurred.

@dpc22
Copy link
Contributor Author

dpc22 commented Jan 20, 2022

/etc/sympa/data_sources/blue_groupname.incl (AD password censored). Derived from https://sympa-community.github.io/manual/customize/data-sources.html "Tip: Using Active Directory for Sympa data sources"

# WARNING: File managed by Ansible.
#
include_ldap_2level_query
name  Blue AD (filter on groupName)
host  blue.cam.ac.uk
port  636
user  sympa@blue.cam.ac.uk
passwd XXX
use_ssl yes
ssl_version tls
suffix1 DC=blue,DC=cam,DC=ac,DC=uk
filter1 (&(CN=[% param.0 %])(objectClass=group))
attrs1  member
select1 all
timeout1 60
scope1 sub
suffix2 [attrs1]
filter2 (objectClass=person)
attrs2 mail
select2 first
scope2 base
timeout2 10

@dpc22
Copy link
Contributor Author

dpc22 commented Jan 20, 2022

Logs (I can give you full verbose logs, but that will be a lot of data)

Jan 20 08:15:10 lists-2 wwsympa[14165]: info main::do_edit_list_request(data_source) [robot lists.cam.ac.uk] [session 69516223030442] [client XXX.XXX.XXX.XXX [user dpc22@cam.ac.uk] [list test-dpc22] 
Jan 20 08:15:18 lists-2 wwsympa[14163]: info main::do_edit_list() [robot lists.cam.ac.uk] [session 69516223030442] [client XXX.XXX.XXX.XXX] [user dpc22@cam.ac.uk] [list test-dpc22] 
Jan 20 08:15:18 lists-2 wwsympa[14163]: info main::do_edit_list_request(data_source) [robot lists.cam.ac.uk] [session 69516223030442] [client XXX.XXX.XXX.XXX] [user dpc22@cam.ac.uk] [list test-dpc22] 
Jan 20 08:15:21 lists-2 wwsympa[14166]: info main::do_review() [robot lists.cam.ac.uk] [session 69516223030442] [client XXX.XXX.XXX.XXX] [user dpc22@cam.ac.uk] [list test-dpc22] 
Jan 20 08:15:21 lists-2 wwsympa[14166]: info main::_review_member() [robot lists.cam.ac.uk] [session 69516223030442] [client XXX.XXX.XXX.XXX] [user dpc22@cam.ac.uk] [list test-dpc22] No subscriber
Jan 20 08:15:23 lists-2 wwsympa[14164]: info main::do_sync_include(test-dpc22, member) [robot lists.cam.ac.uk] [session 69516223030442] [client XXX.XXX.XXX.XXX] [user dpc22@cam.ac.uk] [list test-dpc22] 
Jan 20 08:15:23 lists-2 wwsympa[14164]: notice Sympa::Spindle::ProcessRequest::_twist() Processing Sympa::Request <action=include;context=test-dpc22@lists.cam.ac.uk;role=member>
Jan 20 08:15:23 lists-2 wwsympa[14164]: info Sympa::Request::Handler::include::_twist() Sympa::DataSource::LDAP2 <context=test-dpc22@lists.cam.ac.uk;id=5c39982b;role=member;name=Blue AD (filter on groupName)>: 8 included, 0 deleted, 0 updated, 0 kept
Jan 20 08:15:23 lists-2 wwsympa[14164]: info Sympa::Request::Handler::include::_twist() Sympa::Request <action=include;context=test-dpc22@lists.cam.ac.uk;role=member>: Success, 8 added, 0 deleted, 0 updated
Jan 20 08:15:23 lists-2 wwsympa[14164]: info main::do_review() [robot lists.cam.ac.uk] [session 69516223030442] [client XXX.XXX.XXX.XXX] [user dpc22@cam.ac.uk] [list test-dpc22] 
Jan 20 08:15:25 lists-2 wwsympa[14167]: info main::do_viewlogs() [robot lists.cam.ac.uk] [session 69516223030442] [client XXX.XXX.XXX.XXX] [user dpc22@cam.ac.uk] [list test-dpc22] 
Jan 20 08:15:30 lists-2 wwsympa[14165]: info main::do_review() [robot lists.cam.ac.uk] [session 69516223030442] [client XXX.XXX.XXX.XXX] [user dpc22@cam.ac.uk] [list test-dpc22] 
Jan 20 08:15:41 lists-2 wwsympa[14163]: info main::do_del(dpc22@cam.ac.uk) [robot lists.cam.ac.uk] [session 69516223030442] [client XXX.XXX.XXX.XXX] [user dpc22@cam.ac.uk] [list test-dpc22] 
Jan 20 08:15:47 lists-2 wwsympa[14166]: info main::do_del(dpc22@cam.ac.uk) [robot lists.cam.ac.uk] [session 69516223030442] [client XXX.XXX.XXX.XXX] [user dpc22@cam.ac.uk] [list test-dpc22] 
Jan 20 08:15:47 lists-2 wwsympa[14166]: notice Sympa::Spindle::ProcessRequest::_twist() Processing Sympa::Request <action=del;context=test-dpc22@lists.cam.ac.uk;email=dpc22@cam.ac.uk>
Jan 20 08:15:47 lists-2 wwsympa[14166]: info Sympa::Request::Handler::del::_report_member() DEL test-dpc22 dpc22@cam.ac.uk from dpc22@cam.ac.uk accepted (0.01 seconds, 7 subscribers)
Jan 20 08:15:47 lists-2 wwsympa[14166]: info main::do_review() [robot lists.cam.ac.uk] [session 69516223030442] [client XXX.XXX.XXX.XXX] [user dpc22@cam.ac.uk] [list test-dpc22] 
Jan 20 08:15:48 lists-2 wwsympa[14164]: info main::do_show_exclude() [robot lists.cam.ac.uk] [session 69516223030442] [client XXX.XXX.XXX.XXX] [user dpc22@cam.ac.uk] [list test-dpc22] 
Jan 20 08:15:51 lists-2 wwsympa[14167]: info main::do_add(dpc22@cam.ac.uk) [robot lists.cam.ac.uk] [session 69516223030442] [client XXX.XXX.XXX.XXX] [user dpc22@cam.ac.uk] [list test-dpc22] 
Jan 20 08:15:53 lists-2 wwsympa[14165]: info main::do_add(dpc22@cam.ac.uk) [robot lists.cam.ac.uk] [session 69516223030442] [client XXX.XXX.XXX.XXX] [user dpc22@cam.ac.uk] [list test-dpc22] 
Jan 20 08:15:53 lists-2 wwsympa[14165]: notice Sympa::Spindle::ProcessRequest::_twist() Processing Sympa::Request <action=add;context=test-dpc22@lists.cam.ac.uk;email=dpc22@cam.ac.uk>
Jan 20 08:15:53 lists-2 wwsympa[14165]: notice Sympa::Spindle::ProcessRequest::_twist() Processing Sympa::Request <action=include;context=test-dpc22@lists.cam.ac.uk;role=member>
Jan 20 08:15:53 lists-2 wwsympa[14165]: info Sympa::Request::Handler::include::_twist() Sympa::DataSource::LDAP2 <context=test-dpc22@lists.cam.ac.uk;id=5c39982b;role=member;name=Blue AD (filter on groupName)>: 1 included, 0 deleted, 7 updated, 0 kept
Jan 20 08:15:53 lists-2 wwsympa[14165]: info Sympa::Request::Handler::include::_twist() Sympa::Request <action=include;context=test-dpc22@lists.cam.ac.uk;role=member>: Success, 1 added, 0 deleted, 7 updated
Jan 20 08:15:53 lists-2 wwsympa[14165]: err main::#1564 > main::do_add#6966 > Sympa::Spindle::spin#95 > Sympa::Request::Handler::add::_twist#96 > Sympa::List::add_list_member#3293 > Sympa::Database::commit#452 > Sympa::Database::_finalize_transaction#439 DIED: bug in logic. Ask developer at /usr/share/sympa/lib/Sympa/Database.pm line 439.

@ikedas
Copy link
Member

ikedas commented Jan 22, 2022

@dpc22 , could you please check this patch?

@ikedas ikedas added this to the 6.2.68 milestone Jan 22, 2022
@dpc22
Copy link
Contributor Author

dpc22 commented Jan 24, 2022

That seems to have fixed things: thanks.

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

Successfully merging a pull request may close this issue.

2 participants