[ovs-dev] [PATCH] replication: Be more careful about JSON parsing and simplify code.

Ben Pfaff blp at ovn.org
Fri Sep 16 00:50:49 UTC 2016


Is it intermittent, then?

On Fri, Sep 16, 2016 at 12:47:14AM +0000, Alin Serdean wrote:
> Sorry to bump on this problem again, but the issue reproduces from time to time while testing under windows.
> 
> Applying (http://openvswitch.org/pipermail/dev/2016-September/079315.html) would fix the symptom.
> 
> STACK_TEXT:  
> 000000c0`e63cf680 00007ff7`f9306607 : 00000264`7e439f00 00000000`00000000 00000264`7e42def8 00000000`2b038801 : ovsdb_server!ovsdb_datum_compare_3way+0x1d
> 000000c0`e63cf6c0 00007ff7`f92df779 : 00000264`7e439f00 00000000`00000000 00000264`7e42def8 00007ff7`f92df5c5 : ovsdb_server!ovsdb_datum_equals+0x27
> 000000c0`e63cf700 00007ff7`f92e1034 : 00000264`7e43fb80 00000264`7e439ea0 00000000`00000000 00000264`7e4395c0 : ovsdb_server!update_monitor_row_data+0xa9
> 000000c0`e63cf760 00007ff7`f92e136d : 00000000`00000000 00000264`7e439ea0 00000264`7e43fb80 00000264`7e4395c0 : ovsdb_server!ovsdb_monitor_changes_update+0x114
> 000000c0`e63cf7c0 00007ff7`f92e6e60 : 00000000`00000000 00000264`7e439ea0 00000264`7e4394e4 000000c0`e63cf8b0 : ovsdb_server!ovsdb_monitor_change_cb+0x1dd
> 000000c0`e63cf840 00007ff7`f92e178c : 00000264`7e43ca90 00007ff7`f92e1190 000000c0`e63cf8b0 00000264`7e439c80 : ovsdb_server!ovsdb_txn_for_each_change+0x130
> 000000c0`e63cf880 00007ff7`f92ea7b9 : 00000264`7e43fab0 00000264`7e43ca90 00000000`00000000 00000000`00000001 : ovsdb_server!ovsdb_monitor_commit+0x5c
> 000000c0`e63cf8e0 00007ff7`f92e6aac : 00000264`7e43ca90 00000000`00000000 8f4644b3`452879f6 6eb99859`8e0f9f99 : ovsdb_server!ovsdb_txn_commit_+0x259
> 000000c0`e63cf930 00007ff7`f92e4a51 : 00000264`7e43ca90 00000264`7e43e500 00000264`7e438de0 00000264`7e43ca90 : ovsdb_server!ovsdb_txn_commit+0x1c
> 000000c0`e63cf970 00007ff7`f92e36ac : 00000264`7e43e3f0 00000264`7e438de0 00000264`7e43e5d0 00000264`7e43e5d0 : ovsdb_server!process_notification+0x131
> 000000c0`e63cf9d0 00007ff7`f92d3199 : 00000264`7e42dcf0 000000c0`e63cfb38 000000c0`e63cfcd0 00007ff7`f92ff89f : ovsdb_server!replication_run+0x23c
> 000000c0`e63cfae0 00007ff7`f92d3db3 : 00000264`7e42dcf0 000000c0`e63cfc48 00000264`7e42fdd0 000000c0`e63cfcd0 : ovsdb_server!main_loop+0x209
> 000000c0`e63cfb70 00007ff7`f9337f3c : 00007ff7`00000001 00000264`7e426350 00000000`00000000 00000000`00000000 : ovsdb_server!main+0x993
> 000000c0`e63cfd30 00007ff7`f933807e : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ovsdb_server!__tmainCRTStartup+0xec
> 000000c0`e63cfd80 00007ffd`5b728102 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ovsdb_server!mainCRTStartup+0xe
> 000000c0`e63cfdb0 00007ffd`5dc5c5b4 : 00007ffd`5b7280e0 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x22
> 000000c0`e63cfde0 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x34
> 
> 
> STACK_COMMAND:  ~0s; .ecxr ; kb
> 
> FAULTING_SOURCE_LINE:  ovsdb-data.c
> 
> FAULTING_SOURCE_FILE:  ovsdb-data.c
> 
> FAULTING_SOURCE_LINE_NUMBER:  1626
> 
> FAULTING_SOURCE_CODE:  
>   1622:                          const struct ovsdb_type *type)
>   1623: {
>   1624:     int cmp;
>   1625: 
> > 1626:     if (a->n != b->n) {
>   1627:         return a->n < b->n ? -1 : 1;
>   1628:     }
>   1629: 
>   1630:     cmp = atom_arrays_compare_3way(a->keys, b->keys, type->key.type, a->n);
>   1631:     if (cmp) {
> 
> > > > I don't know the exact cause of the problem, but this new
> > > > implementation leaves me more confident due to its simplicity.
> > > >
> > > > Reported-by: Joe Stringer <joe at ovn.org>
> > > > Reported-at: http://openvswitch.org/pipermail/dev/2016-September/
> > > > 079315.html
> > > > Fixes: 60e0cd041958 ("ovsdb: Replication usability improvements")
> > > > Signed-off-by: Ben Pfaff <blp at ovn.org>
> > > >
> > >
> > > Acked-by: Andy Zhou <azhou at ovn.org>
> > >
> > > Thanks for tracking this down the issue and for the simplification.
> > > Sorry for not jumpping on Joe's original report sonner. I did not have
> > > internet access from my laptop for the last few days.
> > 
> > You're on vacation, no worries.
> > 
> > Applied to master and branch-2.6, thanks!
> > _______________________________________________
> > dev mailing list
> > dev at openvswitch.org
> > http://openvswitch.org/mailman/listinfo/dev



More information about the dev mailing list