Code Monkey home page Code Monkey logo

Comments (17)

Andy2244 avatar Andy2244 commented on May 28, 2024

ok got it to work if i use it with writeable yes and in guest mode, but its slow and buggy throwing a lot of those lock errors.

map to guest = Bad User
writeable = yes
guest ok = yes
kern.err kernel: [ 1982.779332] kcifsd: smb2_lock:5918: the end offset(ffffffffffffffff) is smaller than the start offset(0)
kern.err kernel: [ 1982.788969] kcifsd: smb2_lock:6164: failed in taking lock(flags : 1)

PS: Tried with oplocks = yes, no, but get the same errors.

from ksmbd-tools.

namjaejeon avatar namjaejeon commented on May 28, 2024

oplock is different with smb2 lock. oplock is a lock for cache mechanism. and smb2_lock is byte lock we think normally. so oplock = yes, no. is no useful for this error message. I sent relevant patch to change this error message to debug. will push to master soon.

Thanks for your report!!

from ksmbd-tools.

Andy2244 avatar Andy2244 commented on May 28, 2024

@namjaejeon yeah i understand, i tried oplock just to test if this has a impact on the failing binary's. As example under samba4 i can run portableapps.com directly from the share, while with cifsd it breaks and crashes.

from ksmbd-tools.

namjaejeon avatar namjaejeon commented on May 28, 2024

I found it is relatd with streamed file open. checking it now, will fix it soon.

from ksmbd-tools.

namjaejeon avatar namjaejeon commented on May 28, 2024

Andy, Could you please check it with updated master branch to know that it is fixed or not on your side ?

from ksmbd-tools.

namjaejeon avatar namjaejeon commented on May 28, 2024

hm... it do randomly works well.. need to check more..

from ksmbd-tools.

namjaejeon avatar namjaejeon commented on May 28, 2024

could you confirm this issue is coming on only windows 10 ?

from ksmbd-tools.

namjaejeon avatar namjaejeon commented on May 28, 2024

I found when problem is coming. installer(.exe) have worked after win10 client reconnect & cifsd server reboot case. maybe, it is different issue you raise. could you please check it with latest master branch on your side ?

from ksmbd-tools.

Andy2244 avatar Andy2244 commented on May 28, 2024

Just checked getting different errors now:

[350364.037698] kcifsd: create_smb2_pipe:1744: Unable to open RPC pipe: -22
[350364.045576] kcifsd: create_smb2_pipe:1744: Unable to open RPC pipe: -22
[350576.447993] kcifsd: cifsd_vfs_create:53: path create failed for /mnt/sda/2/PortableApps/PortableApps.com/Data/PortableAppsMenu.ini, err -2
[350588.383328] kcifsd: create_smb2_pipe:1744: Unable to open RPC pipe: -22

using

[global]
	server string = CIFSD on OpenWRT
	ipc timeout = 5
	map to guest = Bad User

[share]
	path = /mnt/sda
	writeable = yes
	guest ok = yes

I just mounted the share as a network drive in windows 10 and than installed PortableApps.com into the test folder, this worked fine and all folders, files are created with nogroup/nobody. Than if you start the "start.exe" i keep getting the write denied access error for PortableAppsMenu.ini.

from ksmbd-tools.

namjaejeon avatar namjaejeon commented on May 28, 2024

Got it, I will make default fs type of cifsd as NTFS.

from ksmbd-tools.

namjaejeon avatar namjaejeon commented on May 28, 2024

Pushed! And I can not run start.exe file, this application is blocked with security alarm in my company.
hm.. don't know why..
Could you please check it with latest cifsd master ?
Thanks!

from ksmbd-tools.

Andy2244 avatar Andy2244 commented on May 28, 2024

@namjaejeon Same problem, getting tonns of those:

[449409.981530] kcifsd: create_smb2_pipe:1689: Unable to open RPC pipe: -22
[449421.280132] kcifsd: create_smb2_pipe:1689: Unable to open RPC pipe: -22
[449421.288102] kcifsd: create_smb2_pipe:1689: Unable to open RPC pipe: -22
[449421.298431] kcifsd: create_smb2_pipe:1689: Unable to open RPC pipe: -22
[449421.306932] kcifsd: create_smb2_pipe:1689: Unable to open RPC pipe: -22
[449421.343809] kcifsd: create_smb2_pipe:1689: Unable to open RPC pipe: -22
[449421.352808] kcifsd: create_smb2_pipe:1689: Unable to open RPC pipe: -22
[449421.440162] kcifsd: create_smb2_pipe:1689: Unable to open RPC pipe: -22
[449421.447773] kcifsd: create_smb2_pipe:1689: Unable to open RPC pipe: -22
[449427.442458] kcifsd: create_smb2_pipe:1689: Unable to open RPC pipe: -22
[449427.450401] kcifsd: create_smb2_pipe:1689: Unable to open RPC pipe: -22

I don't see the error below anymore, but the app still cant write to its PortableAppsMenu.ini file and i get a windows error message.
cifsd_vfs_create:53: path create failed for /mnt/sda/2/PortableApps/PortableApps.com/Data/PortableAppsMenu.ini, err -2

