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 process crashed after 10 months smooth running #473

Closed
yourchanges opened this issue Mar 23, 2017 · 3 comments
Closed

Master process crashed after 10 months smooth running #473

yourchanges opened this issue Mar 23, 2017 · 3 comments

Comments

@yourchanges
Copy link
Contributor

yourchanges commented Mar 23, 2017

@chrislusf Could you help me to find out the problem?

ENV: production
version: 0.71.beta
source tree: https://github.com/chrislusf/seaweedfs/tree/d0dbf6d2eafc0a8758427870a8536f2fe1b82cc6
start args:

nohup ./weed master -ip="0.0.0.0" -defaultReplication="000" -mdir="./meta" &

nohup ./weed volume -max=9999 -mserver="localhost:9333" -dir="./data/v1" -port=5083 -ip="x.x.x.x" -dataCenter="dc1" -rack="rack1" &

the weed server serv 1TB small files, and the master process crashed suddenly, but the volume works well.

crash logs:

I0322 17:36:49 18067 volume_layout.go:193] Volume 129 has 0 replica, less than required 1
I0322 17:36:49 18067 volume_layout.go:169] Volume 129 becomes unwritable
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0xa8 pc=0x8388fe]

goroutine 12 [running]:
panic(0xc7bb40, 0xc8200100f0)
	/opt/dev/go/src/runtime/panic.go:481 +0x3e6
github.com/chrislusf/seaweedfs/weed/topology.(*Topology).UnRegisterDataNode(0xc8201a02a0, 0xc8203b23c0)
	/opt/dev/gowork/src/github.com/chrislusf/seaweedfs/weed/topology/topology_event_handling.go:65 +0x4ae
github.com/chrislusf/seaweedfs/weed/topology.(*Topology).StartRefreshWritableVolumes.func3(0xc8201a02a0)
	/opt/dev/gowork/src/github.com/chrislusf/seaweedfs/weed/topology/topology_event_handling.go:38 +0x3ac
created by github.com/chrislusf/seaweedfs/weed/topology.(*Topology).StartRefreshWritableVolumes
	/opt/dev/gowork/src/github.com/chrislusf/seaweedfs/weed/topology/topology_event_handling.go:42 +0x91

related codes:

func (t *Topology) UnRegisterDataNode(dn *DataNode) {
	for _, v := range dn.GetVolumes() {
		glog.V(0).Infoln("Removing Volume", v.Id, "from the dead volume server", dn)
		vl := t.GetVolumeLayout(v.Collection, v.ReplicaPlacement, v.Ttl)
		vl.SetVolumeUnavailable(dn, v.Id)
	}
	dn.UpAdjustVolumeCountDelta(-dn.GetVolumeCount())
	dn.UpAdjustActiveVolumeCountDelta(-dn.GetActiveVolumeCount())
	dn.UpAdjustMaxVolumeCountDelta(-dn.GetMaxVolumeCount())
	dn.Parent().UnlinkChildNode(dn.Id())
}

It seems that the dn.Parent() is nil, and cased by my disk issue? or any reasons ?

@yourchanges yourchanges changed the title Master process crashed after 10 month smooth running Master process crashed after 10 months smooth running Mar 23, 2017
@yourchanges
Copy link
Contributor Author

or has been fixed?

@chrislusf
Copy link
Collaborator

The latest code is very different now. How about try it with the latest version?

@yourchanges
Copy link
Contributor Author

yourchanges commented Mar 23, 2017

yeah, I can.

but as you known, maybe we need one year or more to repeat it.

and you can check out this version to check code: https://github.com/chrislusf/seaweedfs/tree/d0dbf6d2eafc0a8758427870a8536f2fe1b82cc6

simpcl pushed a commit to simpcl/seaweedfs that referenced this issue Jul 16, 2022
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

No branches or pull requests

2 participants