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

Master #12

Closed
wants to merge 11 commits into from
Closed

Master #12

wants to merge 11 commits into from

Conversation

lucaderi
Copy link
Member

@lucaderi lucaderi commented May 9, 2015

No description provided.

@lucaderi lucaderi closed this May 9, 2015
simonemainardi added a commit that referenced this pull request Mar 29, 2017
* thread #12: tid = 0x1e75b2, 0x00007fffa35024fc libsystem_pthread.dylib`pthread_mutex_lock, stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
    frame #0: 0x00007fffa35024fc libsystem_pthread.dylib`pthread_mutex_lock
  * frame #1: 0x000000010007c6ef ntopng`Mutex::lock(this=0x27223d65756c617e, filename="src/ICMPstats.cpp", line=90) + 47 at Mutex.cpp:43
    frame #2: 0x00000001000592be ntopng`ICMPstats::lua(this=0x27223d65756c6176, isV4=true, vm=0x0000000009620378) + 78 at ICMPstats.cpp:90
    frame #3: 0x0000000100051cfd ntopng`Host::lua(this=0x0000000002026c00, vm=0x0000000009620378, ptree=0x0000000000000000, host_details=true, verbose=false, returnHost=false, asListElement=true, exclude_deserialized_bytes=false) + 1181 at Host.cpp:465
    frame #4: 0x000000010008fe3f ntopng`NetworkInterface::getActiveHostsList(this=0x000000000180ba00, vm=0x0000000009620378, allowed_hosts=0x0000000000000000, host_details=true, location=location_all, countryFilter=0x0000000000000000, mac_filter=0x0000000000000000, vlan_id=0, osFilter=0x0000000000000000, asnFilter=4294967295, networkFilter=-2, pool_filter=65535, ipver_filter='\0', proto_filter=-1, sortColumn="column_ip", maxHits=32768, toSkip=0, a2zSortOrder=true) + 783 at NetworkInterface.cpp:3147
    frame #5: 0x000000010006ce64 ntopng`ntop_get_interface_hosts(vm=0x0000000009620378, location=location_all) + 1220 at Lua.cpp:574
    frame #6: 0x0000000100067d7a ntopng`ntop_get_interface_hosts_info(vm=0x0000000009620378) + 26 at Lua.cpp:652
    frame #7: 0x00000001000fbec8 ntopng`lj_BC_FUNCC + 52
    frame #8: 0x0000000100116243 ntopng`lua_pcall(L=0x0000000009620378, nargs=0, nresults=-1, errfunc=0) + 179 at lj_api.c:1052
    frame #9: 0x000000010006104d ntopng`Lua::run_script(this=0x0000000004178f10, script_path="/Users/simone/code/ntopng/scripts/callbacks/minute.lua") + 157 at Lua.cpp:5952
    frame #10: 0x00000001000a6afd ntopng`PeriodicActivities::runScript(this=0x000000000150a930, path="/Users/simone/code/ntopng/scripts/callbacks/minute.lua", when=1490790060) + 429 at PeriodicActivities.cpp:98
    frame #11: 0x00000001000a6fbc ntopng`PeriodicActivities::minuteActivitiesLoop(this=0x000000000150a930) + 284 at PeriodicActivities.cpp:188
    frame #12: 0x00000001000a68e5 ntopng`minuteStartLoop(ptr=0x000000000150a930) + 21 at PeriodicActivities.cpp:46
    frame #13: 0x00007fffa3504aab libsystem_pthread.dylib`_pthread_body + 180
    frame #14: 0x00007fffa35049f7 libsystem_pthread.dylib`_pthread_start + 286
    frame #15: 0x00007fffa35041fd libsystem_pthread.dylib`thread_start + 13
lucaderi pushed a commit that referenced this pull request May 7, 2019
simonemainardi added a commit that referenced this pull request Oct 31, 2019
Fixes

