App crashes when ever I use geofire giving a thread! : SIGABRT error

keysInCircle is the name of array of strings that has the keys to users inside the query range.

postData is the array of users that is used by tableView to populate the view.

My app gives a thread! : SIGABRT error in my appdelegate file whenever I run the tab containing the geofire.

It is also gives an error:

libc++abi.dylib: terminating with uncaught exception of type NSException.

//Location Functions

func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
    guard let _ : CLLocationCoordinate2D = manager.location?.coordinate else{

    geoFire!.setLocation(locations.last!, forKey: Auth.auth().currentUser!.uid)

    InRange(location: locations.last!)

    for ids in keysInCircle{
        fetchInformation(idlabel: ids)


func InRange(location:CLLocation){

    var query = geoFire?.query(at: location, withRadius: 0.25)

    query?.observe(.keyEntered, with: { (key, qloc) in
        if(key != Auth.auth().currentUser?.uid && !self.keysInCircle.contains(key)){

    query?.observeReady {


func fetchInformation(idlabel:String){

    let userDbRef:DatabaseReference = Database.database().reference().child("Users").child(idlabel)

    userDbRef.observe(.value, with: { (snapshot) in

            if let post:[String:Any] = snapshot.value as? Dictionary
                let name = post["name"] as? String

                var url = post["profileImageUrl"] as? String
                if url == nil{
                    url = "default"

                let id = snapshot.key

                var college = post["college"] as? String
                if college == nil{
                    college = "Other"

                let tableUser = user(_objectId: id, _name: name!, _url: url!, _college: college!)