Closed fabled closed 3 years ago
I've blindly fixed the problem. Could you please retest and confirm that the fix works?
Seems the same test case does not immediately cause issues anymore. So likely fixed. Thanks for the quick fix!
I'll close this bug just after the next release. Please, keep it open for now.
New panic running git revision 5f743231ae0e09807d15f68a92a174bda41f29aa when AVAHI not running but device is connected:
> HP Color LaserJet FlowMFP M578 [7839F2]: _http._tcp TXT record:
DNS-SD: HP Color LaserJet FlowMFP M578 [7839F2] (USB): trying
DNS-SD: FQDN: ""
- Bus 001 Device 004: resetting HP Color LaserJet FlowMFP M578
USB[0]: closed
USB[1]: closed
USB[2]: closed
USB[3]: closed
- Bus 001 Device 004: removed HP Color LaserJet FlowMFP M578
! PNP Bus 001 Device 004: AVAHI: Bad state
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x80 addr=0x0 pc=0x7f9a814553db]
runtime stack:
runtime.throw(0x765893, 0x2a)
/usr/lib/go/src/runtime/panic.go:1116 +0x72
runtime.sigpanic()
/usr/lib/go/src/runtime/signal_unix.go:726 +0x4ac
goroutine 34 [syscall]:
runtime.cgocall(0x6c3e00, 0xc00004ab50, 0xc0002e9c00)
/usr/lib/go/src/runtime/cgocall.go:133 +0x5b fp=0xc00004ab20 sp=0xc00004aae8 pc=0x40715b
main._Cfunc_libusb_bulk_transfer(0x7f9a81464c00, 0xc000410182, 0xc000388000, 0x2000, 0xc000410168, 0x0, 0x0)
_cgo_gotypes.go:606 +0x4d fp=0xc00004ab50 sp=0xc00004ab20 pc=0x6b850d
main.(*UsbInterface).Recv.func1(0xc000198680, 0xc000388000, 0x2000, 0x2000, 0xc000410168, 0x0, 0x7721d0)
/home/tteras/oss/ipp-usb/usbio_libusb.go:638 +0xc5 fp=0xc00004aba8 sp=0xc00004ab50 pc=0x6c14a5
main.(*UsbInterface).Recv(0xc000198680, 0xc000388000, 0x2000, 0x2000, 0x0, 0xc00004ac90, 0x1, 0x1)
/home/tteras/oss/ipp-usb/usbio_libusb.go:638 +0x8f fp=0xc00004ac18 sp=0xc00004aba8 pc=0x6be6cf
main.(*usbConn).Read(0xc00019a720, 0xc000388000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
/home/tteras/oss/ipp-usb/usbtransport.go:595 +0x227 fp=0xc00004ad28 sp=0xc00004ac18 pc=0x6b5c07
bufio.(*Reader).Read(0xc00018eae0, 0xc000388000, 0x2000, 0x2000, 0xc000038dd8, 0x941100, 0xc000038e60)
/usr/lib/go/src/bufio/bufio.go:213 +0x142 fp=0xc00004ad78 sp=0xc00004ad28 pc=0x567f02
net/http.(*body).readLocked(0xc00021a0c0, 0xc000388000, 0x2000, 0x2000, 0x92dfe0, 0xc000180800, 0x0)
/usr/lib/go/src/net/http/transfer.go:833 +0x5f fp=0xc00004add8 sp=0xc00004ad78 pc=0x66333f
net/http.(*body).Read(0xc00021a0c0, 0xc000388000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
/usr/lib/go/src/net/http/transfer.go:825 +0xf9 fp=0xc00004ae40 sp=0xc00004add8 pc=0x663259
io/ioutil.devNull.ReadFrom(0x0, 0x7f9a5a64e698, 0xc00021a0c0, 0x706780, 0x72cb01, 0x7f9a5a529ba0)
/usr/lib/go/src/io/ioutil/ioutil.go:144 +0x92 fp=0xc00004aeb0 sp=0xc00004ae40 pc=0x5846b2
io/ioutil.(*devNull).ReadFrom(0x9a1f80, 0x7f9a5a64e698, 0xc00021a0c0, 0x7f9a5a529ba0, 0x9a1f80, 0x1)
<autogenerated>:1 +0x50 fp=0xc00004aef0 sp=0xc00004aeb0 pc=0x584d10
io.copyBuffer(0x7bc520, 0x9a1f80, 0x7f9a5a64e698, 0xc00021a0c0, 0x0, 0x0, 0x0, 0xc00019e090, 0x0, 0x0)
/usr/lib/go/src/io/io.go:395 +0x2ff fp=0xc00004af68 sp=0xc00004aef0 pc=0x4a24df
io.Copy(...)
/usr/lib/go/src/io/io.go:368
main.(*usbResponseBodyWrapper).Close.func1(0xc00021a100)
/home/tteras/oss/ipp-usb/usbtransport.go:491 +0xab fp=0xc00004afd8 sp=0xc00004af68 pc=0x6bf06b
runtime.goexit()
/usr/lib/go/src/runtime/asm_amd64.s:1374 +0x1 fp=0xc00004afe0 sp=0xc00004afd8 pc=0x46dde1
created by main.(*usbResponseBodyWrapper).Close
/home/tteras/oss/ipp-usb/usbtransport.go:483 +0xc7
goroutine 1 [select]:
main.PnPStart(0x7f9a81483200, 0x0)
/home/tteras/oss/ipp-usb/pnp.go:127 +0x3b1
main.main()
/home/tteras/oss/ipp-usb/main.go:244 +0x52c
goroutine 6 [syscall]:
main._Cfunc_libusb_handle_events(0x7f9a814832b0, 0xc000000000)
_cgo_gotypes.go:838 +0x49
main.libusbContext.func3.1(0x0)
/home/tteras/oss/ipp-usb/usbio_libusb.go:132 +0x58
main.libusbContext.func3()
/home/tteras/oss/ipp-usb/usbio_libusb.go:132 +0x25
created by main.libusbContext
/home/tteras/oss/ipp-usb/usbio_libusb.go:129 +0x136
goroutine 8 [syscall]:
os/signal.signal_recv(0x0)
/usr/lib/go/src/runtime/sigqueue.go:147 +0x9d
os/signal.loop()
/usr/lib/go/src/os/signal/signal_unix.go:23 +0x25
created by os/signal.Notify.func1.1
/usr/lib/go/src/os/signal/signal.go:150 +0x45
Another crash when AVAHI is stopped duing ipp-usb
runtime:
! DNS-SD: HP Color LaserJet FlowMFP M578 [7839F2] (USB): AVAHI: Bad state
! panic: runtime error: invalid memory address or nil pointer dereference
!
! goroutine 39 [running]:
! runtime/debug.Stack(0xc00010eaa0, 0x1, 0x481e21)
! /usr/lib/go/src/runtime/debug/stack.go:24 +0x9f
! main.(*Logger).Panic(0xc00010eaa0, 0x6ff160, 0x92cbf0)
! /home/tteras/oss/ipp-usb/logger.go:233 +0xf4
! main.(*DNSSdPublisher).goroutine.func1()
! /home/tteras/oss/ipp-usb/dnssd.go:204 +0x4d
! panic(0x6ff160, 0x92cbf0)
! /usr/lib/go/src/runtime/panic.go:969 +0x1b9
! main.(*dnssdSysdep).Chan(...)
! /home/tteras/oss/ipp-usb/dnssd_avahi.go:225
! main.(*DNSSdPublisher).goroutine(0xc0001a65a0)
! /home/tteras/oss/ipp-usb/dnssd.go:225 +0x14d
! created by main.(*DNSSdPublisher).Publish
! /home/tteras/oss/ipp-usb/dnssd.go:155 +0x1a5
Got it, will investigate.
You also promised to test latest sane-airscan
changes against HP Color LaserJet FlowMFP M578...
You also promised to test latest
sane-airscan
changes against HP Color LaserJet FlowMFP M578...
Yes, so far all features work as expected. No issues with multi page duplex ADF jobs, nor flatbed. But I created https://github.com/alexpevzner/sane-airscan/issues/116 to request making this quirk handling more generic.
Hi!
I believe, I've fixed all issues (spurious panic and #22). Please, retest.
Ping
I had time for quick test only. The avani not running related panic that was reproducible is fixed. Thank you!
I had quite limited time to test, so I am not fully certain of the other panic's status. However, no panic so far. So looking good.
Fixed in 0.9.17