Thread 15 "TrPoolWorker" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffc9df4700 (LWP 314)]
0x000000000047e743 in Mac::incnDPIStats (this=0x7fff7a30a080, when=1572439200, ndpi_category=NDPI_PROTOCOL_CATEGORY_UNSPECIFIED, sent_packets=0, sent_bytes=0, sent_goodput_bytes=0, rcvd_packets=1,
    rcvd_bytes=60, rcvd_goodput_bytes=2) at /home/deri/ntopng/include/Mac.h:140
    140         stats->incnDPIStats(when, ndpi_category, sent_packets, sent_bytes, sent_goodput_bytes,
    (gdb) bt
    #0  0x000000000047e743 in Mac::incnDPIStats (this=0x7fff7a30a080, when=1572439200, ndpi_category=NDPI_PROTOCOL_CATEGORY_UNSPECIFIED, sent_packets=0, sent_bytes=0, sent_goodput_bytes=0, rcvd_packets=1, rcvd_bytes=60, rcvd_goodput_bytes=2)
        at /home/deri/ntopng/include/Mac.h:140
	#1  0x00000000004715b0 in Flow::periodic_stats_update (this=0x7ffee7685d50, user_data=0x7fffc9df3880, quick=true) at src/Flow.cpp:1154
	#2  0x000000000048a175 in host_flow_update_stats (node=0x7ffee7685d50, user_data=0x7fffc9df3880, matched=0x7fffc9df37db) at src/NetworkInterface.cpp:2647
	#3  0x00000000004596f4 in GenericHash::walk (this=0x4ab5ee0, begin_slot=0x7fffc9df387c, walk_all=true, walker=0x48a119 <host_flow_update_stats(GenericHashEntry*, void*, bool*)>, user_data=0x7fffc9df3880) at src/GenericHash.cpp:192
	#4  0x000000000048365c in NetworkInterface::walker (this=0x113a570, begin_slot=0x7fffc9df387c, walk_all=true, wtype=walker_flows, walker=0x48a119 <host_flow_update_stats(GenericHashEntry*, void*, bool*)>, user_data=0x7fffc9df3880) at src/NetworkInterface.cpp:859
	#5  0x000000000048a4e2 in NetworkInterface::periodicStatsUpdate (this=0x113a570) at src/NetworkInterface.cpp:2739
	#6  0x00000000004cb574 in ntop_periodic_stats_update (vm=0x7fff91cf4e48) at src/LuaEngine.cpp:5891
	#7  0x0000000000589a04 in luaD_precall ()
	#8  0x0000000000595025 in luaV_execute ()
	#9  0x0000000000589ccf in luaD_call ()
	#10 0x0000000000589d21 in luaD_callnoyield ()
	#11 0x000000000058913f in luaD_rawrunprotected ()
	#12 0x000000000058a03d in luaD_pcall ()
	#13 0x000000000058746f in lua_pcallk ()
	#14 0x000000000053f280 in LuaHandler::luaL_dofileM (this=0x7fff90d5bb00, execute=true) at pro/LuaHandler.cpp:32
	#15 0x00000000004d866f in __ntop_lua_handlefile (L=0x7fff91cf4e48, script_path=0x7fff8c0008e0 "/home/deri/ntopng/scripts/callbacks/interface/stats_update.lua", ex=true) at src/LuaEngine.cpp:10107
	#16 0x00000000004d99ae in LuaEngine::run_script (this=0x7fff9076c530, script_path=0x7fff8c0008e0 "/home/deri/ntopng/scripts/callbacks/interface/stats_update.lua", iface=0x113a570, load_only=false) at src/LuaEngine.cpp:11095
	#17 0x00000000004aa6c5 in ThreadedActivity::runScript (this=0xae03410, script_path=0x7fff8c0008e0 "/home/deri/ntopng/scripts/callbacks/interface/stats_update.lua", iface=0x113a570) at src/ThreadedActivity.cpp:232
	#18 0x00000000004e435c in ThreadPool::run (this=0xacc4620) at src/ThreadPool.cpp:100
	#19 0x00000000004e3f3f in doRun (ptr=0xacc4620) at src/ThreadPool.cpp:31
	#20 0x00007ffff65bd6ba in start_thread (arg=0x7fffc9df4700) at pthread_create.c:333
	#21 0x00007ffff490941d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
	(gdb) f 140
	#0  0x0000000000000000 in ?? ()
	(gdb) f 0
	#0  0x000000000047e743 in Mac::incnDPIStats (this=0x7fff7a30a080, when=1572439200, ndpi_category=NDPI_PROTOCOL_CATEGORY_UNSPECIFIED, sent_packets=0, sent_bytes=0, sent_goodput_bytes=0, rcvd_packets=1, rcvd_bytes=60, rcvd_goodput_bytes=2)
	    at /home/deri/ntopng/include/Mac.h:140
	    140         stats->incnDPIStats(when, ndpi_category, sent_packets, sent_bytes, sent_goodput_bytes,
	    (gdb) p stats
	    $1 = (MacStats *) 0x0
simonemainardi added a commit that referenced this pull request Mar 27, 2020
Class was not used and didn't handle concurrent accesses to strings,
yielding crashes such as

Thread 14 "stats_update.lu" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffb3fff700 (LWP 25268)]
0x00005555556b9183 in IpAddress::intoa (this=0x28c, buf=0x7fffb3ffe030 "", bufLen=64, bitmask=255 '\377') at src/IpAddress.cpp:352
352     src/IpAddress.cpp: No such file or directory.
(gdb)
(gdb) bt
    at src/GenericHash.cpp:222
    #9  0x00005555556c0413 in NetworkInterface::walker (this=0x555556159e70, begin_slot=0x7fffb3ffe454, walk_all=true, wtype=walker_flows, walker=0x5555556c6b79 <host_flow_update_stats(GenericHashEntry*, void*, bool*)>,
        user_data=0x7fffb3ffe458) at src/NetworkInterface.cpp:795
	#10 0x00005555556c6f7c in NetworkInterface::periodicStatsUpdate (this=0x555556159e70, vm=0x7fffac0a5578) at src/NetworkInterface.cpp:2589
	#11 0x0000555555671d62 in ntop_periodic_stats_update (vm=0x7fffac0a5578) at src/LuaEngine.cpp:6304
	#12 0x000055555576c2f6 in luaD_precall ()
	#13 0x0000555555777acd in luaV_execute ()
	#14 0x000055555576c5cf in luaD_call ()
	#15 0x000055555576c621 in luaD_callnoyield ()
	#16 0x000055555576ba42 in luaD_rawrunprotected ()
	#17 0x000055555576c91b in luaD_pcall ()
	#18 0x0000555555769cd4 in lua_pcallk ()
	#19 0x0000555555681e8a in LuaEngine::run_loaded_script (this=0x7fffac01fe10) at src/LuaEngine.cpp:12188
	#20 0x000055555563eca2 in ThreadedActivity::runScript (this=0x555562aee4e0, now=1585309410, script_path=0x7fff88002620 "/usr/share/ntopng/scripts/callbacks/interface/stats_update.lua", iface=0x555556159e70, deadline=1585309420)
	    at src/ThreadedActivity.cpp:418
	    #21 0x00005555556ba04d in ThreadPool::run (this=0x5555624525a0) at src/ThreadPool.cpp:103
	    #22 0x00005555556b9c79 in doRun (ptr=0x5555624525a0) at src/ThreadPool.cpp:31
	    #23 0x00007ffff65aa6db in start_thread (arg=0x7fffb3fff700) at pthread_create.c:463
	    #24 0x00007ffff3ea388f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
