Opened 5 years ago

Closed 5 years ago

#3720 closed defect (fixed)

temporal modules fail with python 3

Reported by: veroandreo Owned by: grass-dev@…
Priority: critical Milestone: 7.8.0
Component: Temporal Version: svn-trunk
Keywords: temporal, python3 Cc:
CPU: x86-64 Platform: Linux

Description

Temporal modules do not work with python3 in virtualenv. In a mapset where I have strds, I run t.list and I get:

Process Process-2:
Traceback (most recent call last):
  File "/usr/lib64/python3.6/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/usr/lib64/python3.6/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/home/veroandreo/software/grass7_trunk/dist.x86_64-pc-linux-gnu/etc/python/grass/temporal/c_libraries_interface.py", line 959, in c_library_server
    functions[data[0]](lock, conn, data)
  File "/home/veroandreo/software/grass7_trunk/dist.x86_64-pc-linux-gnu/etc/python/grass/temporal/c_libraries_interface.py", line 241, in _get_driver_name
    drstring = libtgis.tgis_get_mapset_driver_name(mapset)
ctypes.ArgumentError: argument 1: <class 'TypeError'>: expected LP_c_char instance, got bytes
WARNING:root:Needed to restart the libgis server, caller: Server check thread
Traceback (most recent call last):
  File "/home/veroandreo/software/grass7_trunk/dist.x86_64-pc-linux-gnu/etc/python/grass/pygrass/rpc/base.py", line 161, in safe_receive
    ret = self.client_conn.recv()
  File "/usr/lib64/python3.6/multiprocessing/connection.py", line 250, in recv
    buf = self._recv_bytes()
  File "/usr/lib64/python3.6/multiprocessing/connection.py", line 407, in _recv_bytes
    buf = self._recv(4)
  File "/usr/lib64/python3.6/multiprocessing/connection.py", line 383, in _recv
    raise EOFError
EOFError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/veroandreo/software/grass7_trunk/dist.x86_64-pc-linux-gnu/scripts/t.list", line 186, in <module>
    main()
  File "/home/veroandreo/software/grass7_trunk/dist.x86_64-pc-linux-gnu/scripts/t.list", line 112, in main
    tgis.init()
  File "/home/veroandreo/software/grass7_trunk/dist.x86_64-pc-linux-gnu/etc/python/grass/temporal/core.py", line 571, in init
    driver_string = ciface.get_driver_name()
  File "/home/veroandreo/software/grass7_trunk/dist.x86_64-pc-linux-gnu/etc/python/grass/temporal/c_libraries_interface.py", line 1487, in get_driver_name
    return self.safe_receive("get_driver_name")
  File "/home/veroandreo/software/grass7_trunk/dist.x86_64-pc-linux-gnu/etc/python/grass/pygrass/rpc/base.py", line 168, in safe_receive
    raise FatalError("Exception raised: " + str(e) + " Message: " + message)
grass.exceptions.FatalError: Exception raised:  Message: get_driver_name
WARNING:root:Needed to restart the libgis server, caller: Server check thread

Same if I try to create a stds with t.create, ask info with t.info and so on...

All temporal functionality is up and running in 76 release branch though.

See also #3682

Change History (4)

comment:1 by annakrat, 5 years ago

Please try again after recent changes.

comment:2 by veroandreo, 5 years ago

I just tried, it is working as expected right now, also the algebra (#3682).

However, I still get the following warning after each run of any temporal module: WARNING:root:Needed to restart the libgis server, caller: Server check thread. What does that mean?

in reply to:  2 comment:3 by annakrat, 5 years ago

Replying to veroandreo:

I just tried, it is working as expected right now, also the algebra (#3682).

However, I still get the following warning after each run of any temporal module: WARNING:root:Needed to restart the libgis server, caller: Server check thread. What does that mean?

I looked at it briefly, but no idea. Perhaps close this ticket and create a new one for this.

comment:4 by veroandreo, 5 years ago

Resolution: fixed
Status: newclosed

Closing since functionality seems to be restored. I will open a new ticket for the warning message described above. Thanks Anna :)

Note: See TracTickets for help on using tickets.