bugst / go-serial

A cross-platform serial library for go-lang.
BSD 3-Clause "New" or "Revised" License
657 stars 199 forks source link

Conflicts with github.com/mattn/go-sqlite3 #116

Closed 002269 closed 3 years ago

002269 commented 3 years ago

Conflicts with github.com/mattn/go-sqlite3

cmaglie commented 3 years ago

How? Can you be more specific?

002269 commented 3 years ago
package main

import (
    "log"

    _ "github.com/mattn/go-sqlite3"
    "go.bug.st/serial"
)

func main() {
    ports, err := serial.GetPortsList()
    if err != nil {
        log.Fatal(err)
    }

    for _, port := range ports {
        _, err := serial.Open(port, &serial.Mode{
            BaudRate: 115200,
            DataBits: 8,
            Parity:   serial.EvenParity,
            StopBits: serial.OneStopBit,
        })
        if err != nil {
            continue
        }
    }
}

=========================================================================

fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0xb01dfacedebac1e pc=0x7fff20353c9e]

runtime stack:
runtime: unexpected return pc for runtime.sigpanic called from 0x7fff20353c9e
stack: frame={sp:0x7ffeefbff948, fp:0x7ffeefbff998} stack=[0x7ffeefb809e8,0x7ffeefbffa50)
0x00007ffeefbff848:  0x01007ffeefbff868  0x0000000000000004
0x00007ffeefbff858:  0x000000000000001f  0x00007fff20353c9e
0x00007ffeefbff868:  0x0b01dfacedebac1e  0x0000000000000001
0x00007ffeefbff878:  0x0000000004033a11 <runtime.throw+0x0000000000000071>  0x00007ffeefbff918
0x00007ffeefbff888:  0x0000000004275b57  0x00007ffeefbff8d0
0x00007ffeefbff898:  0x0000000004033cc8 <runtime.fatalthrow.func1+0x0000000000000048>  0x000000000438b440
0x00007ffeefbff8a8:  0x0000000000000001  0x0000000000000001
0x00007ffeefbff8b8:  0x00007ffeefbff918  0x0000000004033a11 <runtime.throw+0x0000000000000071>
0x00007ffeefbff8c8:  0x000000000438b440  0x00007ffeefbff908
0x00007ffeefbff8d8:  0x0000000004033c50 <runtime.fatalthrow+0x0000000000000050>  0x00007ffeefbff8e8
0x00007ffeefbff8e8:  0x0000000004033c80 <runtime.fatalthrow.func1+0x0000000000000000>  0x000000000438b440
0x00007ffeefbff8f8:  0x0000000004033a11 <runtime.throw+0x0000000000000071>  0x00007ffeefbff918
0x00007ffeefbff908:  0x00007ffeefbff938  0x0000000004033a11 <runtime.throw+0x0000000000000071>
0x00007ffeefbff918:  0x00007ffeefbff920  0x0000000004033a40 <runtime.throw.func1+0x0000000000000000>
0x00007ffeefbff928:  0x000000000427849e  0x000000000000002a
0x00007ffeefbff938:  0x00007ffeefbff988  0x0000000004049016 <runtime.sigpanic+0x0000000000000396>
0x00007ffeefbff948: <0x000000000427849e  0x000000000438b5e0
0x00007ffeefbff958:  0x00007ffeefbff978  0x0000000004051d74 <runtime.pthread_mutex_unlock+0x0000000000000034>
0x00007ffeefbff968:  0x000000c000242000  0x0000000000002000
0x00007ffeefbff978:  0x00007ffeefbff9a0  0x0000000004030185 <runtime.semawakeup+0x0000000000000085>
0x00007ffeefbff988:  0x00007ffeefbff9d0 !0x00007fff20353c9e
0x00007ffeefbff998: >0x00007ffeefbff9d0  0x000000000436a000
0x00007ffeefbff9a8:  0x00000000000002b2  0x00000000040f4c85 <golang.org/x/sys/unix.libc_ioctl_trampoline+0x0000000000000005>
0x00007ffeefbff9b8:  0x000000000406443f <runtime.syscall+0x000000000000001f>  0x000000c000147df0
0x00007ffeefbff9c8:  0x000000000403e2b4 <runtime.exitsyscallfast_pidle+0x0000000000000074>  0x000000c000147dc0
0x00007ffeefbff9d8:  0x00000000040622d0 <runtime.asmcgocall+0x0000000000000070>  0x00007ffeefbffa10
0x00007ffeefbff9e8:  0x000000000403e0b8 <runtime.exitsyscallfast.func1+0x0000000000000038>  0x3800000000001018
0x00007ffeefbff9f8:  0x000000c000026000  0x000000c0000001a0
0x00007ffeefbffa08:  0x0000000000000268  0x000000c0000001a0
0x00007ffeefbffa18:  0x00000000040603e9 <runtime.systemstack+0x0000000000000049>  0x0000000000000004
0x00007ffeefbffa28:  0x000000000429c5e0  0x000000000438b440
0x00007ffeefbffa38:  0x00007ffeefbffa80  0x00000000040602e5 <runtime.mstart+0x0000000000000005>
0x00007ffeefbffa48:  0x000000000406029d <runtime.rt0_go+0x000000000000013d>
runtime.throw({0x427849e, 0x438b5e0})
        /usr/local/go/src/runtime/panic.go:1198 +0x71