simonemainardi added a commit that referenced this pull request Mar 27, 2020
Class was not used and didn't handle concurrent accesses to strings,
yielding crashes such as

Thread 14 "stats_update.lu" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffb3fff700 (LWP 25268)]
0x00005555556b9183 in IpAddress::intoa (this=0x28c, buf=0x7fffb3ffe030 "", bufLen=64, bitmask=255 '\377') at src/IpAddress.cpp:352
352     src/IpAddress.cpp: No such file or directory.
(gdb)
(gdb) bt
    at src/GenericHash.cpp:222
    #9  0x00005555556c0413 in NetworkInterface::walker (this=0x555556159e70, begin_slot=0x7fffb3ffe454, walk_all=true, wtype=walker_flows, walker=0x5555556c6b79 <host_flow_update_stats(GenericHashEntry*, void*, bool*)>,
        user_data=0x7fffb3ffe458) at src/NetworkInterface.cpp:795
	#10 0x00005555556c6f7c in NetworkInterface::periodicStatsUpdate (this=0x555556159e70, vm=0x7fffac0a5578) at src/NetworkInterface.cpp:2589
	#11 0x0000555555671d62 in ntop_periodic_stats_update (vm=0x7fffac0a5578) at src/LuaEngine.cpp:6304
	#12 0x000055555576c2f6 in luaD_precall ()
	#13 0x0000555555777acd in luaV_execute ()
	#14 0x000055555576c5cf in luaD_call ()
	#15 0x000055555576c621 in luaD_callnoyield ()
	#16 0x000055555576ba42 in luaD_rawrunprotected ()
	#17 0x000055555576c91b in luaD_pcall ()
	#18 0x0000555555769cd4 in lua_pcallk ()
	#19 0x0000555555681e8a in LuaEngine::run_loaded_script (this=0x7fffac01fe10) at src/LuaEngine.cpp:12188
	#20 0x000055555563eca2 in ThreadedActivity::runScript (this=0x555562aee4e0, now=1585309410, script_path=0x7fff88002620 "/usr/share/ntopng/scripts/callbacks/interface/stats_update.lua", iface=0x555556159e70, deadline=1585309420)
	    at src/ThreadedActivity.cpp:418
	    #21 0x00005555556ba04d in ThreadPool::run (this=0x5555624525a0) at src/ThreadPool.cpp:103
	    #22 0x00005555556b9c79 in doRun (ptr=0x5555624525a0) at src/ThreadPool.cpp:31
	    #23 0x00007ffff65aa6db in start_thread (arg=0x7fffb3fff700) at pthread_create.c:463
	    #24 0x00007ffff3ea388f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
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

Successfully merging this pull request may close these issues.

None yet

2 participants