The mounted filesystem is now reported as NTFS.

from ksmbd-tools.

namjaejeon avatar namjaejeon commented on May 28, 2024

Okay, I found why write failure happened. Please try current master branch again!
Thanks for your feedback!

from ksmbd-tools.

Andy2244 avatar Andy2244 commented on May 28, 2024

@namjaejeon ok the fix worked and portable apps framework and most simple portable apps work fine.
I tested firefox portable, since this is the most complex "run from network drive" test and while it seem to work i get lots of locking errors and firefox also displays this message.
https://support.mozilla.org/en-US/kb/fix-bookmarks-and-history-will-not-be-functional?redirectlocale=en-US&as=u&redirectslug=The+bookmarks+and+history+system+will+not+be+functional&utm_source=inproduct

It seems it cannot lock certain files, i assume this is a separate locking issues and i should maybe open a new issues for this?


[524380.078145] kcifsd: create_smb2_pipe:1689: Unable to open RPC pipe: -22
[524380.085694] kcifsd: create_smb2_pipe:1689: Unable to open RPC pipe: -22
[524636.692119] kcifsd: check_lock_range:183: not allow write by shared lock
[524636.699028] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524636.705081] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/favicons.sqlite-shm err -11
[524636.724602] kcifsd: check_lock_range:183: not allow write by shared lock
[524636.731482] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524636.737553] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/favicons.sqlite-shm err -11
[524636.860176] kcifsd: check_lock_range:183: not allow write by shared lock
[524636.867095] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524636.873147] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/favicons.sqlite-shm err -11
[524636.891359] kcifsd: check_lock_range:183: not allow write by shared lock
[524636.898207] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524636.904259] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/favicons.sqlite-shm err -11
[524639.383189] kcifsd: cifsd_vfs_create:53: path create failed for /mnt/sda/2/PORTA~TB/FIREF~__/Data/profile/pkcs11.txt, err -2
[524639.446264] kcifsd: cifsd_vfs_create:53: path create failed for /mnt/sda/2/PORTA~TB/FIREF~__/Data/profile/cert9.db, err -2
[524640.633518] kcifsd: check_lock_range:183: not allow write by shared lock
[524640.640570] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524640.646637] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/webappsstore.sqlite-shm err -11
[524640.669632] kcifsd: check_lock_range:183: not allow write by shared lock
[524640.676862] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524640.682918] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/webappsstore.sqlite-shm err -11
[524640.709616] kcifsd: check_lock_range:183: not allow write by shared lock
[524640.716767] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524640.722823] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/webappsstore.sqlite-shm err -11
[524640.899221] kcifsd: check_lock_range:183: not allow write by shared lock
[524640.906253] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524640.912326] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/webappsstore.sqlite-shm err -11
[524641.291869] kcifsd: check_lock_range:183: not allow write by shared lock
[524641.298881] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524641.304926] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/1451318868ntouromlalnodry--epcr.sqlite-shm err -11
[524641.331868] kcifsd: check_lock_range:183: not allow write by shared lock
[524641.338892] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524641.344936] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/1451318868ntouromlalnodry--epcr.sqlite-shm err -11
[524641.376193] kcifsd: check_lock_range:183: not allow write by shared lock
[524641.383272] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524641.389334] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/1451318868ntouromlalnodry--epcr.sqlite-shm err -11
[524641.647515] kcifsd: check_lock_range:183: not allow write by shared lock
[524641.654574] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524641.660674] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/2918063365piupsah.sqlite-shm err -11
[524641.682983] kcifsd: check_lock_range:183: not allow write by shared lock
[524641.690002] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524641.696046] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/2918063365piupsah.sqlite-shm err -11
[524641.723664] kcifsd: check_lock_range:183: not allow write by shared lock
[524641.730639] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524641.736683] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/2918063365piupsah.sqlite-shm err -11
[524641.954518] kcifsd: check_lock_range:183: not allow write by shared lock
[524641.961520] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524641.967570] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/1657114595AmcateirvtiSty.sqlite-shm err -11
[524641.992671] kcifsd: check_lock_range:183: not allow write by shared lock
[524641.999647] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524642.005687] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/1657114595AmcateirvtiSty.sqlite-shm err -11
[524642.033523] kcifsd: check_lock_range:183: not allow write by shared lock
[524642.040521] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524642.046566] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/1657114595AmcateirvtiSty.sqlite-shm err -11
[524642.109665] kcifsd: check_lock_range:183: not allow write by shared lock
[524642.116702] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524642.122801] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/1657114595AmcateirvtiSty.sqlite-shm err -11
[524642.150890] kcifsd: check_lock_range:183: not allow write by shared lock
[524642.157982] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524642.164027] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/1657114595AmcateirvtiSty.sqlite-shm err -11
[524642.356051] kcifsd: check_lock_range:183: not allow write by shared lock
[524642.363049] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524642.369120] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/1657114595AmcateirvtiSty.sqlite-shm err -11
[524642.391580] kcifsd: check_lock_range:183: not allow write by shared lock
[524642.398505] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524642.404545] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/1657114595AmcateirvtiSty.sqlite-shm err -11
[524642.430642] kcifsd: check_lock_range:183: not allow write by shared lock
[524642.437532] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524642.443688] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/1657114595AmcateirvtiSty.sqlite-shm err -11
[524644.483847] kcifsd: check_lock_range:183: not allow write by shared lock
[524644.490718] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524644.496827] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/cookies.sqlite-shm err -11
[524644.514163] kcifsd: check_lock_range:183: not allow write by shared lock
[524644.521019] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524644.527061] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/cookies.sqlite-shm err -11
[524644.544695] kcifsd: check_lock_range:183: not allow write by shared lock
[524644.551590] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524644.557635] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/cookies.sqlite-shm err -11
[524644.578733] kcifsd: check_lock_range:183: not allow write by shared lock
[524644.585635] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524644.591682] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/cookies.sqlite-shm err -11
[524644.828328] kcifsd: check_lock_range:183: not allow write by shared lock
[524644.835244] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524644.841298] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/cookies.sqlite-shm err -11
[524644.858533] kcifsd: check_lock_range:183: not allow write by shared lock
[524644.865371] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524644.871442] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/cookies.sqlite-shm err -11
[524644.892007] kcifsd: check_lock_range:183: not allow write by shared lock
[524644.898853] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524644.904926] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/cookies.sqlite-shm err -11
[524675.389629] kcifsd: cifsd_vfs_create:53: path create failed for /mnt/sda/2/PORTA~TB/FIREF~__/Data/profile/pkcs11.txt, err -2
[524675.426521] kcifsd: cifsd_vfs_create:53: path create failed for /mnt/sda/2/PORTA~TB/FIREF~__/Data/profile/cert9.db, err -2
[524675.983784] kcifsd: check_lock_range:183: not allow write by shared lock
[524675.990687] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524675.996763] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/webappsstore.sqlite-shm err -11
[524676.017527] kcifsd: check_lock_range:183: not allow write by shared lock
[524676.024409] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524676.030495] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/webappsstore.sqlite-shm err -11
[524676.397018] kcifsd: check_lock_range:183: not allow write by shared lock
[524676.403921] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524676.409986] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/1451318868ntouromlalnodry--epcr.sqlite-shm err -11
[524676.433387] kcifsd: check_lock_range:183: not allow write by shared lock
[524676.440291] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524676.446373] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/1451318868ntouromlalnodry--epcr.sqlite-shm err -11
[524676.503949] kcifsd: check_lock_range:183: not allow write by shared lock
[524676.510861] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524676.516984] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/2918063365piupsah.sqlite-shm err -11
[524676.538344] kcifsd: check_lock_range:183: not allow write by shared lock
[524676.545202] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524676.551259] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/2918063365piupsah.sqlite-shm err -11
[524676.595353] kcifsd: check_lock_range:183: not allow write by shared lock
[524676.602204] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524676.608249] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/1657114595AmcateirvtiSty.sqlite-shm err -11
[524676.972958] kcifsd: check_lock_range:183: not allow write by shared lock
[524676.979820] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524676.985891] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/1657114595AmcateirvtiSty.sqlite-shm err -11
[524677.007697] kcifsd: check_lock_range:183: not allow write by shared lock
[524677.014600] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524677.020643] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/1657114595AmcateirvtiSty.sqlite-shm err -11
[524677.044717] kcifsd: check_lock_range:183: not allow write by shared lock
[524677.051613] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524677.057685] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/storage/permanent/chrome/idb/1657114595AmcateirvtiSty.sqlite-shm err -11
[524677.162378] kcifsd: check_lock_range:183: not allow write by shared lock
[524677.169262] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524677.175384] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/places.sqlite-shm err -11
[524677.195926] kcifsd: check_lock_range:183: not allow write by shared lock
[524677.202818] kcifsd: cifsd_vfs_truncate:1011: failed due to lock
[524677.208880] kcifsd: smb2_set_info_file:4987: truncate failed! filename : /mnt/sda/2/PortableApps/FirefoxPortable/Data/profile/places.sqlite-shm err -11
[524691.971520] kcifsd: check_lock_range:183: not allow write by shared lock
[524691.978392] kcifsd: cifsd_vfs_truncate:1011: failed due to lock

from ksmbd-tools.

namjaejeon avatar namjaejeon commented on May 28, 2024

Ah, okay, You don't need to open newly. I will check it!

from ksmbd-tools.

namjaejeon avatar namjaejeon commented on May 28, 2024

FIXED. Please check the latest master.
PS: Install portableapp again after removing all as well as firefox.

from ksmbd-tools.

Andy2244 avatar Andy2244 commented on May 28, 2024

@namjaejeon ok Firefox now works correctly thanks, which should cover most other programs. The only other harder case i know of is running MS-Office from a share, which is really a edge case.

PS: I still got this once after a fresh reinstall of potableapps, not sure maybe that's just the initial probing for the file?
kern.err kernel: [869378.638707] kcifsd: cifsd_vfs_create:53: path create failed for /mnt/sda/2/PortableApps/PortableApps.com/Data/PortableAppsMenu.ini, err -2

from ksmbd-tools.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.