runtime: unexpected return pc for runtime.sigpanic called from 0x7fff20353c9e
stack: frame={sp:0x7ffeefbff948, fp:0x7ffeefbff998} stack=[0x7ffeefb809e8,0x7ffeefbffa50)
0x00007ffeefbff848:  0x01007ffeefbff868  0x0000000000000004
0x00007ffeefbff858:  0x000000000000001f  0x00007fff20353c9e
0x00007ffeefbff868:  0x0b01dfacedebac1e  0x0000000000000001
0x00007ffeefbff878:  0x0000000004033a11 <runtime.throw+0x0000000000000071>  0x00007ffeefbff918
0x00007ffeefbff888:  0x0000000004275b57  0x00007ffeefbff8d0
0x00007ffeefbff898:  0x0000000004033cc8 <runtime.fatalthrow.func1+0x0000000000000048>  0x000000000438b440
0x00007ffeefbff8a8:  0x0000000000000001  0x0000000000000001
0x00007ffeefbff8b8:  0x00007ffeefbff918  0x0000000004033a11 <runtime.throw+0x0000000000000071>
0x00007ffeefbff8c8:  0x000000000438b440  0x00007ffeefbff908
0x00007ffeefbff8d8:  0x0000000004033c50 <runtime.fatalthrow+0x0000000000000050>  0x00007ffeefbff8e8
0x00007ffeefbff8e8:  0x0000000004033c80 <runtime.fatalthrow.func1+0x0000000000000000>  0x000000000438b440
0x00007ffeefbff8f8:  0x0000000004033a11 <runtime.throw+0x0000000000000071>  0x00007ffeefbff918
0x00007ffeefbff908:  0x00007ffeefbff938  0x0000000004033a11 <runtime.throw+0x0000000000000071>
0x00007ffeefbff918:  0x00007ffeefbff920  0x0000000004033a40 <runtime.throw.func1+0x0000000000000000>
0x00007ffeefbff928:  0x000000000427849e  0x000000000000002a
0x00007ffeefbff938:  0x00007ffeefbff988  0x0000000004049016 <runtime.sigpanic+0x0000000000000396>
0x00007ffeefbff948: <0x000000000427849e  0x000000000438b5e0
0x00007ffeefbff958:  0x00007ffeefbff978  0x0000000004051d74 <runtime.pthread_mutex_unlock+0x0000000000000034>
0x00007ffeefbff968:  0x000000c000242000  0x0000000000002000
0x00007ffeefbff978:  0x00007ffeefbff9a0  0x0000000004030185 <runtime.semawakeup+0x0000000000000085>
0x00007ffeefbff988:  0x00007ffeefbff9d0 !0x00007fff20353c9e
0x00007ffeefbff998: >0x00007ffeefbff9d0  0x000000000436a000
0x00007ffeefbff9a8:  0x00000000000002b2  0x00000000040f4c85 <golang.org/x/sys/unix.libc_ioctl_trampoline+0x0000000000000005>
0x00007ffeefbff9b8:  0x000000000406443f <runtime.syscall+0x000000000000001f>  0x000000c000147df0
0x00007ffeefbff9c8:  0x000000000403e2b4 <runtime.exitsyscallfast_pidle+0x0000000000000074>  0x000000c000147dc0
0x00007ffeefbff9d8:  0x00000000040622d0 <runtime.asmcgocall+0x0000000000000070>  0x00007ffeefbffa10
0x00007ffeefbff9e8:  0x000000000403e0b8 <runtime.exitsyscallfast.func1+0x0000000000000038>  0x3800000000001018
0x00007ffeefbff9f8:  0x000000c000026000  0x000000c0000001a0
0x00007ffeefbffa08:  0x0000000000000268  0x000000c0000001a0
0x00007ffeefbffa18:  0x00000000040603e9 <runtime.systemstack+0x0000000000000049>  0x0000000000000004
0x00007ffeefbffa28:  0x000000000429c5e0  0x000000000438b440
0x00007ffeefbffa38:  0x00007ffeefbffa80  0x00000000040602e5 <runtime.mstart+0x0000000000000005>
0x00007ffeefbffa48:  0x000000000406029d <runtime.rt0_go+0x000000000000013d>
runtime.sigpanic()
        /usr/local/go/src/runtime/signal_unix.go:719 +0x396

goroutine 1 [syscall]:
syscall.syscall(0x40f4c80, 0x3, 0x40487413, 0xc0000220a0)
        /usr/local/go/src/runtime/sys_darwin.go:22 +0x3b fp=0xc000147df0 sp=0xc000147dd0 pc=0x405f1db
syscall.syscall(0x400e587, 0x48, 0x4267520, 0xc000205501)
        <autogenerated>:1 +0x26 fp=0xc000147e38 sp=0xc000147df0 pc=0x4064bc6
golang.org/x/sys/unix.ioctl(0xc000147e90, 0x400e587, 0x38)
        /Users/pkg/mod/golang.org/x/sys@v0.0.0-20210423082822-04245dca01da/unix/zsyscall_darwin_amd64.go:690 +0x39 fp=0xc000147e68 sp=0xc000147e38 pc=0x40f43d9
golang.org/x/sys/unix.IoctlGetTermios(...)
        /Users/pkg/mod/golang.org/x/sys@v0.0.0-20210423082822-04245dca01da/unix/ioctl.go:73
go.bug.st/serial.(*unixPort).getTermSettings(0xc00001c120)
        /Users/pkg/mod/go.bug.st/serial@v1.3.1/serial_unix.go:421 +0x3f fp=0xc000147ea0 sp=0xc000147e68 pc=0x41127df
go.bug.st/serial.nativeOpen({0xc00001c120, 0x405e2bb}, 0xc0000001a0)
        /Users/mod/go.bug.st/serial@v1.3.1/serial_unix.go:222 +0x109 fp=0xc000147f08 sp=0xc000147ea0 pc=0x41120e9
go.bug.st/serial.Open(...)
        /Users/pkg/mod/go.bug.st/serial@v1.3.1/serial.go:67
main.main()
        /Users/serial/test/test3/test3.go:18 +0xcd fp=0xc000147f80 sp=0xc000147f08 pc=0x411302d
runtime.main()
        /usr/local/go/src/runtime/proc.go:255 +0x227 fp=0xc000147fe0 sp=0xc000147f80 pc=0x40360a7
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc000147fe8 sp=0xc000147fe0 pc=0x40625c1
cmaglie commented 3 years ago

It's a duplicate of #115, let's continue the discussion there...